]> code.delx.au - refind/commitdiff
0.2.4 release version
authorsrs5694 <srs5694@users.sourceforge.net>
Thu, 5 Apr 2012 14:45:42 +0000 (10:45 -0400)
committersrs5694 <srs5694@users.sourceforge.net>
Thu, 5 Apr 2012 14:45:42 +0000 (10:45 -0400)
17 files changed:
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
refind.conf-sample
refind/config.c
refind/config.h
refind/global.h
refind/main.c
refind/menu.c
refind/screen.c

index 87bd5c763994c301059fc9855b7b552240447033..c1fa857586fc830c18ada7023e6eef3b4e6a623a 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/26/2012, referencing rEFInd 0.2.3</p>
+  <p>Originally written: 3/14/2012; last Web page update: 4/5/2012, referencing rEFInd 0.2.4</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,7 +89,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <hr />
 
-<p>Before you invest time in downloading and trying to install rEFInd, you may want to verify that you can actually use the program at all. rEFInd is useful only on EFI-based computers, not older BIOS-based computers. In fact, most EFI-based x86-64 computers provide a Compatibility Support Module (CSM), which is essentially a BIOS emulation mode. Some EFI implementations are in fact built atop a conventional BIOS, and retain BIOS's boot abilities via this underlying code. Thus, it's possible that you're currently booting a modern EFI-capable computer in BIOS mode.</p>
+<p>Before you invest time in downloading and trying to install rEFInd, you may want to verify that you can actually use the program at all. rEFInd is useful only on EFI-based computers, not older BIOS-based computers. In fact, most EFI-based <i>x</i>86-64 computers provide a Compatibility Support Module (CSM), which is essentially a BIOS emulation mode. Some EFI implementations are in fact built atop a conventional BIOS, and retain BIOS's boot abilities via this underlying code. Thus, it's possible that you're currently booting a modern EFI-capable computer in BIOS mode.</p>
 
 <p>Unfortunately, determining which mode you're using can be tricky; the clues are subtle or hidden in ways that require specialized knowledge to extract. This page will help you figure it out. I first present general information on identifying your hardware's capabilities. I then describe ways to identify your current boot mode in both Linux and Windows.</p>
 
index 9c3b9b11275eebb24266c6a470cbc10e472979b8..9931f92abb865ed5f44a5a39be7fb104c64d1e30 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/26/2012, referencing rEFInd 0.2.3</p>
+  <p>Originally written: 3/14/2012; last Web page update: 4/5/2012, referencing rEFInd 0.2.4</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,13 +93,9 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <p>Broadly speaking, rEFInd's configuration file is broken down into two sections: <i>global options</i> and <i>OS stanzas.</i> The global options section sets options that apply globally&mdash;to set the timeout period, enable graphics or text mode, and so on. OS stanzas are optional, but if present, they enable you to add new boot options or replace the auto-detected options with customized ones. Both sections include configuration lines and comment lines, the latter being denoted by a leading hash mark (<tt>#</tt>). rEFInd ignores comment lines, so you can add explanatory text. The default configuration file includes numerous comments explaining each of the options.</p>
 
-<h2>Hiding EFI Boot Loaders</h2>
+<h2>Hiding and Displaying EFI Boot Loaders</h2>
 
-<div class="sidebar">
-
-<p>ESPs use the FAT filesystem, which is case-insensitive. Unfortunately, at least one EFI implementation (Gigabyte's <a href="http://www.rodsbooks.com/gb-hybrid-efi/">Hybrid EFI</a>) contains a bug that causes string comparisons that should be case-insensitive to actually be done in a case-sensitive way. This can cause files that are present to appear to be missing. rEFInd includes code to work around this bug in some situations, but not in all of them. If boot loaders appear to be missing, try changing the case on their filenames or on the <tt>EFI</tt> directory in the ESP. (It's coded as uppercase in rEFInd; but EFI loader filename extensions are coded as lowercase <tt>.efi</tt>. I made these choices because they seem to be the most common uses on real-world installations.)</p>
-
-</div>
+<p class="sidebar">ESPs use the FAT filesystem, which is case-insensitive. Unfortunately, at least one EFI implementation (Gigabyte's <a href="http://www.rodsbooks.com/gb-hybrid-efi/">Hybrid EFI</a>) contains a bug that causes string comparisons that should be case-insensitive to actually be done in a case-sensitive way. This can cause files that are present to appear to be missing. rEFInd includes code to work around this bug in some situations, but not in all of them. If boot loaders appear to be missing, try changing the case on their filenames or on the <tt>EFI</tt> directory in the ESP. (It's coded as uppercase in rEFInd; but EFI loader filename extensions are coded as lowercase <tt>.efi</tt>. I made these choices because they seem to be the most common uses on real-world installations.)</p>
 
 <p>Before delving into the configuration file, you should be aware of what you can do by renaming files. By default, rEFInd scans all the filesystems it can read for boot loaders. It scans most of the subdirectories of the <tt>EFI</tt> directory on every filesystem it can access for files with names that end in <tt>.efi</tt>. (rEFIt gives special treatment to the <tt>TOOLS</tt> subdirectory, where it looks for system tools rather than boot loaders.)</p>
 
@@ -107,6 +103,18 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <p>Another way to hide a boot loader is to move it into rEFInd's own directory. In order to keep rEFInd from showing up in its own menu, it ignores boot loaders in its own directory. This obviously includes the rEFInd binary file itself, but also anything else you might store there.</p>
 
