]> code.delx.au - refind/commitdiff
Version 0.2.3
authorsrs5694 <srs5694@users.sourceforge.net>
Mon, 26 Mar 2012 22:31:52 +0000 (18:31 -0400)
committersrs5694 <srs5694@users.sourceforge.net>
Mon, 26 Mar 2012 22:31:52 +0000 (18:31 -0400)
14 files changed:
NEWS.txt
docs/refind/bootmode.html
docs/refind/configfile.html
docs/refind/features.html
docs/refind/getting.html
docs/refind/index.html
docs/refind/installing.html
docs/refind/linux.html
docs/refind/revisions.html
docs/refind/todo.html
docs/refind/using.html
mkdistrib
refind/config.c
refind/main.c

index 946ec9832257cbd1bf810bc04de11ed5c8679103..abfad768ec8349ed8a8f8d7d5713d64f0c98e445 100644 (file)
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -1,4 +1,4 @@
-0.2.3 (?/??/2012):
+0.2.3 (3/26/2012):
 ------------------
 
 - Fixed (maybe) a bug that caused hangs when launching a second program
index 8b3e61e48878e4971defe5fc58a4a5a59f8f098d..87bd5c763994c301059fc9855b7b552240447033 100644 (file)
@@ -14,7 +14,7 @@
   <p class="subhead">by Roderick W. Smith, <a
 href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
-  <p>Originally written: 3/14/2012; last Web page update: 3/23/2012, referencing rEFInd 0.2.2</p>
+  <p>Originally written: 3/14/2012; last Web page update: 3/26/2012, referencing rEFInd 0.2.3</p>
 
 
 <p>I'm a technical writer and consultant specializing in Linux technologies. This Web page is provided free of charge and with no annoying outside ads; however, I did take time to prepare it, and Web hosting does cost money. If you find this Web page useful, please consider making a small donation to help keep this site up and running. Thanks!</p>
index 00fdc665565b180693eee2c0450ed2bc089e606b..9c3b9b11275eebb24266c6a470cbc10e472979b8 100644 (file)
@@ -14,7 +14,7 @@
   <p class="subhead">by Roderick W. Smith, <a
 href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
-  <p>Originally written: 3/14/2012; last Web page update: 3/23/2012, referencing rEFInd 0.2.2</p>
+  <p>Originally written: 3/14/2012; last Web page update: 3/26/2012, referencing rEFInd 0.2.3</p>
 
 
 <p>I'm a technical writer and consultant specializing in Linux technologies. This Web page is provided free of charge and with no annoying outside ads; however, I did take time to prepare it, and Web hosting does cost money. If you find this Web page useful, please consider making a small donation to help keep this site up and running. Thanks!</p>
index 6ebadfc88e1c47da54fbbf39e3bf7d1ec94a1a44..7b045d742e1a309206c07e87aecbef7240367cab 100644 (file)
@@ -14,7 +14,7 @@
   <p class="subhead">by Roderick W. Smith, <a
 href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
-  <p>Originally written: 3/14/2012; last Web page update: 3/23/2012, referencing rEFInd 0.2.2</p>
+  <p>Originally written: 3/14/2012; last Web page update: 3/26/2012, referencing rEFInd 0.2.3</p>
 
 
 <p>I'm a technical writer and consultant specializing in Linux technologies. This Web page is provided free of charge and with no annoying outside ads; however, I did take time to prepare it, and Web hosting does cost money. If you find this Web page useful, please consider making a small donation to help keep this site up and running. Thanks!</p>
index b741db1f2818aef1261e2e9f95f4611e048f0b17..7b1aefacacae94127d3d78eba53593a3c2c68e35 100644 (file)
@@ -14,7 +14,7 @@
   <p class="subhead">by Roderick W. Smith, <a
 href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
-  <p>Originally written: 3/14/2012; last Web page update: 3/23/2012, referencing rEFInd 0.2.2</p>
+  <p>Originally written: 3/14/2012; last Web page update: 3/26/2012, referencing rEFInd 0.2.3</p>
 
 <p>I'm a technical writer and consultant specializing in Linux technologies. This Web page is provided free of charge and with no annoying outside ads; however, I did take time to prepare it, and Web hosting does cost money. If you find this Web page useful, please consider making a small donation to help keep this site up and running. Thanks!</p>
 
