From Fedora Project Wiki
(the start of a grub2 feature page, though certainly not for the fedora 12 timeframe)
 
(a few updates with what's going on upstream)
Line 15: Line 15:
== Current status ==
== Current status ==
* Targeted release: [[Releases/13]]
* Targeted release: [[Releases/13]]
* Last updated: 2009-06-15
* Last updated: 2009-07-08
* Percentage of completion: 0%
* Percentage of completion: 0%


Line 44: Line 44:
=== Things that still have to be tested/worked on ===
=== Things that still have to be tested/worked on ===
* EFI mode
* EFI mode
* passwords
* passwords -- Debian and Ubuntu are working on this upstream as of 8 July
* hidden menu support that we use for flicker-less boot
* hidden menu support that we use for flicker-less boot
* serial terminal support (with the timeouts)
* serial terminal support (with the timeouts)
* bootonce
* bootonce
* Test booting from MBR rather than multibooted
* Test booting from MBR rather than multibooted
* Always adding single user entry is not so good
* Always adding single user entry is not so good -- set GRUB_DISABLE_LINUX_RECOVERY in /etc/default/grub
* Chainloading various versions of Windows
* Chainloading various versions of Windows
* Auto-detection of Windows and adding it to the config file
* Auto-detection of Windows and adding it to the config file

Revision as of 19:30, 8 July 2009

Feature Name

GRUB2

Summary

THIS IS VERY VERY EARLY STAGE

This is very early stage, but I'm trying to document the progress here rather than just locally

Switch to using grub2 instead of grub legacy for boot loading an installed x86 system

Owner

Current status

  • Targeted release: Releases/13
  • 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.

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
  • Graphics mode works
    • You have to have freetype2-devel installed and build with --enable-mkfont
    • Also had to grab the unifont from http://unifoundry.com/unifont.html
    • Simple hacked up module to load a background image is okay. Could certainly be made better
  • Creating /usr/local/etc/defaults/grub (would be /etc, but prefix=/usr/local) allowed me to set the following
    • default timeout, default distro name, default to graphics mode
    • some of this is lame and should get auto-detected (eg, parse /etc/system-release)

Things that still have to be tested/worked on

  • EFI mode
  • passwords -- Debian and Ubuntu are working on this upstream as of 8 July
  • hidden menu support that we use for flicker-less boot
  • serial terminal support (with the timeouts)
  • bootonce
  • Test booting from MBR rather than multibooted
  • Always adding single user entry is not so good -- set GRUB_DISABLE_LINUX_RECOVERY in /etc/default/grub
  • Chainloading various versions of Windows
  • Auto-detection of Windows and adding it to the config file
  • Can we ship the unifont ?
    • Also, as I had it "built", the font wasn't quite right
  • Ensuring all the other features we have and care about are present (if someone wants to make a list of these, it would be helpful)
  • Documentation, documentation, documentation...

External things that would need work

  • anaconda needs to be able to create the new file. Or at least run grub-mkconf
  • grubby to update. Or phase out for grub-updconf?


How To Test

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.

Release Notes

  • Yep, we'll need some!

Comments and Discussion