+<p>In addition to hiding boot loaders, you can adjust their icons. You can do this in either of two ways:</p>
+
+<ul>
+
+<li>You can place a boot loader in a directory with a name that matches one of rEFInd's standard icons, which take names of the form <tt>os_<tt class="variable">name</tt>.icns</tt>. To use this icon, you would place the boot loader in the directory called <tt class="variable">name</tt>.</li>
+
+<li>You can name an icon file after your boot loader, but with an extension of <tt>.icns</tt>. For instance, if you're using <tt class="variable">loader</tt><tt>.efi</tt>, you would name the icon file <tt class="variable">loader</tt><tt>.icns</tt>. These icon files should be 128x128 images in <a href="http://en.wikipedia.org/wiki/Apple_Icon_Image_format">Apple's ICNS format.</a> You can create such files easily in OS X or convert PNG files to ICNS format with <a href="http://icns.sourceforge.net/">libicns.</a></li>
+
+</ul>
+
+<p>rEFInd assigns icons to the Windows and OS X boot loaders based on their conventional locations, so they get suitable icons even though they don't follow these rules.</p>
+
 <h2>Adjusting the Global Configuration</h2>
 
 <p>You can adjust many of rEFInd's options by editing its <tt>refind.conf</tt> file. You can use any text editor you like for the job, but be sure it saves the file in plain ASCII text, not in a word processing format. (In theory, a UTF-16 encoding should also work, but I've not tried that myself.) Note that the EFI shell includes its own editor. If you need to make a change before you launch an OS, you can launch a shell, change to the rEFInd directory, and type <b><tt>edit refind.conf</tt></b> to edit the file. This EFI editor is quite primitive, but it gets the job done. After editing, you'll need to reboot for rEFInd to read the changed configuration file.</p>
@@ -131,9 +139,9 @@ timeout 20
    <td>Sets the timeout period in seconds. If <tt>0</tt>, the timeout is disabled&mdash;rEFInd waits indefinitely for user input.</td>
 </tr>
 <tr>
-   <td><tt>disable</tt></td>
-   <td><tt>shell</tt>, <tt>tools</tt>, <tt>singleuser</tt>, <tt>hwtest</tt>, or <tt>all</tt></td>
-   <td>Removes the specified menu options for improved security. <tt>shell</tt> removes the EFI shell, <tt>tools</tt> removes all the EFI tools, <tt>singleuser</tt> removes the single-user option from the Mac OS sub-menu, <tt>hwtest</tt> removes the Mac OS hardware test option, and <tt>all</tt> removes all of these options. You can specify multiple parameters with this option. The default is to set none of these options.</td>
+   <td><tt>hideui</tt></td>
+   <td><tt>banner</tt>, <tt>label</tt>, <tt>singleuser</tt>, <tt>hwtest</tt>, <tt>arrows</tt>, or <tt>all</tt></td>
+   <td>Removes the specified user interface features. <tt>banner</tt> removes the banner graphic, <tt>label</tt> removes the text description of each tag, <tt>singleuser</tt> removes the single-user option from the Mac OS sub-menu, <tt>hwtest</tt> removes the Mac OS hardware test option, <tt>arrows</tt> removes the arrows to the right or left of the OS tags when rEFInd finds too many OSes to display simultaneously, and <tt>all</tt> removes all of these options. You can specify multiple parameters with this option. The default is to set none of these values.</td>
 </tr>
 <tr>
    <td><tt>banner</tt></td>
@@ -151,9 +159,9 @@ timeout 20
    <td>Like <tt>selection_big</tt>, this sets an alternate highlight graphic, but for the smaller utility tags on the second row.</td>
 </tr>
 <tr>
-   <td><tt>hideui</tt></td>
-   <td><tt>banner</tt>, <tt>shell</tt>, <tt>tools</tt>, <tt>funcs</tt>, <tt>label</tt>, or <tt>all</tt></td>
-   <td>Hides the specified user interface elements: The rEFInd logo, the EFI shell icon, all the tools, built-in functions (restart and about), text labels, and all of the above, respectively. Some of these parameters are redundant with <tt>disable</tt> parameters. The default is to set none of these options.</td>
+   <td><tt>showtools</tt></td>
+   <td><tt>shell</tt>, <tt>gptsync</tt>, <tt>about</tt>, <tt>exit</tt>, <tt>shutdown</tt>, and <tt>reboot</tt></td>
+   <td>Specifies which tool tags to display on the second row. <tt>shell</tt> launches an EFI shell, <tt>gptsync</tt> launches a tool that creates a hybrid MBR, <tt>about</tt> displays information about the program, <tt>exit</tt> terminates rEFInd, <tt>shutdown</tt> shuts down the computer (or reboots it, on UEFI PCs), and <tt>reboot</tt> reboots the computer. The tags appear in the order in which you specify them. The default is <tt>shell, about, shutdown, reboot</tt>.</td>
 </tr>
 <tr>
    <td><tt>textonly</tt></td>
@@ -172,17 +180,19 @@ timeout 20
 </tr>
 </table>
 
-<p>As an example, consider the following <tt>refind.conf</tt> file:</p>
+<p>Prior to version 0.2.4, rEFInd supported a token called <tt>disable</tt>, whose function partially overlapped with <tt>hideui</tt>. Version 0.2.4 merges many of the features of these two tokens into <tt>hideui</tt> and creates the new <tt>showtools</tt> option, which provides the remaining functionality in a more flexible way.</p>
+
+<p>As an example of rEFInd configuration, consider the following <tt>refind.conf</tt> file:</p>
 
 <pre class="listing">
 # Sample refind.conf file
 timeout 5
 banner custom.bmp
 scanfor manual,external,optical
-default_selection L
+default_selection elilo
 </pre>
 
-<p>This example sets a timeout of 5 seconds; loads a custom graphic file called <tt>custom.bmp</tt> from the directory in which <tt>refind.efi</tt> resides; uses manual boot loader configuration but also scans for external EFI boot loaders and EFI boot loaders on optical discs; and sets the default boot loader to Linux. Of course, since this file specifies use of manual boot loader configuration, it's not complete; you'll need to add at least one OS stanza to be able to boot from anything but an external disk or optical drive....</p>
+<p>This example sets a timeout of 5 seconds; loads a custom graphic file called <tt>custom.bmp</tt> from the directory in which <tt>refind.efi</tt> resides; uses manual boot loader configuration but also scans for external EFI boot loaders and EFI boot loaders on optical discs; and sets the default boot loader to the first loader found that includes the string <tt>elilo</tt>. Of course, since this file specifies use of manual boot loader configuration, it's not complete; you'll need to add at least one OS stanza to be able to boot from anything but an external disk or optical drive....</p>
 
 <h2>Creating OS Stanzas</h2>
 