@@ -90,12 +90,14 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <p><b>Note:</b> I consider rEFInd to be <i>alpha-quality software!</i> Although rEFIt 0.14, upon which rEFInd is based, is beta-quality, I've changed a great deal of the code, and I'm still learning about it. I'm discovering bugs (old and new) and fixing them every day or two. That said, rEFInd is a usable program in its current form on many systems. If you have problems, feel free to drop me a line.</p>
 
+<h2>Getting rEFInd from Sourceforge</h2>
+
 <p>You can find the rEFInd source code and binary packages at <a href="http://www.sourceforge.net/projects/refind/">its SourceForge page.</a> Note that rEFInd is OS-independent&mdash;it runs before the OS, so you download the same binary package for any OS. You can obtain rEFInd in three different forms:</p>
 
 <ul>
 
 <li><b><a
-    href="http://sourceforge.net/projects/refind/files/0.2.2/refind-src-0.2.2.zip/download">A
+    href="http://sourceforge.net/projects/refind/files/0.2.3/refind-src-0.2.3.zip/download">A
     source code zip file</a></b>&mdash;This is useful if you want to
     compile the software locally. Note that I use Linux with the <a
     href="http://sourceforge.net/projects/gnu-efi">GNU-EFI</a> development
@@ -104,7 +106,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
     it.</li>
 
 <li><b><a
-    href="http://sourceforge.net/projects/refind/files/0.2.2/refind-bin-0.2.2.zip/download">A
+    href="http://sourceforge.net/projects/refind/files/0.2.3/refind-bin-0.2.3.zip/download">A
     binary zip file</a></b>&mdash;Download this if you want to install
     rEFInd on an x86 or x86-64 computer and have no need to test rEFInd
     first by booting it on an optical disc. This zip file package includes
@@ -113,7 +115,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
     the <a href="installing.html">Installing rEFInd</a> page.</li>
 
 <li><b><a
-    href="http://sourceforge.net/projects/refind/files/0.2.2/refind-cd-0.2.2.zip/download">A
+    href="http://sourceforge.net/projects/refind/files/0.2.3/refind-cd-0.2.3.zip/download">A
     CD-R image file</a></b>&mdash;This download contains the same files as
     the zip file, but you can burn it to a CD-R to test rEFInd without
     installing it first. If you like it, you can then copy the files from
@@ -129,6 +131,12 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <p>If you download a zip file, you'll need to extract the files with a tool such as <tt>unzip</tt>, which is included with Linux and Mac OS X. Numerous Windows utilities also support this format, such as <a href="http://www.pkware.com/software/pkzip/">PKZIP</a> and <a href="http://www.7-zip.org/">7-Zip.</a></p>
 
+<h2>Getting rEFInd from Your OS's Repositories</h2>
+
+<p>If you use Arch Linux, you can obtain rEFInd from its repositories, in both <a href="https://aur.archlinux.org/packages.php?ID=57632">stable</a> and <a href="https://aur.archlinux.org/packages.php?ID=57966">git (experimental)</a> releases. The git release is likely to include pre-release bug fixes and new features, but those features may be poorly tested or undocumented.</p>
+
+<p>To the best of my knowledge, no other Linux distribution yet includes rEFInd in its repositories. That's likely to change in time. If you hear of rEFInd being included in an OS's official package set, feel free to <a href="mailto:rodsmith@rodsbooks.com">drop me a line.</a></p>
+
 <hr />
 
 <p>copyright &copy; 2012 by Roderick W. Smith</p>
index 9d2457bcb4a469dda5aa94662fc831a7fed02a69..432e913d3fa57f50e49e4748d80c5f18613579ee 100644 (file)
@@ -14,7 +14,7 @@
   <p class="subhead">by Roderick W. Smith, <a
 href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
