TODO List
NOTE: It is desirable to move these items into the Task Tracker.
In case you are not a GRUB developer, please put feature requests for GRUB 2 on the FeatureRequests page or send an email to grub-devel@gnu.org . Please don't send feature requests for GRUB Legacy there.
General Issues
- Add journal playback support for all journaling filesystems.
Add support for internationalization (See AboutInternationalization). !!!
- Write a manual. !!
Add a fancy menu interface which utilizes the VideoSubsystem extensively with many eye-candies. This is important to beat GRUB legacy.
(ColinBennett is working on this) - Make multiboot portable. Perhaps even write a new standard.
Implement ModuleLoading in grub-emu.
- Use GRUB memory management in grub-emu.
Add missing commands (See CommandList). !
- Add missing features into the menu entry editor (such as C-t).
- Support for multiple fallback entries and default saving as in GRUB Legacy.
- Security-related features (i.e. password and lock).
Look at the nested functions issue; removing nested functions is not an option. See NestedFunctions !!!
- Add support for partitions containing partitions, this is for example used for Solaris partitions in an Apple partition, but also in many other cases.
- Add support for creating a GRUB 2 Recovery CD on platforms where sensible.
- Add support to load compressed modules.
Scripting
Integrate scripting with the configfile and the menu. !!!! (MarcoGerards)
Add support for loops. (MarcoGerards)
Add useful build-in variables. (MarcoGerards)
Add the echo command (it should be capable of beeping). (MarcoGerards)
- Implement the test command, this currently is a dummy. !
- Make the parser reentrant. This will make the code cleaner and more robust. !!!
Networking
- Add support for network devices.
- Add support for UNDI.
- Make sure network devices on Open Firmware can be accessed.
Implement a TCP/IP stack. (MarcoGerards)
Filesystems
Add more filesystems (such as reiser3, reiser4, ntfs, cramfs and jffs2). !!
HFS+ support. Perhaps this is required for an OS X loader on the PPC. !! (MarcoGerards)
Fix XFS so the BTrees work. !! (MarcoGerards)
Make sure JFS works. !! (MarcoGerards)
Make sure all filesystems use fshelp. ! (MarcoGerards)
Add regression tests. !! (MarcoGerards)
Try to share more code. ! (MarcoGerards)
- A lot of testing needs to be done. !!
- Perhaps UUID support?
PC
- Add more loaders (such as NetBSD and FreeBSD). !!
- Complement missing features of Multiboot. Take a look at the source code for more info. !
- Add more terminals (finish VESA support). !
- Store the old MBR and add a command to place the old MBR back (?).
PPC & UltraSparc
- Add framebuffer terminal support. !
- Make key repeat work. !
- Merge common files - Remaining : kern/*/ieee1275/openfw.c
- Support netbooting.
(maybe more from PPC section)
PPC
- Rename "grubof" before external users start using that name. !!!
- Add more loaders. Especially a macos / chainloader. !!
Investigate FAT12 on PowerMac OF (on small partition). The Linux HFS driver is not entirely reliable, and GRUB does not yet have HFS+ support. !
- Filter the devaliases so that devices with multiple aliases are only listed once. !
- Make GRUB appear in Mac firmware boot options screen (option key at boot).
- On systems where we cannot autodetect 'prefix', search all partitions for a grub.cfg.
- Support Old World Macintosh.
- The kernel is getting quite big, investigate if some things can be moved out of the kernel or if compression can be used.
UltraSparc
- Install on disk
- Grub emu
- Boot something
- Write a grub-install script to install grub and configure OF variables properly. This will be different from PPC because Sparc has openpromfs and is missing sysfs "devspec" links into the device tree.