@@ -234,7 +244,7 @@ default_selection L
 <tr>
    <td><tt>graphics</tt></td>
    <td><tt>on</tt> or <tt>off</tt></td>
-   <td>Enables or disables a graphical boot mode. This option is important only for Mac OS X.</td>
+   <td>Enables or disables a graphical boot mode. This option has an effect only on Macintoshes; UEFI PCs seem to be unaffected by it.</td>
 </tr>
 <tr>
    <td><tt>options</tt></td>
index 7b045d742e1a309206c07e87aecbef7240367cab..b81b2e7d60c221cce453d2debfa6e55828ac8eb3 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/26/2012, referencing rEFInd 0.2.3</p>
+  <p>Originally written: 3/14/2012; last Web page update: 4/5/2012, referencing rEFInd 0.2.4</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>
@@ -127,7 +127,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <li>Additional OS icons (all of which are Linux distributions, at least so far). This can make it easier to find a specific distribution in the boot list if you've installed multiple Linux distributions.</li>
 
-<li>The ability to auto-detect Linux initial RAM disk files and to read Linux kernel options from a <tt>linux.conf</tt> file. These features support (nearly) automatic handling of Linux kernels with embedded EFI stub loader support (a new feature with Linux 3.3.0).</li>
+<li>The ability to auto-detect Linux initial RAM disk files and to read Linux kernel options from a <tt>refind_linux.conf</tt> file. These features support (nearly) automatic handling of Linux kernels with embedded EFI stub loader support (a new feature with Linux 3.3.0).</li>
 
 <li>Fixes to display problems on many UEFI-based PCs.</li>
 
@@ -135,6 +135,8 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <li>Improved detection of itself, to keep rEFInd out of its own boot menu.</li>
 
+<li>An "exit" option (disabled by default), so that you can return to whatever shell or boot manager you used to launch rEFInd, should this ability be desirable. (This feature first appeared in rEFInd 0.2.4.)</li>
+
 </ul>
 
 <p>On the flip side, at least for Mac users, rEFInd comes with less sophisticated Mac installation tools than does rEFIt, in favor of more OS-agnostic packaging. Also, rEFInd doesn't support loading EFI drivers; that job should be done in other ways when using rEFInd.</p>
index 7b1aefacacae94127d3d78eba53593a3c2c68e35..a3c44e72932b2cd6accd41ec50502679f1d37c61 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/26/2012, referencing rEFInd 0.2.3</p>
+  <p>Originally written: 3/14/2012; last Web page update: 4/5/2012, referencing rEFInd 0.2.4</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>
 
@@ -96,8 +96,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <ul>
 
-<li><b><a
-    href="http://sourceforge.net/projects/refind/files/0.2.3/refind-src-0.2.3.zip/download">A
+<li><b><a href="http://sourceforge.net/projects/refind/files/0.2.4/refind-src-0.2.4.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
@@ -105,25 +104,27 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
     that toolchain is theoretically possible, but I've not attempted
     it.</li>
 
-<li><b><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
-    both x86 (aka IA32) and x86-64 (aka x64, AMD64, or EM64T) versions of
-    rEFInd. Which you install depends on your architecture, as described on
-    the <a href="installing.html">Installing rEFInd</a> page.</li>
-
-<li><b><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
-    the CD-R to your hard disk. The files are named in such a way that the
-    disc should boot on either 64-bit (x86-64) or 32-bit (x86) EFI
-    computers. Note that there's a bug that causes rEFInd to complain about
-    invalid parameters while scanning various directories. You can safely
-    ignore this message, but you'll need to press a key to dismiss it.</li>
+<li><b><a href="http://sourceforge.net/projects/refind/files/0.2.4/refind-bin-0.2.4.zip/download">A
+    binary zip file</a></b>&mdash;Download this if you want to install rEFInd on
+    an <i>x</i>86 or <i>x</i>86-64 computer and have no need to test rEFInd
+    first by booting it on an optical disc. This zip file package includes both
+    <i>x</i>86 (aka IA32) and <i>x</i>86-64 (aka <i>x</i>64, AMD64, or EM64T)
+    versions of rEFInd. Which you install depends on your architecture, as
+    described on the <a href="installing.html">Installing rEFInd</a> page.</li>
+
+<li><b><a href="http://sourceforge.net/projects/refind/files/0.2.4/refind-cd-0.2.4.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. (It boots on UEFI PCs, but fails on at least some Macs.) If you like
+    it, you can then copy the files from the CD-R to your hard disk. The files
+    are named in such a way that the disc should boot on either 64-bit
+    (<i>x</i>86-64) or 32-bit (<i>x</i>86) EFI computers. Note that there's a
+    bug that causes rEFInd to complain about invalid parameters while scanning
+    various directories. You can safely ignore this message, but you'll need to
+    press a key to dismiss it. I've included an open source EFI shell program on
+    this disc that's not included in the binary zip file, so that you can access
+    an EFI shell from a bootable disc even if you don't have an EFI shell
+    available from your regular hard disk.</li>
 
 </ul>
 
index 432e913d3fa57f50e49e4748d80c5f18613579ee..897e0bb4e9be4bea86dffc625865ec9d16324f63 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/26/2012, referencing rEFInd 0.2.3</p>
+  <p>Originally written: 3/14/2012; last Web page update: 4/5/2012, referencing rEFInd 0.2.4</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 84e70acaacb59b30e11c8ccf9dc1142045bb9d3f..fef11b80d388dc6417502863aa5708f7413a19a2 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/26/2012, referencing rEFInd 0.2.3</p>
+  <p>Originally written: 3/14/2012; last Web page update: 4/5/2012, referencing rEFInd 0.2.4</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,13 +89,9 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <hr />
 