-  <p>Originally written: 3/14/2012; last Web page update: 3/23/2012, referencing rEFInd 0.2.2</p>
+  <p>Originally written: 3/14/2012; last Web page update: 3/26/2012, referencing rEFInd 0.2.3</p>
 
 
 <p>I'm a technical writer and consultant specializing in Linux technologies. This Web page is provided free of charge and with no annoying outside ads; however, I did take time to prepare it, and Web hosting does cost money. If you find this Web page useful, please consider making a small donation to help keep this site up and running. Thanks!</p>
@@ -89,9 +89,9 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <p>This page describes rEFInd, my fork of the <a href="http://refit.sourceforge.net">rEFIt</a> boot manager for computers based on the <a href="http://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface">Extensible Firmware Interface (EFI) and Unified EFI (UEFI).</a> Like rEFIt, rEFInd is a <i>boot manager,</i> meaning that it presents a menu of options to the user when the computer first starts up, as shown below. rEFInd is not a <i>boot loader,</i> which is a program that loads an OS kernel and hands off control to it. Many popular boot managers, such as <a href="http://www.gnu.org/software/grub/">the Grand Unified Bootloader (GRUB),</a> are also boot loaders, which can blur the distinction in many users' minds. rEFInd, though, relies on a separate boot loader to finish the handoff to an OS; it just presents a pretty menu and gives you options for how to proceed prior to booting an OS. All EFI-capable OSes include boot loaders, so this limitation isn't a problem. If you're using Linux, you should be aware that several EFI boot loaders are available, so choosing between them can be a challenge. See <a href="http://www.rodsbooks.com/efi-bootloaders/index.html">my Web page on this topic</a> for more information.</p>
 
-    <br /><img src="refind.png" align="center" width="905" height="389"
-    alt="rEFInd presents a GUI menu for selecting your boot OS." border=2>
-    <br />
+    <br /><center><img src="refind.png" align="center" width="905"
+    height="389" alt="rEFInd presents a GUI menu for selecting your boot
+    OS." border=2> </center><br />
 
 <p>In theory, EFI implementations should provide boot managers. Unfortunately, in practice these boot managers are often so poor as to be useless. The worst I've personally encountered is on <a href="http://www.rodsbooks.com/gb-hybrid-efi/">Gigabyte's Hybrid EFI,</a> which provides you with no boot options whatsoever, beyond choosing the boot device (hard disk vs. optical disc, for instance). I've heard of others that are just as bad. For this reason, a good EFI boot manager&mdash;either standalone or as part of a boot loader&mdash;is a practical necessity for multi-booting on an EFI computer. That's where rEFIt and rEFInd come into play.</p>
 
@@ -169,6 +169,8 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <li>You can <a href="mailto:rodsmith@rodsbooks.com">e-mail me</a> with queries or bug reports.</li>
 
+<li><a href="http://forums.macrumors.com/showthread.php?t=696523">This thread</a> on MacRumors details efforts to boot Windows 7 and Windows 8 in EFI mode, rather than using Boot Camp, on 64-bit Macs. It can be done with some models, but is difficult, particularly for Windows 7. Be aware that the thread is long and has many false leads.</li>
+
 </ul></li>
 
 </ul>
index f36d85bb1f10f79dbe0fd8fe5d1c9493174f8c26..84e70acaacb59b30e11c8ccf9dc1142045bb9d3f 100644 (file)
@@ -14,7 +14,7 @@
   <p class="subhead">by Roderick W. Smith, <a
 href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
-  <p>Originally written: 3/14/2012; last Web page update: 3/23/2012, referencing rEFInd 0.2.2</p>
+  <p>Originally written: 3/14/2012; last Web page update: 3/26/2012, referencing rEFInd 0.2.3</p>
 
 
 <p>I'm a technical writer and consultant specializing in Linux technologies. This Web page is provided free of charge and with no annoying outside ads; however, I did take time to prepare it, and Web hosting does cost money. If you find this Web page useful, please consider making a small donation to help keep this site up and running. Thanks!</p>
