]> code.delx.au - refind/blobdiff - docs/refind/todo.html
Added feature to detect the root (/) Linux filesystem based on
[refind] / docs / refind / todo.html
index 89835be31a8ac5742da844acd87b3b901331153f..76a3c5518c7bf2394970a7130220d41231487cdc 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>
 
 href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <p>Originally written: 3/14/2012; last Web page update:
-4/25/2013, referencing rEFInd 0.6.9</p>
+3/1/2015, referencing rEFInd 0.8.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>
+<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>
 
 <table border="1">
 <tr>
@@ -148,12 +150,6 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
        systems with a limited number of configurations. Therefore, if you
        try rEFInd and run into bugs, please report them to me!</li>
 
-    <li>I have little talent with graphics manipulation programs, so
-       rEFInd's boot logo, such as it is, is pretty weak. If you have
-       artistic talent and would like to create a rEFInd logo, please feel
-       free to send it to me. I won't make any final decision about
-       changes until at least June 30 of 2012.</li>
-
     <li>rEFIt's original design, and hence rEFInd's design, enables easy
        theming by replacing icon files. If you'd like to design a new
        theme for rEFInd, feel free to submit it. I might or might not
@@ -183,10 +179,10 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
        like to add detection for Itanium and ARM systems, but I have no
        way to test such changes.</li>
 
-    <li>Although the ICNS file format used by rEFInd supports multiple
-       image sizes, if a size that rEFInd needs isn't present in the file,
-       rEFInd can't use the icon. The ability to scale images to the
-       desired size would be useful.</li>
+    <li>Further to the preceding, rEFInd's GPT-scanning code (used to
+       extract partition names) includes assumptions about byte order, and
+       so will work only on little-endian CPUs such as the x86 and
+       x86-64.</li>
 
     <li>A way to set the color of the font would be useful for theming
         purposes.</li>
@@ -196,41 +192,47 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
        characters, and by enabling use of variable-width as well as
        monospace fonts.</li>
 
-    <li>I would like to be able to specify the volume on which a boot
-       loader resides using a partition GUID value, but extracting a GUID
-       from the partition data is harder than extracting the volume's
-       label or counting up the filesystem numbers.</li>
-
-    <li>Currently, if a filesystem's label comes up empty, rEFInd
-       substitutes the size, so you get displays like <tt>boot
-       EFI\foo\bar.efi from 90 GiB volume</tt>. I'd like to add more
-       checks to substitute the GPT <i>partition</i> label if the
-       <i>filesystem</i> label comes up empty.</li>
-
-    <li>The <tt>default_selection</tt> option in <tt>refind.conf</tt> could
-       be improved by supporting a list of default options, so that if the
-       first item isn't found, rEFInd will try to boot the second one in
-       the list, and so on. This could be handy in case a driver fails to
-       load, or to provide an override in case the user inserts a specific
-       removable disk&mdash;by placing the removable disk's name first in
-       the list, it will take precedence over the normal hard disk
-       default.</li>
-
-    <li>Along the lines of the previous item, the default_selection might
-       be expanded to support some form of specification of disk types, as
-       in a special entry for any optical disk or any external disk, no
-       matter what its name is.</li>
+    <li>The <tt>default_selection</tt> might be expanded to support some
+       form of specification of disk types, as in a special entry for any
+       optical disk or any external disk, no matter what its name is.</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>
 
-    </ul></li> <!-- Improvements -->
+    <li>Currently the background for certain subscreens (such as the
+       information page or submenu listings) is a solid color based on the
+       upper-left corner of the screen. Having an option to support a
+       transparent background is desirable to some users.</li>
+
+    <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>
 
     <ul>
 
+    <li>I've been receiving reports of blank screens when using rEFInd on
+       some recent Mac models. I've investigated this with the help of one
+       user, and I suspect that Apple has made changes to its firmware
+       that are likely to affect just about any EFI program. I don't have
+       a definitive solution, but at least one user has reported that
+       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
        <tt>StriCmp()</tt> function to perform a case-sensitive comparison.
