Anaconda/Features/Grub2Migration

From FedoraProject

< Anaconda | Features
Revision as of 20:23, 22 February 2011 by Xosevp (Talk | contribs)

Jump to: navigation, search

Contents

Migration to latest upstream grub boot loader

Summary

Investigation possibility of migrating to latest upstream grub boot loader ("grub2"). Development of the 0.97 branch is dead upstream and we carry a lot of patches on our own. The grub 1.9x branch is under active development, even supporting non-x86 platforms. If we can move to the latest upstream grub, we stand the chance of eliminating the need for separate boot loaders for each platform.

Owner

Current status

  • Targeted release: TBD
  • Last updated: 2011-01-13
  • Percentage of completion: 0%

Detailed Description

Upstream GNU grub development is focused on the 1.9x branch. We currently use the 0.97 branch plus a lot of patches we have been carrying in our package for a long time. With a live upstream and a desire to make grub work on all platforms now makes the latest upstream GNU grub more appealing than in the past. Migration to the new grub should be based on primary supported architectures, but we should also ensure the secondary architectures are supported or have support in the works. Major tasks:

  • Package grub-1.9x and get it in rawhide
  • Patch booty module in anaconda to support new grub
  • Generate test trees with new grub and patched anaconda
  • Perform installation and boot tests on platforms of concern (i386, x86_64, ppc64, ...others supported?)

The booty module needs a moderate overhaul, and migrating to the latest grub seems like as good a time as any to accomplish that.

Benefit to Fedora

  • Association with current upstream grub development
  • Consolidation of boot loader code to a single project
  • Removing all of the non-grub boot loader packages (e.g., yaboot)

Scope

Entire distribution, all platforms grub-1.9x works on. Installation should not change much, but users will need to be made aware of how to interact with and configure new grub. Might make some boot loader configuration directives via kickstart obsolete.

Test Plan

  • Get new grub in rawhide, patch anaconda, generate test rawhide trees locally
  • Test installation on i386, x86_64, and ppc64. If other architectures are supported, test those if we can
  • Successful installation on i386, x86_64, and ppc64 should allow us to keep new grub in the distribution, work with upstream to support other architectures we have installation code for but that grub-1.9x does not yet support

User Experience

Users should not see a change during installation, but the grub boot menu and interaction with grub may change. Documentation should be updated across the distribution to alert users to the change.

Dependencies

Contingency Plan

Continue shipping grub-0.97+patches and the other boot loaders for non-x86 platforms.

Documentation

Upstream grub wiki: http://grub.enbug.org/

Release Notes

http://grub.enbug.org/CurrentStatus