index a0023ef4d10ad80ba6cffcf161abc911dcc98acd..ed93b38e84b3ab503a10088064bee6628e3964d4 100644 (file)
@@ -14,7 +14,7 @@
   <p class="subhead">by Roderick W. Smith, <a
 href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
-  <p>Originally written: 3/19/2012; last Web page update: 3/23/2012, referencing rEFInd 0.2.2</p>
+  <p>Originally written: 3/19/2012; last Web page update: 3/26/2012, referencing rEFInd 0.2.3</p>
 
 
 <p>I'm a technical writer and consultant specializing in Linux technologies. This Web page is provided free of charge and with no annoying outside ads; however, I did take time to prepare it, and Web hosting does cost money. If you find this Web page useful, please consider making a small donation to help keep this site up and running. Thanks!</p>
@@ -111,21 +111,19 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <ol>
 
-<li>rEFInd looks for boot loaders whose names include the strings <tt>bzImage</tt> or <tt>vmlinuz</tt> and that end in <tt>.efi</tt>. For instance, <tt>bzImage-3.3.0.efi</tt> or <tt>vmlinuz-3.3.0-fc17.efi</tt> would match, and trigger subsequent steps in this procedure. Note that to use this system, you <i>must</i> give your kernel file a <tt>.efi</tt> extension, at least on the ESP!</li>
+<li>rEFInd looks for boot loaders whose names include the strings <tt>bzImage</tt> or <tt>vmlinuz</tt> and that end in <tt>.efi</tt>. For instance, <tt>bzImage-3.3.0.efi</tt> or <tt>vmlinuz-3.3.0-fc17.efi</tt> would match, and trigger subsequent steps in this procedure. Note that to use this system, you <i>must</i> give your kernel file a <tt>.efi</tt> extension, at least on the ESP (or other boot loader partition, for Macs)!</li>
 
-<div class="sidebar">
-
-<p>A kernel whose filename lacks a version string matches an initial RAM disk that also lacks a version string in its filename. Note that you can reliably use only <i>one</i> kernel and initial RAM disk per directory that lack version numbers in their filenames.</p>
-
-</div>
+<p class="sidebar">A kernel whose filename lacks a version string matches an initial RAM disk that also lacks a version string in its filename. Note that you can reliably use only <i>one</i> kernel and initial RAM disk per directory that lack version numbers in their filenames.</p>
 
 <li>rEFInd looks for an initial RAM disk in the same directory as the kernel file. A matching initial RAM disk has a name that begins with <tt>init</tt> and that includes the same version string as the kernel. The version string is defined as the part of the filename from the first digit to the last digit, inclusive. Note that the version string can include non-digits. For instance, the version string for <tt>bzImage-3.3.0.efi</tt> is <tt>3.3.0</tt>, which matches <tt>initramfs-3.3.0.bz</tt>; and <tt>vmlinuz-3.3.0-fc17.efi</tt>'s version string is <tt>3.3.0-fc17</tt>, which matches <tt>initrd-3.3.0-fc17.img</tt>. Many other matches are possible. If an initial RAM disk is identified, rEFInd passes a suitable <tt>initrd=</tt> option to the kernel when it boots.</li>
 
-<li>rEFInd looks for a file called <tt>linux.conf</tt> in the same directory as the kernel file. This file is a practical requirement for booting from an auto-detected kernel. It consists of a series of lines, each of which consists of a label followed by a series of kernel options. The first line sets default options, and subsequent lines set options that are accessible from the main menu tag's submenu screen.</li>
+<p class="sidebar">rEFInd 0.2.1 and 0.2.2 used a filename of <tt>linux.conf</tt> to hold Linux kernel options; however, the Linux kernel developers plan to use this name themselves, so I've switched to <tt>refind_linux.conf</tt> as of rEFInd 0.2.3. For the moment, rEFInd still supports the <tt>linux.conf</tt> filename as a backup to <tt>refind_linux.conf</tt>, but <tt>linux.conf</tt> is now officially deprecated as a rEFInd configuration file, so you should rename your <tt>linux.conf</tt> file to <tt>refind_linux.conf</tt> if you're upgrading.</p>
+
+<li>rEFInd looks for a file called <tt>refind_linux.conf</tt> in the same directory as the kernel file. This file is a practical requirement for booting from an auto-detected kernel. It consists of a series of lines, each of which consists of a label followed by a series of kernel options. The first line sets default options, and subsequent lines set options that are accessible from the main menu tag's submenu screen.</li>
 
 </ol>
 
