X-Git-Url: https://code.delx.au/refind/blobdiff_plain/65eb839a6d8d68a439056473a0d3728dfd39d2c4..2569172b598d42a95c1aeb3bde752358f0b43689:/docs/refind/todo.html
diff --git a/docs/refind/todo.html b/docs/refind/todo.html
index 03bac98..cea9202 100644
--- a/docs/refind/todo.html
+++ b/docs/refind/todo.html
@@ -15,7 +15,7 @@
href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com
Originally written: 3/14/2012; last Web page update:
-5/20/2012, referencing rEFInd 0.4.0
+3/18/2013, referencing rEFInd 0.6.8
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!
@@ -131,32 +131,58 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com
+ - 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.
+
- Currently, rEFInd can detect whether it's compiled for x86
or x86-64 systems and displays this information in its
"About" screen (AboutrEFInd() in main.c). I'd
like to add detection for Itanium and ARM systems, but I have no
way to test such changes.
- - The code could be more flexible in its handling of the sizes of
- various graphical elements, and particularly drawn text. Prior to
- version 0.2.2, submenu text was invisible on UEFI-based PCs with
- 800x600 and smaller displays because of an inability to properly
- crop the graphics fields that hold the text. With version 0.2.2,
- I've put a band-aid on this problem by reducing the field size so
- that it now works on 800x600 displays, but smaller displays still
- suffer from this problem. This is just an example of the
- inflexibility of certain layout issues within rEFInd.
-
- 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.
+ - A way to set the color of the font would be useful for theming
+ purposes.
+
+ - The program's font features could be greatly improved by enabling
+ use of a standard font format, by enabling use of non-ASCII
+ characters, and by enabling use of variable-width as well as
+ monospace fonts.
+
- 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.
+ - Currently, if a filesystem's label comes up empty, rEFInd
+ substitutes the size, so you get displays like boot
+ EFI\foo\bar.efi from 90 GiB volume. I'd like to add more
+ checks to substitute the GPT partition label if the
+ filesystem label comes up empty.
+
+ - The default_selection option in refind.conf 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—by placing the removable disk's name first in
+ the list, it will take precedence over the normal hard disk
+ default.
+
+ - 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.
+
- 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).
@@ -167,14 +193,6 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com
- - 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—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, e-mail me for my
- thoughts.)
-
- The Gigabyte
Hybrid EFI has a bug that causes the allegedly case-insensitive
StriCmp() function to perform a case-sensitive comparison.
@@ -193,17 +211,44 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com
implementation, and a dismal one at that, so I'm inclined to just
let it go.
- - The Shutdown option works correctly on Macs, but not on UEFI-based PCs.
- On such systems, Shutdown reboots the computer. This should be
- fixed.
+ - The Shutdown option works correctly on Macs, but not on many UEFI-based
+ PCs. On such systems, Shutdown reboots the computer. This should be
+ fixed.
- The media-ejection feature (F12) should be extended to work on
UEFI-based PCs and early Macs. At the moment, it relies on an
Apple-specific EFI extension, and I know of no standard EFI way to
do it.
+ - 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.
+
+ - The "scanning for new boot loaders" message that appears during the
+ re-scan feature is primitive. Some sort of dynamic icon would be
+ nice, but perhaps impractical, given the single-tasking nature of
+ EFI.
+
+ - On my Mac Mini, launching a shell, returning, and performing a
+ re-scan causes the system to be unable to launch the shell again. I
+ have not observed this behavior on UEFI-based PCs. It seems to be
+ caused by a truncated DevicePath to the shell, which includes the
+ shell's pathname but not the device identifier.
+
+ - When specifying a volume by name in dont_scan_dirs,
+ slashes are converted to backslashes in the specification but not
+ in the actual volume name read from disk. Thus, you can't specify a
+ volume by name if it includes a slash (as in Fedora
+ /boot). Workarounds are to rename the volume to omit the slash
+ and to use a filesystem number rather than a volume label.
+
- The code is in need of review to search for memory leaks and
- similar problems.
+ similar problems.
+
+ - 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.
@@ -228,49 +273,42 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com
forum thread for more information.
- I'd like to find a way to enable users to enter customizations for
- boot options and then save them to the refind.conf
- file.
+ boot options and then save them to the refind.conf 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.
+
+ - I have thoughts about creating an EFI configuration tool and
+ information utility—something to tell you about your hard
+ disks, enable you to manage MOKs, adjust boot loader priority in
+ the NVRAM, and so on. This would be useful in system maintenance
+ and in recovering from boot problems.
+
+ - An installation tool for the EFI environment would be useful.
+ A simple EFI shell script might work, but because this function
+ requires access to the bcfg command, this would work
+ only from a version 2 shell or if bcfg were implemented
+ as a standalone program. Another alternative would be a program
+ written in C.
- It should be possible to override specific auto-detected boot
loader settings—say, to disable one specific boot loader or
change its icon.
- - A way to read boot options set via efibootmgr,
- bless, or similar options from NVRAM to add to the boot
- set would be useful.
-
- - A way to examine and change the NVRAM settings could be useful.
- This would enable a CD-based boot of rEFInd to fix a broken disk
- boot. Perhaps this could be done via a separate tool that could be
- launched much like the shell or gptsync.
-
- - I'd like to give the user the ability to set custom options on a
- single-boot basis, similar to what's possible in GRUB.
+ - 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.
- Improvements to the EFI drivers:
+Improvements to the EFI drivers:
- - The drivers I've built fail to load on a 32-bit Mac Mini; I get an
- "incompatible version" error message at an EFI shell, or an error
- code of 80000019 when rEFInd tries to load them. (These two
- messages are equivalent.) I suspect the problem is related to the
- EFI version 1.x used on the Mac, as opposed to UEFI
- 2.x used on PCs. I'm looking into the problem. In the
- meantime, if you have this problem, I recommend tracking down
- equivalent drivers from other sources. (See the drivers page for some pointers.) I'd
- appreciate hearing from
- you if you have problems along these lines. Please tell me what
- type of computer you're using, and especially the firmware version
- data (from rEFInd's "about" screen). This may help me narrow down
- the cause.
-
- - Drivers for additional filesystems are required. Given the recent
- shift to ext4fs, that should be the priority; however, other Linux
- filesystems, UDF, and perhaps others would all be welcome
+
- 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.
@@ -280,10 +318,22 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com
the problem is worst with VirtualBox, and the next worst is a
system that uses DUET). Nonetheless,
- I'd like to track down the cause and fix it.
+ I'd like to track down the cause and fix it.
+
+ The HFS+ driver returns a volume label of "HFS+ volume", no matter
+ what the volume's real label is.
+
+ 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
+ desirable.
- The driver installation procedure could be improved, perhaps by
- adding support for drivers to the install.sh script.
+ When built with the GNU-EFI package, an attempt to load more than
+ one driver on my 32-bit Mac Mini causes the computer to hang. I do
+ not have this problem with 64-bit drivers on my UEFI-based
+ computers. I don't know if this is a 32-bit issue or a Mac issue.
+ This is not relevant if you're using my binary package,
+ since I build it with the TianoCore EDK2, and the drivers built in
+ that way don't exhibit this bug.
@@ -291,7 +341,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com
-copyright © 2012 by Roderick W. Smith
+copyright © 2012–2013 by Roderick W. Smith
This document is licensed under the terms of the GNU Free Documentation License (FDL), version 1.3.