@@ -268,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>
@@ -293,10 +302,27 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
     <li>The code is in need of review to search for memory leaks and
        similar problems.</li>
 
-    <li>If the user has a Linux software RAID 1 array, rEFInd will detect
-       kernels or boot loaders in RAID 1 twice. This could be fixed by
-       adding a check for duplicate filesystem UUIDs to the
-       partition-scanning code.</li>
+    <li>If the user has a Linux software RAID 1 array with Btrfs, HFS+,
+        or FAT filesystem, rEFInd will detect kernels or boot loaders in
+       RAID 1 twice. Checks to prevent this with ext2/3/4fs and ReiserFS
+       already exist; these checks could be expanded to block such
+       duplication with more filesystems.</li>
+
+    <li>Some Macs experience problems with waking up from suspend states
+       when rEFInd is installed. Unfortunately, I lack the hardware to
+       test and experiment with this (my only Intel-based Mac doesn't
+       exhibit this problem), so I can't fix this myself. <a
+       href="apple.stackexchange.com/questions/91139/why-does-my-mbp-sleep-on-mountain-lion-and-often-not-wake-up/91150#91150">Using
+       <tt>pmset</tt> to disable the <tt>autopoweroff</tt> option</a> is
+       <a
+       href="http://apple.stackexchange.com/questions/91529/macbook-air-not-waking-up-from-suspend-sleep-with-refind-boot-manager-installed">claimed
+       by some</a> to at least partially fix the problem, though. Using
+       the <tt>--ownhfs</tt> installation option may also help in some
+       cases.</li>
+
+    <li>If you activate BIOS-mode support on UEFI-based PCs, you may find
+       multiple copies of the BIOS-mode loaders added to your firmware's
+       boot manager. Only one copy shows up in rEFInd, though.</li>
 
     </ul></li> <!-- Known bugs -->
 
@@ -304,9 +330,6 @@ 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>
@@ -326,6 +349,21 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
        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>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
@@ -343,6 +381,9 @@ 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 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
@@ -354,22 +395,12 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
     <ul>
 
-    <li>Drivers for additional filesystems are desirable. Given the talk of
-       shifting to Btrfs, that should be the priority; however, other
-       Linux filesystems, UDF, and perhaps others would all be welcome
-       additions. Also along these lines, adding drivers for Linux LVM and
-       RAID setups would be useful, too.</li>
-
-    <li>As detailed on the <a href="drivers.html">drivers page,</a> there
-       are performance issues with the drivers on some systems. I suspect
-       that most "real" computers aren't greatly affected (in my tests,
-       the problem is worst with VirtualBox, and the next worst is a
-       system that uses <a
-       href="http://www.rodsbooks.com/bios2uefi/">DUET</a>). Nonetheless,
-       I'd like to track down the cause and fix it.</li>
-
-    <li>The HFS+ driver returns a volume label of "HFS+ volume", no matter
-        what the volume's real label is.</li>
+    <li>Drivers for additional filesystems are desirable. Only XFS and JFS
+       are missing from the major Linux filesystems. UDF would also be a
+       welcome addition, as might drivers for other OSes (say, for the
+       BSDs, especially if BSD developers create a boot loader similar to
+       Linux's EFI stub loader). Also along these lines, adding drivers
+       for Linux LVM and RAID setups would be useful.</li>
 
     <li>This may not be possible, or it may require a new driver, but a way
        to have the drivers access files (like a Linux loopback mount) is
@@ -385,11 +416,37 @@ 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
+    support tools:</b>
+
+    <ul>
+
+    <li>The <tt>gptsync</tt> program can return misleading error codes
+       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>
+
+    </ul></li>
+
 </ul>
 
 <hr />
 
-<p>copyright &copy; 2012&ndash;2013 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>