This page is about migrating GRUB Legacy to GRUB 2.
Initial proposal sent by Otavio: http://lists.debian.org/debian-release/2007/04/msg00328.html
Improvements we already have
This list skips the obvious about cleaner design, etc etc. Only tangible improvements here.
- update-grub rewrite. Modular design, extensibility, etc. Will now be part of the upstream package.
- UTF-8 in menu: Needs unifont-bin (currently in queue/NEW), and latest update-grub upstream patch.
- grub.cfg is scriptable.
- 64-bit detection on x86 ("cpuid" command): needed for multi-arch DVDs.
- GPT (also for non-EFI systems).
- Integrated win32 boot (grub4dos-like) functionality (see grubutil-win32 and win32-loader packages).
Improvements that still need some work
- EFI: Mandatory for Intel-Mac. Probably others during lenny life period.
- gettext: Not implemented, should be trivial though.
- LVM / software RAID: Investigate how complete/usable it is.
powerpc: New port. No support yet for loading Mac OS X, so not yet usable to multiboot ?PowerMacs and ?PowerBooks.
Regressions
- splash screen: The abstraction layer for using VGA/VBE/whatever is there. There's also a bitmap loader (PNG support being worked on). We just need to figure out how to enable it (maybe the user interface is missing).
- ReiserFS not implemented: being worked on? ask Subdino @ #grub about it
- XFS is implemented, but doesn't work too well: much like GRUB Legacy. Not really a regression in fact ;-).
- CDROM support. Not really important since Debian isn't using GRUB for CD boot atm, but it might be an interesting option for lenny. Upstream has an ongoing SoC project about it.
- grub-reboot
- "hiddenmenu" option
- Weird hardware RAID paths (e.g. /dev/fubar/bazXsY). Check for regressions there (see [grub]/lib/device.c)
- "color cyan/blue white/blue". We really CAN'T LIVE without it. The idea would be to use it with gfxterm (although BIOS console doesn't hurt).
- lock / password mechanism.
- memtest86{,+} fails to boot.
workarounds for buggy bioses (http://lists.gnu.org/archive/html/grub-devel/2007-05/msg00050.html)