Owner

Current status

Targeted release: ?

Last updated: 2009-07-08

Percentage of completion: 0%

Detailed Description

We currently use what is essentially a fork of GRUB 0.9x in Fedora for a variety of historical reasons. It would be nice to get back to the upstream developed version, even though it is in many ways an entirely new project.

GRUB2 is still considered "in development", but GRUB 0.9x was always considered an alpha, so maybe that's not an issue. The upstream wiki can be found at http://grub.enbug.org/

Benefit to Fedora

The main benefit is moving to a newer upstream version that hopefully more people are working on. That said, it's not a small task, hence why we're not going to try to get it done in the super-short Fedora 12 timeframe.

There could also be new functionality, but that's currently less of the driver.

---***

Grub (legacy) is no longer supported. Patches are not accepted. Grub2 is also nearing a stable release (2011-01-16 GRUB 1.99~rc1) which is something that Grub (legacy) never reached.

Scope

The changes are somewhat localized, but there's a lot to be done. The current status based on the testing I've done so far.

What Currently Works

MBR Bios booting as chainloaded from grub1 works

Booting from the MBR works

Graphics mode works

You have to have freetype2-devel installed and build with --enable-mkfont

From an Installed System with Grub Legacy

The following will automatically generate a GRUB2 configuration file including kernels images within your /boot folder, using the auto configuration scripts in /etc/grub.d, the -o specifices an output file, here the default, /boot/grub2/grub.cfg:

grub2-mkconfig -o /boot/grub2/grub.cfg

Testing With Chain Loading

GRUB2 includes a boot image that's loadable from GRUB Legacy, so you can try it out without wiping out your existing, working MBR. To set up GRUB2 without actually writing to the MBR, run

grub2-install --grub-setup=/bin/true /dev/sda

Writing to the MBR

If that works, you can go on testing to writing to your MBR. Same steps as above, but don't tell grub to run the dummy setup program /bin/true

grub2-install /dev/sda

Congratulations! You've reached the point of no return! If you can't boot now you will need to run a rescue CD

From a DVD with Anaconda

TBD as things get fleshed out more

User Experience

Ultimately, the main thing a user could change is the different config file (grub.cfg vs grub.conf) and the different syntax in the config file. During the normal boot process, the idea should be that it's not that noticeable

Dependencies

We'll have to be sure to update anaconda for the new config file format and also deal with things like grubby (which updates boot loader configs)

Contingency Plan

Keep using GRUB legacy

Documentation

The only docs right now are at the upstream site, but they're slim at best.