]> code.delx.au - refind/blobdiff - docs/refind/todo.html
Fixed bug that caused volume icons to be read only from default icons
[refind] / docs / refind / todo.html
index df3d665c915d2d337d6b6db27874981721a219bc..614723fa66b11ad572c8d7dabef88d042616e42e 100644 (file)
@@ -8,6 +8,8 @@
   <link href="../Styles/styles.css" rel="stylesheet" type="text/css" />
 </head>
 
+<meta name="viewport" content="width=device-width, initial-scale=1">
+
 <body>
   <h1>The rEFInd Boot Manager:<br />The Future of rEFInd</h1>
 
@@ -15,7 +17,7 @@
 href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <p>Originally written: 3/14/2012; last Web page update:
-7/6/2014, referencing rEFInd 0.8.3</p>
+12/12/2015, referencing rEFInd 0.10.1</p>
 
 
 <p>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>
@@ -41,8 +43,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 <input type="hidden" name="amount" value="1.00">
 <input type="hidden" name="item_name" value="rEFInd Boot Manager">
 <input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHostedGuest">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="Donate with PayPal" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
+<input type="image" src="donate.png" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
 </form>
 </td>
 
@@ -56,8 +57,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 <input type="hidden" name="amount" value="2.50">
 <input type="hidden" name="item_name" value="rEFInd Boot Manager">
 <input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHostedGuest">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="Donate with PayPal" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
+<input type="image" src="donate.png" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
 </form>
 </td>
 
@@ -72,8 +72,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 <input type="hidden" name="amount" value="5.00">
 <input type="hidden" name="item_name" value="rEFInd Boot Manager">
 <input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHostedGuest">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="Donate with PayPal" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
+<input type="image" src="donate.png" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
 </form>
 </td>
 
@@ -87,8 +86,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 <input type="hidden" name="amount" value="10.00">
 <input type="hidden" name="item_name" value="rEFInd Boot Manager">
 <input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHostedGuest">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="Donate with PayPal" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
+<input type="image" src="donate.png" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
 </form>
 </td>
 
@@ -102,8 +100,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 <input type="hidden" name="amount" value="20.00">
 <input type="hidden" name="item_name" value="rEFInd Boot Manager">
 <input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHostedGuest">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="Donate with PayPal" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
+<input type="image" src="donate.png" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
 </form>
 </td>
 
@@ -116,8 +113,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 <input type="hidden" name="currency_code" value="USD">
 <input type="hidden" name="item_name" value="rEFInd Boot Manager">
 <input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHostedGuest">
-<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
-<img alt="Donate with PayPal" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
+<input type="image" src="donate.png" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
 </form>
 </td></tr>
 </table>
@@ -163,6 +159,12 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
     <ul>
 
+    <li>As described in reference to version 0.9.2 on the <a
+       href="revisions.html">Revisions</a> page, rEFInd includes a
+       delicate and hackish workaround to a problem introduced by Shim
+       0.8. Developing a better solution to that problem is a high
+       priority.</li>
+
     <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
@@ -171,11 +173,16 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
        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
-       like to add detection for Itanium and ARM systems, but I have no
-       way to test such changes.</li>
+    <li>rEFInd's <tt>Makefile</tt>s and, to a lesser extent, C code,
+       support <i>x</i>86, <i>x</i>86-64, and ARM64 CPUs. EFI is also
+       available for Itanium (IA-64) and ARM32 CPUs, so I'd like to add
+       this support.</li>
+
+    <li>Currently, rEFInd can detect whether it's compiled for <i>x</i>86,
+       <i>x</i>86-64, or ARM64 systems and displays this information in
+       its "About" screen (<tt>AboutrEFInd()</tt> in <tt>main.c</tt>). I'd
+       like to add detection for Itanium and 32-bit ARM systems, but I
+       have no way to test such changes.</li>
 
     <li>Further to the preceding, rEFInd's GPT-scanning code (used to
        extract partition names) includes assumptions about byte order, and
@@ -203,7 +210,21 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
        upper-left corner of the screen. Having an option to support a
        transparent background is desirable to some users.</li>
 
-    </ul></li> <!-- Improvements -->
+    <li>When delivering rEFInd as a boot loader from a network server,
+       rEFInd is limited to its default options and can boot only local
+       OSes, not network OSes. The cause is that the server delivers a
+       single file, so rEFInd is divorced from its configuration and
+       support files.</li>
+
+    <li>A way to identify specific Windows versions and present unique
+       icons or change the text is desirable. Currently, a crude
+       distinction of XP and earlier vs. Vista and later is possible for
+       BIOS-booting on Macs, but no such distinction is made for EFI-mode
+       booting, and nothing finer-grained is attempted. Improvements will
+       probably require identifying unique features of each version's boot
+       loader files or boot sector code.</li>
+
+</ul></li> <!-- Improvements -->
 
 <li><b>Known bugs that need squashing:</b>
 
@@ -217,8 +238,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
        removing rEFInd's drivers has caused the problem to go into
        remission.</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
