]> code.delx.au - refind/blobdiff - docs/refind/todo.html
Refinements, mostly to shim/MOK support.
[refind] / docs / refind / todo.html
index f3290a6f18eb1637a9c9b8465ad40a659b35908e..cf9de2dcb69c77e117c8d027b2be1fc4e974d0e3 100644 (file)
@@ -15,7 +15,7 @@
 href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <p>Originally written: 3/14/2012; last Web page update:
-6/23/2012, referencing rEFInd 0.4.4</p>
+11/6/2012, referencing rEFInd 0.4.7</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>
@@ -131,6 +131,14 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
     <ul>
 
+    <li>The support for booting legacy (BIOS) OSes on UEFI-based PCs
+       currently has a number of limitations. Most importantly, it works
+       off of the list of boot devices stored in the computer's NVRAM. I'd
+       prefer to have it scan disks and partitions, as the Mac's legacy
+       boot support does. Also, the UEFI legacy boot code presents empty
+       optical drives and uses generic icons rather than OS-specific
+       icons.</li>
+
     <li>Currently, rEFInd can detect whether it's compiled for <i>x</i>86
        or <i>x</i>86-64 systems and displays this information in its
        "About" screen (<tt>AboutrEFInd()</tt> in <tt>main.c</tt>). I'd
@@ -187,13 +195,19 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
     <ul>
 
-    <li>I'd like to find a way to get rEFInd to launch BIOS boot loaders on
-       UEFI-based systems. This option currently works only on
-       Macs&mdash;or at least, I've not gotten it to work on any of my
-       UEFI-based PCs. (I've done some experiments to try to get this to
-       work, but so far without success. If you'd like to help on this, <a
-       href="mailto:rodsmith@rodsbooks.com">e-mail me</a> for my
-       thoughts.)</li>
+    <li>When in Secure Boot mode, rEFInd can launch just one driver that's
+       signed with a shim key or MOK. The second and later drivers
+       generate "access denied" errors. <!-- I think this is because of
+       the fast-and-loose sample code I borrowed from shim, which re-uses
+       rEFInd's own image handle (the <tt>image_handle</tt> variable in
+       <tt>start_image()</tt>) for launching shim/MOK-signed binaries. The
+       result is that when the second driver is loaded, it can't register
+       itself with the firmware because the firmware believes it's already
+       been registered. The solution is likely to involve creating a child
+       image handle rather than re-using rEFInd's own image handle, but
+       this is likely to be tedious to do&mdash;see
+       <tt>/usr/local/UDK2010/MyWorkSpace/MdeModulePkg/Core/Dxe/Image/Image.c</tt>
+       for the reference UEFI implementation. --> </li>
 
     <li>The <a href="http://www.rodsbooks.com/gb-hybrid-efi/">Gigabyte
        Hybrid EFI</a> has a bug that causes the allegedly case-insensitive
@@ -246,6 +260,14 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
     <ul>
 
+    <li>With the arrival of PCs preloaded with Windows 8 and with Secure
+       Boot enabled, some way to cope is in order. I'm thinking of adding
+       code to limit or prohibit booting of unsigned boot loaders if
+       rEFInd detects that Secure Boot is active, and link with the <a
+       href="http://mjg59.dreamwidth.org/18945.html">Shim</a>
+       pre-bootloader to help handle signing and authentication. I need to
+       research the technical details more, though.</li>
+
     <li>EFI supports network boots. rEFInd doesn't, but it would be nice if
        it would.</li>
 
@@ -320,9 +342,6 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
        href="http://www.rodsbooks.com/bios2uefi/">DUET</a>). Nonetheless,
        I'd like to track down the cause and fix it.</li>
 
-    <li>The driver installation procedure could be improved, perhaps by
-        adding support for drivers to the <tt>install.sh</tt> script.</li>
-
     <li>The HFS+ driver returns a volume label of "HFS+ volume", no matter
         what the volume's real label is.</li>