-<div class="sidebar">
+<p class="sidebar"><b>Important:</b> A rEFInd zip file, when uncompressed, creates a directory called <tt>refind-<i>version</i></tt>, where <tt><i>version</i></tt> is the version number. This directory includes a subdirectory called <tt>refind</tt> that holds the boot loader, along with another that holds documentation, as well as miscellaneous files in <tt>refind-<i>version</i></tt> itself. When I refer to "the <tt>refind</tt> directory" on this page, I mean the directory with that precise name, not the <tt>refind-<i>version</i></tt> directory that is its parent.</p>
 
-<p><b>Important:</b> A rEFInd zip file, when uncompressed, creates a directory called <tt>refind-<i>version</i></tt>, where <tt><i>version</i></tt> is the version number. This directory includes a subdirectory called <tt>refind</tt> that holds the boot loader, along with another that holds documentation, as well as miscellaneous files in <tt>refind-<i>version</i></tt> itself. When I refer to "the <tt>refind</tt> directory" on this page, I mean the directory with that precise name, not the <tt>refind-<i>version</i></tt> directory that is its parent.</p>
-
-</div>
-
-<p>Once you've uncompressed a rEFInd binary zip file, you can copy the entire <tt>refind</tt> directory into your EFI System Partition's (ESP's) <tt>EFI</tt> directory on UEFI-based PCs, so that rEFInd resides in <tt>EFI/refind</tt>. If you've tried rEFInd using a CD-R image file, you can copy the files from the <tt>EFI/refind</tt> directory on the CD to create an equivalent directory on the ESP. To avoid confusion, though, you should delete the rEFInd binary file for the CPU type your computer does <i>not</i> use. To the best of my knowledge, all UEFI-based PCs use 64-bit CPUs, so you should keep the <tt>refind_x64.efi</tt> binary and delete the <tt>refind_ia32.efi</tt> binary. Most Intel-based Macs also have 64-bit EFI implementations, so you should do the same thing; but very early Intel-based Macs have 32-bit EFIs (and sometimes 32-bit CPUs), which require the <tt>refind_ia32.efi</tt> file. You can determine whether your Mac needs the x86-64 or IA32 build by typing the following command in a Mac Terminal window:</p>
+<p>Once you've uncompressed a rEFInd binary zip file, you can copy the entire <tt>refind</tt> directory into your EFI System Partition's (ESP's) <tt>EFI</tt> directory on UEFI-based PCs, so that rEFInd resides in <tt>EFI/refind</tt>. If you've tried rEFInd using a CD-R image file, you can copy the files from the <tt>EFI/refind</tt> directory on the CD to create an equivalent directory on the ESP. To avoid confusion, though, you should delete the rEFInd binary file for the CPU type your computer does <i>not</i> use. To the best of my knowledge, all UEFI-based PCs use 64-bit CPUs, so you should keep the <tt>refind_x64.efi</tt> binary and delete the <tt>refind_ia32.efi</tt> binary. Most Intel-based Macs also have 64-bit EFI implementations, so you should do the same thing; but very early Intel-based Macs have 32-bit EFIs (and sometimes 32-bit CPUs), which require the <tt>refind_ia32.efi</tt> file. You can determine whether your Mac needs the <i>x</i>86-64 or IA32 build by typing the following command in a Mac Terminal window:</p>
 
 <pre class="listing">
 $ <b>ioreg -l -p IODeviceTree | grep firmware-abi</b>
@@ -127,15 +123,11 @@ Filesystem     1K-blocks  Used Available Use% Mounted on
 
 <li>Type <tt><b>cd /boot/efi/EFI/refind</b></tt> to change into rEFInd's new directory on the ESP.</li>
 
-<li>Type <tt><b>rm refind_ia32.efi</b></tt> to remove the IA32 binary if you're using an x86-64 (64-bit) system; or type <tt><b>rm refind_x64.efi</b></tt> to remove the x86-64 binary if you're using an x86 (32-bit) system. You can optionally rename the binary you keep as <tt>refind.efi</tt>, but this isn't required.</li>
+<li>Type <tt><b>rm refind_ia32.efi</b></tt> to remove the IA32 binary if you're using an <i>x</i>86-64 (64-bit) system; or type <tt><b>rm refind_x64.efi</b></tt> to remove the <i>x</i>86-64 binary if you're using an <i>x</i>86 (32-bit) system. You can optionally rename the binary you keep as <tt>refind.efi</tt>, but this isn't required.</li>
 
 <li>Rename the configuration file by typing <tt><b>mv refind.conf-sample refind.conf</b></tt>. Consult the <a href="configfile.html">Editing the rEFInd Configuration File</a> page for information on how to adjust your options.</li>
 
-<div class="sidebar">
-
-<p><b>Warning:</b> I've seen reports that Linux's <tt>efibootmgr</tt> utility can damage some Macs' firmware, necessitating re-flashing it. Therefore, I recommend using <tt>bless</tt> from OS X to do this job on Apple hardware.</p>
-
-</div>
+<p class="sidebar"><b>Warning:</b> I've seen reports that Linux's <tt>efibootmgr</tt> utility can damage some Macs' firmware, necessitating re-flashing it. I've also seen some vague suggestions that this problem has been fixed with the 3.0 kernels, but I haven't been able to substantiate this suggestion. Therefore, I recommend using <tt>bless</tt> from OS X to do this job on Apple hardware.</p>
 
 <a name="efibootmgr">
 <li>On a UEFI-based system, type <tt><b>efibootmgr -c -l \\EFI\\refind\\refind_x64.efi -L rEFInd</b></tt> to add rEFInd to your EFI's list of available boot loaders, which it stores in NVRAM. (Adjust the path to the binary as required if you install somewhere else.) You may need to install this program on some systems; it's a standard part of most distributions' repositories.</li>
@@ -153,11 +145,7 @@ Filesystem     1K-blocks  Used Available Use% Mounted on
 <h2>Installing rEFInd Using Mac OS X</h2>
 </a>
 
-<div class="sidebar">
-
-<p>One of the reasons I've abandoned rEFIt's GUI installation tools for Mac OS X is that there are several bug reports (such as <a href="https://sourceforge.net/tracker/index.php?func=detail&aid=3147364&group_id=161917&atid=821764">this one</a> and <a href="https://sourceforge.net/tracker/?func=detail&aid=3218104&group_id=161917&atid=821764">this one</a>) that the rEFIt installer may be causing filesystem corruption on disks over about 500 MiB. I don't have such a disk on my Mac, so I can't test solutions. Rather than risk other peoples' hard disks, I thought it best to revert to a manual installation proceudure that will, I hope, be less likely to cause problems.</p>
-
-</div>
+<p class="sidebar">One of the reasons I've abandoned rEFIt's GUI installation tools for Mac OS X is that there are several bug reports (such as <a href="https://sourceforge.net/tracker/index.php?func=detail&aid=3147364&group_id=161917&atid=821764">this one</a> and <a href="https://sourceforge.net/tracker/?func=detail&aid=3218104&group_id=161917&atid=821764">this one</a>) that the rEFIt installer may be causing filesystem corruption on disks over about 500 MiB. I don't have such a disk on my Mac, so I can't test solutions. Rather than risk other peoples' hard disks, I thought it best to revert to a manual installation proceudure that will, I hope, be less likely to cause problems.</p>
 
 <p>The procedure for installing rEFInd on a Mac is similar to that for installing it under Linux, except that you can install it to the OS X's system directory rather than to the ESP, and you must use the <tt>bless</tt> utility rather than <tt>efibootmgr</tt>. To be precise, you should follow these steps:</p>
 
@@ -235,9 +223,9 @@ Filesystem     1K-blocks  Used Available Use% Mounted on
 
 <li>Look for an existing directory called <tt>EFI/BOOT</tt> or <tt>EFI/Microsoft/BOOT</tt>. If neither of these directories exist, skip the next step. (Note that FAT is case-insensitive, so the name may vary in case.)</li>
 
-<li>Rename the existing directory to something else. For <tt>EFI/BOOT</tt>, try renaming it to <tt>EFI/Oldboot</tt>. For <tt>EFI/Microsoft/BOOT</tt>, rename the <tt>Microsoft</tt> directory&mdash;say, to <tt>MS</tt>. Thus, you'll have <tt>EFI/MS</tt> and its contents, including <tt>EFI/MS/BOOT</tt>.</li>
+<li>Rename the existing directory or boot loader file to something else. For <tt>EFI/BOOT</tt>, try renaming it to <tt>EFI/Oldboot</tt>. For <tt>EFI/Microsoft/BOOT</tt>, move or rename the <tt>bootmgfw.efi</tt> file it contains. For instance, you can move it to <tt>EFI/Microsoft</tt>. This will keep the boot loader accessible to rEFInd's menu, while preventing the firmware from launching it automatically.</li>
 
-<li>Rename/move your <tt>EFI/refind</tt> directory to <tt>EFI/BOOT</tt> (or <tt>EFI/Microsoft/BOOT</tt>, if that directory existed and you've renamed it&mdash;but you'll first need to create a new <tt>EFI/Microsoft</tt> directory).</li>
+<li>Rename/move your <tt>EFI/refind</tt> directory to <tt>EFI/BOOT</tt>. If you're working from <tt>EFI/Microsoft/BOOT</tt>, you should move the contents of your rEFInd directory to <tt>EFI/Microsoft/BOOT</tt>.</li>
 
 <li>Rename <tt>EFI/BOOT/refind_x64.efi</tt> to the name of the boot loader it's replacing&mdash;it should become <tt>EFI/BOOT/bootx64.efi</tt> or <tt>EFI/Microsoft/BOOT/bootmgfw.efi</tt>.</li>
 
@@ -280,11 +268,6 @@ Filesystem     1K-blocks  Used Available Use% Mounted on
     <tt>efi/tools</tt> subdirectory of the ESP and rEFInd will detect it
     and give you the option to use it.</li>
 
-<li><b>Rescue Linux</b>&mdash;If the file <tt>efi/rescue/elilo.efi</tt>
-    exists, it will be given a special entry in the boot list. The intent
-    seems to be to launch Linux in a rescue mode, but I've not gotten it to
-    work.</li>
-
 </ul>
 
 <p>I've seen links to other versions of these tools from time to time on the Web, so if you try one of these programs and it crashes or behaves strangely, try performing a Web search; you may turn up something that works better for you than the one to which I've linked.</p>
index ed93b38e84b3ab503a10088064bee6628e3964d4..3508243b80eb662a240da14136525821807765eb 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/26/2012, referencing rEFInd 0.2.3</p>
+  <p>Originally written: 3/19/2012; last Web page update: 4/5/2012, referencing rEFInd 0.2.4</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>
@@ -103,7 +103,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <h2>Using the EFI Stub Loader</h2>
 
-<p>The Linux <a href="http://www.rodsbooks.com/efi-bootloaders/efistub.html">EFI stub loader</a> is a way to turn a Linux kernel into an EFI application. In a sense, the kernel becomes its own boot loader. This approach to booting Linux is very elegant in some ways, but as described on the page to which I just linked, it has its disadvantages, too. One challenge to booting in this way is that modern Linux installations typically require that the kernel be passed a number of options at boot time. These tell the kernel where the Linux root (<tt>/</tt>) filesystem is, where the initial RAM disk is, and so on. Without these options, Linux won't boot. These options are impossible for a generic boot loader to guess without a little help. For this reason, rEFIt, rEFInd's parent program, could not boot a Linux kernel with EFI stub support. rEFInd, however, goes a little further....</p>
+<p>The Linux <a href="http://www.rodsbooks.com/efi-bootloaders/efistub.html">EFI stub loader</a> is a way to turn a Linux kernel into an EFI application. In a sense, the kernel becomes its own boot loader. This approach to booting Linux is very elegant in some ways, but as described on the page to which I just linked, it has its disadvantages, too. One challenge to booting in this way is that modern Linux installations typically require that the kernel be passed a number of options at boot time. These tell the kernel where the Linux root (<tt>/</tt>) filesystem is, where the initial RAM disk is, and so on. Without these options, Linux won't boot. These options are impossible for a generic boot loader to guess without a little help. It's possible to build a kernel with a default set of options, but this is rather limiting. Thus, rEFInd provides configuration options to help.</p>
 
 <p>With all versions of rEFInd, you can create manual boot loader stanzas in the <tt>refind.conf</tt> file to identify a Linux kernel and to pass it all the options it needs. This approach is effective and flexible, but it requires editing a single configuration file. If a computer boots two different Linux distributions, and if both were to support rEFInd, problems might arise as each one tries to modify its own rEFInd configuration; or the one that controls rEFInd might set inappropriate options for another distribution. This is a problem that's been a minor annoyance for years under BIOS, since the same potential for poor configuration applies to LILO, GRUB Legacy, and GRUB 2 on BIOS. The most reliable solution there is to chainload one boot loader to another. The same solution is possible under EFI, but rEFInd offers another possibility.</p>
 
index 0115e7f2151e9334627fd1fc865e7a7393fcf211..2cb33262600bf84cebe0014e143c0936b6619e43 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/26/2012</p>
+  <p>Last Web page update: 4/5/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.4 (4/5/2012)</b>&mdash;This version adds support for a new location for EFI shells (<tt>shell<tt class="variable">arch</tt>.efi</tt> in the ESP's root directory. It also adds two new <tt>refind.conf</tt> options: <tt>showtools</tt> and <tt>max_tags</tt>, and removes another one (<tt>disable</tt>). The options available in <tt>hideui</tt> are now essentially a combination of what <tt>disable</tt> and <tt>hideui</tt> did, minus functionality now present in <tt>showtools</tt>. I made these changes to reduce redundancy and to increase flexibility. See the <a href="configfile.html">Configuring the Boot Manager</a> page for details.</li>
+
 <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>
index 56d6cea98c2d2d2dac34e3707fda425739b0d7ed..efc44815c5181eeeda2223cbda8f380727fa0c26 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/26/2012, referencing rEFInd 0.2.3</p>
+  <p>Originally written: 3/14/2012; last Web page update: 4/5/2012, referencing rEFInd 0.2.4</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>
@@ -121,8 +121,6 @@ program. I'm not sure what you'd use in Windows to create ICNS files.</li>
 
 <li>It would be useful to be able to specify paths to boot loaders and/or initial RAM disks relative to the rEFInd directory (or the boot loader's directory, in the case of initrds).</li>
 
-<li>I don't like the <tt>disable</tt> and <tt>hideui</tt> options in <tt>refind.conf</tt>. I'd like to replace them with a positive option listing for utilities, similar to <tt>scanfor</tt> (which in fact replaces other "hide" options in rEFIt).</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>
index ecf3242c5c60e6c054d5d4692bde5bebfe33247c..e41df8d0d93fba4146f5cca087d2ca4ec2f2074c 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/26/2012, referencing rEFInd 0.2.3</p>
+  <p>Originally written: 3/14/2012; last Web page update: 4/5/2012, referencing rEFInd 0.2.4</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>
@@ -107,14 +107,10 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <ul>
 
-<div class="sidebar">
-
-<p>As noted on the <a href="installing.html">Installing rEFInd</a> page, the <tt>gptsync</tt> utility is dangerous, but it's useful on some Mac systems that dual-boot with Windows. If you're using a UEFI-based PC, it's best to <i>not</i> install this utility!</p>
-
-</div>
-
 <li>Launch the EFI shell</li>
 
+<p class="sidebar">As noted on the <a href="installing.html">Installing rEFInd</a> page, the <tt>gptsync</tt> utility is dangerous, but it's useful on some Mac systems that dual-boot with Windows. If you're using a UEFI-based PC, it's best to <i>not</i> install this utility!</p>
+
 <li>Launch the <tt>gptsync</tt> utility</li>
 
 <li>Produce an information page</li>
@@ -125,7 +121,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 </ul>
 
-<p>The last three of these options are always available by default, but the first depends on the presence of the EFI shell program file, as described earlier. If you install <tt>gptsync.efi</tt>, its icon will appear, as well.</p>
+<p>The last three of these options are always available by default, but the first depends on the presence of the EFI shell program file, as described earlier. To get the <tt>gptsync</tt> icon, you must install <tt>gptsync.efi</tt> and adjust the <tt>showtools</tt> option in <tt>refind.conf</tt>, as well.</p>
 
 <p>To launch an OS or utility, you should select its icon and then press the Enter key. If you press the Insert key, rEFInd will show a menu that may hold additional options, depending on the OS type. The following figure shows the submenu for Mac OS X. You can use this menu much like the main menu; move the cursor to select the option you want to use, then press the Enter key to launch the boot loader with the selected options. Press the Esc key or select <tt>Return to Main Menu</tt> to return to the main menu.</p>
 
index c5c054a34d6ee9f6dc660418a9e88b81689a49a8..573844a1c386cc570107c98b0785a57038f6c43b 100644 (file)
@@ -8,18 +8,18 @@
 #
 timeout 20
 
-# Disable user interface elements for personal preference or to increase
+# Hide user interface elements for personal preference or to increase
 # security:
 #  banner      - the rEFInd title banner
 #  label       - text label in the menu
 #  singleuser  - remove the submenu options to boot Mac OS X in single-user
-#                or verbose modes
+#                or verbose modes; affects ONLY MacOS X
 #  hwtest      - the submenu option to run Apple's hardware test
 #  arrows      - scroll arrows on the OS selection tag line
 #  all         - all of the above
 #
-#disable singleuser
-#disable all
+#hideui singleuser
+#hideui all
 
 # Use a custom title banner instead of the rEFInd icon and name. The file
 # path is relative to the directory where refind.efi is located. The color
index c2f6ba446aed8cea08dbf5b742a33793984fe5f3..803ce61bde5bf852bbc1e5fdc070ce2204163a5d 100644 (file)
@@ -326,25 +326,25 @@ VOID ReadConfig(VOID)
         if (StriCmp(TokenList[0], L"timeout") == 0) {
             HandleInt(TokenList, TokenCount, &(GlobalConfig.Timeout));
 
-        // Note: I'm using "hideui" as equivalent to "disable" for the moment (as of rEFInd 0.2.4)
+        // Note: I'm using "disable" as equivalent to "hideui" for the moment (as of rEFInd 0.2.4)
         // because I've folded two options into one and removed some values, so I want to catch
-        // existing configurations as much as possible. The "hideui" equivalency to "disable" will
-        // be removed sooner or later....
-        } else if ((StriCmp(TokenList[0], L"disable") == 0) || (StriCmp(TokenList[0], L"hideui") == 0)) {
+        // existing configurations as much as possible. The "disable" equivalency to "hideui" will
+        // be removed sooner or later, leaving only "hideui".
+        } else if ((StriCmp(TokenList[0], L"hideui") == 0) || (StriCmp(TokenList[0], L"disable") == 0)) {
             for (i = 1; i < TokenCount; i++) {
                 FlagName = TokenList[i];
                 if (StriCmp(FlagName, L"banner") == 0) {
-                   GlobalConfig.DisableFlags |= DISABLE_FLAG_BANNER;
+                   GlobalConfig.HideUIFlags |= HIDEUI_FLAG_BANNER;
                 } else if (StriCmp(FlagName, L"label") == 0) {
-                   GlobalConfig.DisableFlags |= DISABLE_FLAG_LABEL;
+                   GlobalConfig.HideUIFlags |= HIDEUI_FLAG_LABEL;
                 } else if (StriCmp(FlagName, L"singleuser") == 0) {
-                    GlobalConfig.DisableFlags |= DISABLE_FLAG_SINGLEUSER;
+                    GlobalConfig.HideUIFlags |= HIDEUI_FLAG_SINGLEUSER;
                 } else if (StriCmp(FlagName, L"hwtest") == 0) {
-                    GlobalConfig.DisableFlags |= DISABLE_FLAG_HWTEST;
+                    GlobalConfig.HideUIFlags |= HIDEUI_FLAG_HWTEST;
                 } else if (StriCmp(FlagName, L"arrows") == 0) {
-                   GlobalConfig.DisableFlags |= DISABLE_FLAG_ARROWS;
+                   GlobalConfig.HideUIFlags |= HIDEUI_FLAG_ARROWS;
                 } else if (StriCmp(FlagName, L"all") == 0) {
-                    GlobalConfig.DisableFlags = DISABLE_ALL;
+                    GlobalConfig.HideUIFlags = HIDEUI_ALL;
                 } else {
                     Print(L" unknown disable flag: '%s'\n", FlagName);
                 }
index 62d233b483055e7388109bedb2b18ab1c9a64859..f1d4059c613f3a99736e9e11cc028ef9fa32b8f6 100644 (file)
@@ -63,12 +63,12 @@ typedef struct {
     CHAR16  *End16Ptr;
 } REFIT_FILE;
 
-#define DISABLE_FLAG_BANNER     (0x0001)
-#define DISABLE_FLAG_LABEL      (0x0002)
-#define DISABLE_FLAG_SINGLEUSER (0x0004)
-#define DISABLE_FLAG_HWTEST     (0x0008)
-#define DISABLE_FLAG_ARROWS     (0x0010)
-#define DISABLE_ALL             ((0xffff))
+#define HIDEUI_FLAG_BANNER     (0x0001)
+#define HIDEUI_FLAG_LABEL      (0x0002)
+#define HIDEUI_FLAG_SINGLEUSER (0x0004)
+#define HIDEUI_FLAG_HWTEST     (0x0008)
+#define HIDEUI_FLAG_ARROWS     (0x0010)
+#define HIDEUI_ALL             ((0xffff))
 
 VOID ReadConfig(VOID);
 VOID ScanUserConfigured(VOID);
index 0bcc13cf16f7d2d3ec5634960423dd61435ce951..1218c44de08ad88d2a6ba05633fcccfbd33704d7 100644 (file)
@@ -151,7 +151,7 @@ typedef struct {
 typedef struct {
    BOOLEAN     TextOnly;
    UINTN       Timeout;
-   UINTN       DisableFlags;
+   UINTN       HideUIFlags;
    UINTN       MaxTags;     // max. number of OS entries to show simultaneously in graphics mode
    CHAR16      *BannerFileName;
    CHAR16      *SelectionSmallFileName;
index 702f0b780a7f25a58df6b990414f49e22015483a..5ccd5773bdddcfc52ad1350a8f630ef97d66293a 100644 (file)
@@ -83,7 +83,7 @@ static VOID AboutrEFInd(VOID)
 {
     if (AboutMenu.EntryCount == 0) {
         AboutMenu.TitleImage = BuiltinIcon(BUILTIN_ICON_FUNC_ABOUT);
-        AddMenuInfoLine(&AboutMenu, L"rEFInd Version 0.2.3.4");
+        AddMenuInfoLine(&AboutMenu, L"rEFInd Version 0.2.4");
         AddMenuInfoLine(&AboutMenu, L"");
         AddMenuInfoLine(&AboutMenu, L"Copyright (c) 2006-2010 Christoph Pfisterer");
         AddMenuInfoLine(&AboutMenu, L"Copyright (c) 2012 Roderick W. Smith");
@@ -359,7 +359,7 @@ VOID GenerateSubScreen(LOADER_ENTRY *Entry, IN REFIT_VOLUME *Volume) {
       } // if
 #endif
 
-      if (!(GlobalConfig.DisableFlags & DISABLE_FLAG_SINGLEUSER)) {
+      if (!(GlobalConfig.HideUIFlags & HIDEUI_FLAG_SINGLEUSER)) {
          SubEntry = InitializeLoaderEntry(Entry);
          if (SubEntry != NULL) {
             SubEntry->me.Title        = L"Boot Mac OS X in verbose mode";
@@ -397,7 +397,7 @@ VOID GenerateSubScreen(LOADER_ENTRY *Entry, IN REFIT_VOLUME *Volume) {
 
       // check for Apple hardware diagnostics
       StrCpy(DiagsFileName, L"\\System\\Library\\CoreServices\\.diagnostics\\diags.efi");
-      if (FileExists(Volume->RootDir, DiagsFileName) && !(GlobalConfig.DisableFlags & DISABLE_FLAG_HWTEST)) {
+      if (FileExists(Volume->RootDir, DiagsFileName) && !(GlobalConfig.HideUIFlags & HIDEUI_FLAG_HWTEST)) {
          SubEntry = InitializeLoaderEntry(Entry);
          if (SubEntry != NULL) {
             SubEntry->me.Title        = L"Run Apple Hardware Test";
@@ -1275,7 +1275,6 @@ static VOID ScanForTools(VOID) {
             AddMenuEntry(&MainMenu, &MenuEntryReset);
             break;
          case TAG_ABOUT:
-            Print(L"Adding menu entry for the 'about' tag....\n");
             MenuEntryAbout.Image = BuiltinIcon(BUILTIN_ICON_FUNC_ABOUT);
             AddMenuEntry(&MainMenu, &MenuEntryAbout);
             break;
index 194fcb29edbfd4424b58a23aa3caaa603a3c60ae..90df56b164c2a75652151497f7424f0fac9e3933 100644 (file)
@@ -673,7 +673,7 @@ static VOID PaintAll(IN REFIT_MENU_SCREEN *Screen, IN SCROLL_STATE *State, UINTN
                            itemPosX[i], row1PosY);
       }
    }
-   if (!(GlobalConfig.DisableFlags & DISABLE_FLAG_LABEL))
+   if (!(GlobalConfig.HideUIFlags & HIDEUI_FLAG_LABEL))
       DrawMainMenuText(Screen->Entries[State->CurrentSelection]->Title,
                        (UGAWidth - LAYOUT_TEXT_WIDTH) >> 1, textPosY);
 } // static VOID PaintAll()
@@ -688,7 +688,7 @@ static VOID PaintSelection(IN REFIT_MENU_SCREEN *Screen, IN SCROLL_STATE *State,
       DrawMainMenuEntry(Screen->Entries[State->CurrentSelection], TRUE,
                         itemPosX[State->CurrentSelection - State->FirstVisible],
                         (Screen->Entries[State->CurrentSelection]->Row == 0) ? row0PosY : row1PosY);
-      if (!(GlobalConfig.DisableFlags & DISABLE_FLAG_LABEL))
+      if (!(GlobalConfig.HideUIFlags & HIDEUI_FLAG_LABEL))
          DrawMainMenuText(Screen->Entries[State->CurrentSelection]->Title,
                           (UGAWidth - LAYOUT_TEXT_WIDTH) >> 1, textPosY);
    } else {
@@ -779,10 +779,10 @@ VOID MainMenuStyle(IN REFIT_MENU_SCREEN *Screen, IN SCROLL_STATE *State, IN UINT
             // For PaintIcon() calls, the starting Y position is moved to the midpoint
             // of the surrounding row; PaintIcon() adjusts this back up by half the
             // icon's height to properly center it.
-            if ((State->FirstVisible > 0) && (!(GlobalConfig.DisableFlags & DISABLE_FLAG_ARROWS)))
+            if ((State->FirstVisible > 0) && (!(GlobalConfig.HideUIFlags & HIDEUI_FLAG_ARROWS)))
                PaintIcon(&egemb_arrow_left, L"icons\\arrow_left.icns", row0PosX - TILE_XSPACING,
                          row0PosY + (ROW0_TILESIZE / 2), ALIGN_RIGHT);
-            if ((State->LastVisible < (row0Loaders - 1)) && (!(GlobalConfig.DisableFlags & DISABLE_FLAG_ARROWS)))
+            if ((State->LastVisible < (row0Loaders - 1)) && (!(GlobalConfig.HideUIFlags & HIDEUI_FLAG_ARROWS)))
                PaintIcon(&egemb_arrow_right, L"icons\\arrow_right.icns",
                          (UGAWidth + (ROW0_TILESIZE + TILE_XSPACING) * State->MaxVisible) / 2 + TILE_XSPACING,
                          row0PosY + (ROW0_TILESIZE / 2), ALIGN_LEFT);
@@ -793,7 +793,7 @@ VOID MainMenuStyle(IN REFIT_MENU_SCREEN *Screen, IN SCROLL_STATE *State, IN UINT
             break;
             
         case MENU_FUNCTION_PAINT_TIMEOUT:
-            if (!(GlobalConfig.DisableFlags & DISABLE_FLAG_LABEL))
+            if (!(GlobalConfig.HideUIFlags & HIDEUI_FLAG_LABEL))
                 DrawMainMenuText(ParamText, (UGAWidth - LAYOUT_TEXT_WIDTH) >> 1, textPosY + TEXT_LINE_HEIGHT);
             break;
             
index bb4a71744a0463b7cc62e58306ce0ad45b6fef14..fe57a23dca8597ef0a97208b41e5194e05592c5f 100644 (file)
@@ -341,7 +341,7 @@ VOID BltClearScreen(IN BOOLEAN ShowBanner)
 {
     static EG_IMAGE *Banner = NULL;
 
-    if (ShowBanner && !(GlobalConfig.DisableFlags & DISABLE_FLAG_BANNER)) {
+    if (ShowBanner && !(GlobalConfig.HideUIFlags & HIDEUI_FLAG_BANNER)) {
         // load banner on first call
         if (Banner == NULL) {
             if (GlobalConfig.BannerFileName == NULL)