EFI

Summary

(from uefi.org)
UEFI stands for "Unified Extensible Firmware Interface". The UEFI specification defines a new model for the interface between personal-computer operating systems and platform firmware. The interface consists of data tables that contain platform-related information, plus boot and runtime service calls that are available to the operating system and its loader. Together, these provide a standard environment for booting an operating system and running pre-boot applications.

Detailed Description

EFI has long been available for ia64 systems. UEFI brings it to i386 (the Intel-based Apple Mac products have it, as do a few HP systems sold primarily in China), and it will be widely available in x86_64-capable systems in the next few years.

Several things need to happen (in no particular order):

GRUB needs to learn to read an EFI GUID Partition Table. (done)

GRUB needs to run as an EFI boot loader. (done)

GRUB needs to be ported to build and run on ia64 so elilo can be dropped (not done)

Benefit to Fedora

Scope

Test Plan

UEFI-capable systems are available from a number of vendors under NDA. Those with access to such systems are actively solicited to perform testing. We have very limited hardware access, which hampers the debugging effort.

NOTE: A Fedora Test Day is planned for UEFI, we will send email announcements to hardware partners once it is scheduled.

Test plan is pretty straightforward. The new components (grub, kernel, efibootmgr) will need to be tested for UEFI functionality.

Architectures:

X86
X86_64
IA64

Manufacturer's Platforms:

TBD - whoever is interested in support for their hardware

Each platform should be able to install and boot from:

Internal disk

External disk connected by FC

USB CD

USB DVD

Other USB storage devices TBD

Network devices

Additional test cases:

Variable runtime services, in particular the ability to write to NVRAM

Able to list at least 10 devices as boot devices

Boot from disk > 2TB

More? What else should we be testing?

User Experience

Significantly similar to that of today. The EFI Boot Manager, which runs in the BIOS, is a new feature, which can be frobbed at runtime using efibootmgr.

Dependencies

Vendor support in hardware

Contingency Plan

Initial UEFI support appeared in Fedora 10. In Fedora 11 we will expand support, contingent upon hardware availability. UEFI-capable hardware platforms provide a BIOS-compatibility mode, so if they are not verified in time for Fedora 11 and bugs later are found, the hardware platforms can boot in BIOS compatibility mode. Non-UEFI hardware platforms are not affected by this code.