-<p>The intent of this system is that distribution maintainers can place their kernels, initial RAM disks, and a <tt>linux.conf</tt> file in their own subdirectory on the ESP. rEFInd will detect their kernels and create one main menu entry for each kernel. Each entry will implement as many options as there are lines in the <tt>linux.conf</tt> file. In this way, two or more distributions can each maintain their boot loader entries, without being too concerned for who maintains rEFInd as a whole.</p>
+<p>The intent of this system is that distribution maintainers can place their kernels, initial RAM disks, and a <tt>refind_linux.conf</tt> file in their own subdirectory on the ESP. rEFInd will detect their kernels and create one main menu entry for each kernel. Each entry will implement as many options as there are lines in the <tt>refind_linux.conf</tt> file. In this way, two or more distributions can each maintain their boot loader entries, without being too concerned about who maintains rEFInd as a whole.</p>
 
 <p>As an example, consider the following file configuration:</p>
 
@@ -135,10 +133,10 @@ total 17943
 -rwxr-xr-x 1 root root  4781632 2012-03-18 12:01 bzImage-3.3.0.efi
 -rwxr-xr-x 1 root root   131072 2011-10-14 04:10 grubx64.EFI
 -rwxr-xr-x 1 root root 13459936 2012-03-18 12:02 initrd.img-3.3.0
--rwxr-xr-x 1 root root      266 2012-03-18 19:39 linux.conf
+-rwxr-xr-x 1 root root      266 2012-03-26 19:39 refind_linux.conf
 </pre>
 
-<p>When rEFInd scans this directory, it will find two EFI boot loaders in <tt>EFI/ubuntu</tt>: <tt>grubx64.EFI</tt> and <tt>bzImage-3.3.0.efi</tt>. rEFInd will create two main-menu tags for these two loaders, one of which will launch Ubuntu's standard GRUB and the other of which will launch the 3.3.0 kernel file directly. The <tt>linux.conf</tt> file contains a list of labels and options:</p>
+<p>When rEFInd scans this directory, it will find two EFI boot loaders in <tt>EFI/ubuntu</tt>: <tt>grubx64.EFI</tt> and <tt>bzImage-3.3.0.efi</tt>. rEFInd will create two main-menu tags for these two loaders, one of which will launch Ubuntu's standard GRUB and the other of which will launch the 3.3.0 kernel file directly. The <tt>refind_linux.conf</tt> file contains a list of labels and options:</p>
 
 <pre class="listing">
 "Boot with defaults"         "root=/dev/sda3 ro quiet splash vt.handoff=7"
@@ -153,10 +151,10 @@ total 17943
 
     <br /><center><img src="automatic-submenu.png" align="center"
     width="376" height="279" alt="rEFInd can load Linux boot options from
-    a linux.conf file in the Linux kernel's directory."
+    a refind_linux.conf file in the Linux kernel's directory."
     border=2></center><br />
 
-<p>Note that the first entry shown here takes a name that's set in rEFInd rather than the one specified in the <tt>linux.conf</tt> file. The remaining names match those specified in the file, though.</p>
+<p>Note that the first entry shown here takes a name that's set in rEFInd rather than the one specified in the <tt>refind_linux.conf</tt> file. The remaining names match those specified in the file, though.</p>
 
 <p>From a user's perspective, the submenus defined in this way work just like submenus defined via the <tt>submenuentry</tt> options in <tt>refind.conf</tt>, or like the submenus that rEFInd creates automatically for Mac OS X or ELILO. There are, however, limitations in what you can accomplish with this method:</p>
 
@@ -164,19 +162,19 @@ total 17943
 
 <li>Your kernels must be compiled with EFI stub loader support.</li>
 