+    <li>Some EFIs have bugs that cause the allegedly case-insensitive
        <tt>StriCmp()</tt> function to perform a case-sensitive comparison.
        This causes any number of bugs in file matching. For instance:
        Changing the case of icon filename extensions (or various other
@@ -226,14 +246,10 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
        "generic" ones; and rEFInd sometimes appears in its own menu (the
        firmware sometimes returns an all-caps version of the filename, but
        other times returns the filename with the correct case, causing a
-       mismatch if the path includes lowercase elements). Some of these
-       problems can be overcome by converting both strings to be compared
-       to one case before doing the comparison, but others aren't so easy,
-       since I think <tt>StriCmp()</tt> is being called internally to the
-       EFI. In any event, it'd be nice to fix some of these problems.
-       OTOH, this is a workaround for a bug on just one EFI
-       implementation, and a dismal one at that, so I'm inclined to just
-       let it go.</li>
+       mismatch if the path includes lowercase elements). This problem is
+       worse when compiling rEFInd with GNU-EFI than with Tianocore.
+       Version 0.9.1 has made improvements on this score, but some issues
+       may continue to lurk.</li>
 
     <li>The Shutdown option works correctly on Macs, but not on many UEFI-based
        PCs. On such systems, Shutdown reboots the computer. This should be
@@ -254,6 +270,13 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
        have the equipment and skill to do so, I'd be interested in
        receiving a patch.</li>
 
+    <li>If you use a true MBR disk on a Mac to boot Windows or some other
+       BIOS-only OS, and if that disk has an extended partition, bogus
+       additional BIOS/legacy-bootable options may appear in the rEFInd
+       menu. The reason appears to be a bug in the handling of
+       extended/logical partitions in the <tt>refind/lib.c</tt> file, but
+       I haven't fully tracked it down.</li>
+
     <li>The re-scan feature occasionally produces odd results, such as
        ignoring new media or keeping old media that have been ejected.
        This should be investigated and fixed.</li>
@@ -307,28 +330,34 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
     <ul>
 
-    <li>EFI supports network boots. rEFInd doesn't, but it would be nice if
-       it would.</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>I've received queries about rEFInd's ability to work with Apple's
-       whole-disk encryption scheme that's new with OS X 10.7.
-       Unfortunately, I lack the hardware to test this, but my
-       understanding is that it will work correctly <i>if</i> rEFInd is
-       installed in the ESP rather than on the Mac OS X root partition.
-       See <a
-       href="https://sourceforge.net/p/refind/discussion/general/thread/5c7d0195/">this
-       forum thread</a> for more information.</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.
        One possible way to implement this would be to have manual boot
        stanzas override auto-detected boot loader definitions for the same
        boot loader file.</li>
 
+    <li>Along similar lines, some users have asked for a way to take
+       detected boot programs and create a set of manual boot stanzas for
+       them, so that they can be modified manually.</li>
+
+    <li>Support for touchscreens and/or configurable buttons for rEFInd's
+       actions would enable use of rEFInd on tablet computers that lack
+       complete keyboards.</li>
+
+    <li>The ability to rotate the display for users who rotate their
+       monitors or who use tablets would be helpful.</li>
+
+    <li>GRUB provides a configuration-file command called <tt>outb</tt>
+       that enables manipulating hardware registers. Something similar,
+       via the <tt>mm</tt> command, can be done in the EFI shell. I'd like
+       to add such a feature to rEFInd, since it enables doing things like
+       disabling one or another video output on Macs with two video
+       cards.</li>
+
     <li>I have thoughts about creating an EFI configuration tool and
        information utility&mdash;something to tell you about your hard
        disks, enable you to manage MOKs, adjust boot loader priority in
@@ -346,13 +375,15 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
        loader settings&mdash;say, to disable one specific boot loader or
        change its icon.</li>
 
-    <li>The ability to rotate the display for users who rotate their
-       monitors would be helpful.</li>
+    <li>A GUI configuration tool for host OSes (Linux, OS X, Windows, etc.)
+       would be nice, but it's low on my personal priority list. If you'd
+       like to contribute, I prefer something written in a cross-platform
+       GUI toolkit, so that a single code base can be used on any of the
+       major OSes.</li>
 
-    <li>A GUI configuration tool would be nice, but it's low on my personal
-       priority list. If you'd like to contribute, I prefer something
-       written in a cross-platform GUI toolkit, so that a single code base
-       can be used on any of the major OSes.</li>
+    <li>The ability to produce audio output (at least a simple "beep") to signal
+        to visually impaired users when rEFInd is ready to accept input would be
+        helpful.</li>
 
     </ul></li> <!-- New features -->
 
@@ -381,7 +412,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
     </ul></li> <!-- Drivers -->
 
-<li><b>Improvements to <tt>gptsync</tt>, <tt>install.sh</tt>, or other
+<li><b>Improvements to <tt>gptsync</tt>, <tt>refind-install</tt>, or other
     support tools:</b>
 
     <ul>
@@ -390,13 +421,10 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
        under some circumstances, such as when it makes no changes to the
        partition table. Fix this.</li>
 
-    <li>When updating a system with Secure Boot via an RPM or Debian
-       package, the RPM installation script can detect rEFInd's existing
-       shim or PreLoader program and pass options to <tt>install.sh</tt>
-       to try to copy these programs over themselves. This results in a
-       message that the copy was over the same file and an error message
-       that there were problems with the installation, although this isn't
-       really the case.</li>
+    <li>rEFInd's support for network booting is primitive and relies on the
+       external iPXE package. In my own testing, iPXE retrieves the
+       BIOS-mode boot loader from some servers that offer both, which
+       makes it useless on those networks.</li>
 
     <li>A Mac-specific package is highly desirable.</li>
 
@@ -406,7 +434,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <hr />
 
-<p>copyright &copy; 2012&ndash;2014 by Roderick W. Smith</p>
+<p>copyright &copy; 2012&ndash;2015 by Roderick W. Smith</p>
 
 <p>This document is licensed under the terms of the <a href="FDL-1.3.txt">GNU Free Documentation License (FDL), version 1.3.</a></p>