]> code.delx.au - refind/commitdiff
Fix legacy booting on Macs.
authorsrs5694 <srs5694@users.sourceforge.net>
Mon, 26 Aug 2013 03:27:02 +0000 (23:27 -0400)
committersrs5694 <srs5694@users.sourceforge.net>
Mon, 26 Aug 2013 03:27:02 +0000 (23:27 -0400)
NEWS.txt
docs/refind/configfile.html
docs/refind/installing.html
refind/main.c

index 60b4f8a04110f78ffeb803311eb2b56001c20198..3463d577ca11ef456463f1b72523385e5c69943c 100644 (file)
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -1,3 +1,10 @@
+0.7.4.1 (8/25/2013):
+--------------------
+
+- My initial 0.7.4 release broke legacy-boot ability on Macs, so I quickly
+  released this version using the original 0.7.4 filenames to fix the
+  problem.
+
 0.7.4 (8/25/2013):
 ------------------
 
index a2faaa2e5377316d27fdc7d878ecb33323fa0376..bc32c6c3fce75b4fe850b4d66f75b849faead5f4 100644 (file)
@@ -294,7 +294,7 @@ timeout 20
 <tr>
    <td><tt>dont_scan_volumes</tt> or <tt>don't_scan_volumes</tt></td>
    <td>filesystem label(s)</td>
-   <td>Adds the specified volume or volumes to a volume "blacklist"&mdash;these filesystems are <i>not</i> scanned for EFI boot loaders. This may be useful to keep unwanted EFI boot entries, such as for a Macintosh recovery partition, from appearing on the main list of boot loaders. The default value is <tt>Recovery HD</tt>, to keep the Mac recovery volume from appearing. (It should get its own tools icon instead&mdash;see the <tt>showtools</tt> token.)</td>
+   <td>Adds the specified volume or volumes to a volume "blacklist"&mdash;these filesystems are <i>not</i> scanned for EFI boot loaders. This may be useful to keep unwanted EFI boot entries, such as for a Macintosh recovery partition, from appearing on the main list of boot loaders. The default value is <tt>Recovery HD</tt>, to keep the Mac recovery volume from appearing. (It should get its own tools icon instead&mdash;see the <tt>showtools</tt> token.) Note that on a Macintosh with whole-disk encryption, you may need to uncomment this token and leave <tt>"Recovery HD"</tt> <i>off</i> the list to boot the system.</td>
 </tr>
 <tr>
    <td><tt>dont_scan_dirs</tt> or <tt>don't_scan_dirs</tt></td>
index 6db0ca4f22e55bee34839cc038b754ea8060bcfa..0e9a42fde0ebe89dff73c3647f7182805645cf34 100644 (file)
@@ -168,6 +168,8 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
    <li class="tight"><a href="#efishell">Installing rEFInd Manually Using an EFI Shell</a></ul></li>
 
+<li class="tight"><a href="#wde">Using OS X Whole-Disk Encryption</a></li>
+
 <li class="tight"><a href="#naming">Alternative Naming Options</a>
 
    <ul>
@@ -691,6 +693,20 @@ $ <b>ioreg -l -p IODeviceTree | grep firmware-abi</b>
 
 <p>With any luck, rEFInd will start up at this point. If not, you can check your settings using a shell or an emergency system for your OS of choice. In an EFI shell, you might type <tt class="userinput">bcfg boot dump -b</tt> to view your boot loader entries and verify that rEFInd appears at the top of the list. Be sure to check the pathname for typos. If you continue to have problems, you might look into giving rEFInd a <a href="#naming">fallback filename</a> that your firmware will recognize.</p>
 
+<a name="wde">
+<h2>Using OS X Whole-Disk Encryption</h2>
+</a>
+
+<p>If you're using OS X's Whole-Disk Encryption (WDE) feature, you must do two extra things:</p>
+
+<ul>
+
+<li>You must install rEFInd to the ESP. Unfortunately, as described earlier, this can result in a delay (usually of 30 seconds) as the firmware launches rEFInd. See the upcoming <a href="#sluggish">section on fixing sluggish Mac boots</a> if you run into this problem.</li>
+
+<li>You must uncomment the <tt>dont_scan_volumes</tt> line in <tt>refind.conf</tt> and ensure that <tt>"Recovery HD"</tt> is <i>not</i> among its options. (You can use a blank line or provide a dummy value if you want to scan all your volumes.) Alternatively, you can create a manual boot stanza to boot OS X.</li>
+
+</ul>
+
 <a name="naming">
 <h2>Alternative Naming Options</h2>
 </a>
index 0b899f80c086e65aab94cc526ee7cdfcbc0aee18..21803bc886bb16a5822c64dfe635f5a51ab72f28 100644 (file)
@@ -152,7 +152,7 @@ static VOID AboutrEFInd(VOID)
 {
     if (AboutMenu.EntryCount == 0) {
         AboutMenu.TitleImage = BuiltinIcon(BUILTIN_ICON_FUNC_ABOUT);
-        AddMenuInfoLine(&AboutMenu, L"rEFInd Version 0.7.4");
+        AddMenuInfoLine(&AboutMenu, L"rEFInd Version 0.7.4.1");
         AddMenuInfoLine(&AboutMenu, L"");
         AddMenuInfoLine(&AboutMenu, L"Copyright (c) 2006-2010 Christoph Pfisterer");
         AddMenuInfoLine(&AboutMenu, L"Copyright (c) 2012-2013 Roderick W. Smith");
@@ -283,7 +283,7 @@ static EFI_STATUS StartEFIImageList(IN EFI_DEVICE_PATH **DevicePaths,
        // protect for this condition; but sometimes Volume comes back NULL, so provide
        // an exception. (TODO: Handle this special condition better.)
        if ((LoaderType == TYPE_LEGACY) || (Volume == NULL) || IsValidLoader(Volume->RootDir, Filename)) {
-          if (Filename) {
+          if (Filename && (LoaderType != TYPE_LEGACY)) {
              Temp = PoolPrint(L"\\%s %s", Filename, FullLoadOptions ? FullLoadOptions : L"");
              if (Temp != NULL) {
                 MyFreePool(FullLoadOptions);