-<li>You can't set an option to boot via a different boot loader, such as ELILO or GRUB; all the options apply to a single boot loader&mdash;that is, a single kernel.</li>
+<li>You can't set a submenu option to boot via a different boot loader, such as ELILO or GRUB; all the submenu options apply to a single boot loader&mdash;that is, a single kernel. (rEFInd will still detect other boot loaders and provide separate main-menu tags for them, though.)</li>
 
 <li>If an installation includes two or more kernel files, each one receives its own main-menu entry; you can't combine them together in one menu item. This is essentially a corollary of the preceding limitation. The result can be an overburdened main menu if your system has many kernels.</li>
 
-<li>All the kernels in a given directory use the same <tt>linux.conf</tt> file. If you need to set different options for different kernels, you'll need to place those kernels in different directories.</li>
+<li>All the kernels in a given directory use the same <tt>refind_linux.conf</tt> file. If you need to set different options for different kernels, you'll need to place those kernels in different directories.</li>
 
 <li>You must place your kernels in a directory other than the one that holds the main rEFInd <tt>.efi</tt> file. This is because rEFInd does not scan its own directory for boot loaders.</li>
 
 </ul>
 
-<p>On the whole, this method of configuration has a lot going for it. For distribution maintainers, if you place your Linux kernel files (with EFI stub support) on the ESP, with suitable filenames, matching initial RAM disk files, and a <tt>linux.conf</tt> file, then any rEFInd 0.2.1 or later installation should detect your files, even if the user installs another distribution with another rEFInd that takes over from yours. (If the user, or this other rEFInd installation, disables auto-detection, this won't work.)</p>
+<p>On the whole, this method of configuration has a lot going for it. For distribution maintainers, if you place your Linux kernel files (with EFI stub support) on the ESP, with suitable filenames, matching initial RAM disk files, and a <tt>refind_linux.conf</tt> file, then any rEFInd 0.2.3 or later installation should detect your files, even if the user installs another distribution with another rEFInd that takes over from yours. (If the user, or this other rEFInd installation, disables auto-detection, this won't work.)</p>
 
-<p>For end users, this method is simpler than maintaining manual configurations in <tt>refind.conf</tt> (or equivalents for ELILO or GRUB). To install a new kernel, you need only copy it and its initial RAM disk, under suitable names, to a scanned directory on the ESP. There's no need to touch any configuration file, provided you've already set up <tt>linux.conf</tt> in your kernel's directory. You will, however, have to adjust <tt>linux.conf</tt> if you make certain changes, such as if your root directory identifier changes.</p>
+<p>For end users, this method is simpler than maintaining manual configurations in <tt>refind.conf</tt> (or equivalents for ELILO or GRUB). To install a new kernel, you need only copy it and its initial RAM disk, under suitable names, to a scanned directory on the ESP. There's no need to touch any configuration file, provided you've already set up <tt>refind_linux.conf</tt> in your kernel's directory. You will, however, have to adjust <tt>refind_linux.conf</tt> if you make certain changes, such as if your root directory identifier changes.</p>
 
 <hr/>
 
index be8214dc3509fa2a0a6ce64d4390b6788bacaa99..0115e7f2151e9334627fd1fc865e7a7393fcf211 100644 (file)
@@ -14,7 +14,7 @@
   <p class="subhead">by Roderick W. Smith, <a
 href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
-  <p>Last Web page update: 3/23/2012</p>
+  <p>Last Web page update: 3/26/2012</p>
 
 
 <p>I'm a technical writer and consultant specializing in Linux technologies. This Web page is provided free of charge and with no annoying outside ads; however, I did take time to prepare it, and Web hosting does cost money. If you find this Web page useful, please consider making a small donation to help keep this site up and running. Thanks!</p>
@@ -93,6 +93,8 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <ul>
 
+<li><b>0.2.3 (3/26/2012)</b>&mdash;I've changed the Linux kernel configuration filename from <tt>linux.conf</tt> to <tt>refind_linux.conf</tt> with this version, to avoid a name collision with a planned future Linux kernel ability to read its options from a file called <tt>linux.conf</tt>. This version also includes a tentative bug fix for a problem that caused rEFInd to hang upon launching the second program (say, a boot loader after using a shell) on some systems; but on some computers, this fix causes an (apparently harmless) error message about "(re)opening our installation volume" upon returning from the first program. I've also added a logo for Arch Linux.</li>
+
 <li><b>0.2.2 (3/23/2012)</b>&mdash;This version fixes three bugs: One caused submenus to not appear on systems with screens of 800x600 or smaller; another caused rEFInd to hang when boot loader names were too long; and the third caused the program to fail when Linux kernels and their initial RAM disk files lacked version numbers.</li>
 
 <li><b>0.2.1 (3/19/2012)</b>&mdash;This version adds the ability to auto-scan Linux kernels with EFI stub loader support, provided a suitable <tt>linux.conf</tt> file exists in the kernel's directory. It also adds support for manual specification of submenus in <tt>refind.conf</tt>.</li>
index 234a30fed85bab5f71593f8d0ba5c9b87b826182..56d6cea98c2d2d2dac34e3707fda425739b0d7ed 100644 (file)
@@ -14,7 +14,7 @@
   <p class="subhead">by Roderick W. Smith, <a
 href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
-  <p>Originally written: 3/14/2012; last Web page update: 3/23/2012, referencing rEFInd 0.2.2</p>
+  <p>Originally written: 3/14/2012; last Web page update: 3/26/2012, referencing rEFInd 0.2.3</p>
 
 
 <p>I'm a technical writer and consultant specializing in Linux technologies. This Web page is provided free of charge and with no annoying outside ads; however, I did take time to prepare it, and Web hosting does cost money. If you find this Web page useful, please consider making a small donation to help keep this site up and running. Thanks!</p>
@@ -125,6 +125,8 @@ program. I'm not sure what you'd use in Windows to create ICNS files.</li>
 
 <li>There's currently no way to create a manual boot stanza for a BIOS-booted OS. This isn't a big priority for me personally, but I can see how it could be for some people.</li>
 
+<li>Returning from a program (such as an EFI shell or a boot loader that fails) produces an error message about a failure when "(re)opening our installation volume" on some computers. (Among mine, only a 32-bit Mac Mini produces this message.) This <i>seems to be</i> harmless, but I haven't removed the error message because I don't fully understand its cause or why it doesn't appear on most systems. This needs investigating and fixing.</li>
+
 <li>The Page Up and Page Down keys work in a rather strange way&mdash;a result of an admittedly quick fix on my part to a problem with a data structure that makes implementation of scrolling harder than it ought to be.</li>
 
 <li>I'd like to find a way to enable users to enter customizations for boot options and then save them to the <tt>refind.conf</tt> file.</li>
index 54794e463d81d819c00a1fb98f2a5301de77552d..ecf3242c5c60e6c054d5d4692bde5bebfe33247c 100644 (file)
@@ -14,7 +14,7 @@
   <p class="subhead">by Roderick W. Smith, <a
 href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
-  <p>Originally written: 3/14/2012; last Web page update: 3/23/2012, referencing rEFInd 0.2.2</p>
+  <p>Originally written: 3/14/2012; last Web page update: 3/26/2012, referencing rEFInd 0.2.3</p>
 
 
 <p>I'm a technical writer and consultant specializing in Linux technologies. This Web page is provided free of charge and with no annoying outside ads; however, I did take time to prepare it, and Web hosting does cost money. If you find this Web page useful, please consider making a small donation to help keep this site up and running. Thanks!</p>
index fd64376294d834aeece27633dc6ff066f79b84ab..73232af18cbd7828e52bbeac4e7906fa59b4e32f 100755 (executable)
--- a/mkdistrib
+++ b/mkdistrib
@@ -16,7 +16,7 @@ make clean
 # Prepare a place and copy files there....
 mkdir -p ../snapshots/$1/refind-$1/icons
 cp --preserve=timestamps icons/*icns ../snapshots/$1/refind-$1/icons/
-cp -a docs images include libeg refind NEWS.txt BUILDING.txt COPYING.txt LICENSE.txt README.txt Make.common Makefile refind.conf-sample ../snapshots/$1/refind-$1
+cp -a docs images include libeg refind CREDITS.txt NEWS.txt BUILDING.txt COPYING.txt LICENSE.txt README.txt Make.common Makefile refind.conf-sample ../snapshots/$1/refind-$1
 
 # Go there are prepare a souce code zip file....
 cd ../snapshots/$1/
@@ -30,7 +30,7 @@ cp -a icons refind-bin-$1/refind/
 cp --preserve=timestamps refind.conf-sample refind-bin-$1/refind/
 cp refind/refind.efi refind-bin-$1/refind/refind_x64.efi
 cp $StartDir/refind_ia32.efi refind-bin-$1/refind/
-cp -a COPYING.txt LICENSE.txt README.txt docs refind-bin-$1
+cp -a COPYING.txt LICENSE.txt README.txt docs CREDITS.txt refind-bin-$1
 zip -9r ../refind-bin-$1.zip refind-bin-$1
 cd ..
 rm -r refind-$1
index 2b6d2d3339f507445c334e7be153d14b72db15a5..36026c01690716217c460807ed1d36fb3f893dc6 100644 (file)
@@ -54,7 +54,7 @@
 // constants
 
 #define CONFIG_FILE_NAME         L"refind.conf"
-#define LINUX_OPTIONS_FILENAMES  L"refind_linux.conf,linux.conf"
+#define LINUX_OPTIONS_FILENAMES  L"refind_linux.conf,refind-linux.conf,linux.conf"
 #define MAXCONFIGFILESIZE        (128*1024)
 
 #define ENCODING_ISO8859_1  (0)
@@ -596,10 +596,14 @@ REFIT_FILE * ReadLinuxOptionsFile(IN CHAR16 *LoaderPath, IN REFIT_VOLUME *Volume
             File = AllocateZeroPool(sizeof(REFIT_FILE));
             Status = ReadFile(Volume->RootDir, FullFilename, File);
             GoOn = FALSE;
-            if (CheckError(Status, L"while loading the Linux options file"))
+            if (CheckError(Status, L"while loading the Linux options file")) {
+               if (File != NULL)
+                  FreePool(File);
                File = NULL;
-         } // if
-      } else {
+               GoOn = TRUE;
+            } // if error
+         } // if file exists
+      } else { // a filename string is NULL
          GoOn = FALSE;
       } // if/else
       if (OptionsFilename != NULL)
@@ -609,7 +613,7 @@ REFIT_FILE * ReadLinuxOptionsFile(IN CHAR16 *LoaderPath, IN REFIT_VOLUME *Volume
       OptionsFilename = FullFilename = NULL;
    } while (GoOn);
    return (File);
-} // static REFIT_FILE * FindLinuxOptionsFile()
+} // static REFIT_FILE * ReadLinuxOptionsFile()
 
 // Retrieve a single line of options from a Linux kernel options file
 CHAR16 * GetFirstOptionsFromFile(IN CHAR16 *LoaderPath, IN REFIT_VOLUME *Volume) {
index 8e63ad3d7da2106f5201cb954519145e5805089f..48f41fee46a2acf0fde9ebd1f6c3ebcb94acb3db 100644 (file)
@@ -74,7 +74,7 @@ static VOID AboutrEFInd(VOID)
 {
     if (AboutMenu.EntryCount == 0) {
         AboutMenu.TitleImage = BuiltinIcon(BUILTIN_ICON_FUNC_ABOUT);
-        AddMenuInfoLine(&AboutMenu, L"rEFInd Version 0.2.2.2");
+        AddMenuInfoLine(&AboutMenu, L"rEFInd Version 0.2.3");
         AddMenuInfoLine(&AboutMenu, L"");
         AddMenuInfoLine(&AboutMenu, L"Copyright (c) 2006-2010 Christoph Pfisterer");
         AddMenuInfoLine(&AboutMenu, L"Copyright (c) 2012 Roderick W. Smith");