From Fedora Project Wiki

< Anaconda‎ | Features

Revision as of 20:56, 26 June 2009 by Ddumas (talk | contribs) (Created page with '= UEFI = == Summary == (from UEFI stands for "Unified Extensible Firmware Interface". The UEFI specification defines a new model for the interface between personal-co...')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)



(from 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.

This page tracks UEFI support for Fedora 12. Most features are already in Fedora 10 and 11. The implementation is based on UEFI 2.1


  • Name: PeterJones
  • Name: Denise Dumas --

Current status

  • Targeted release: Fedora 12
  • Last updated: 2009-06-26
  • Percentage of completion: 80%

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.

Remaining work items and known issues for F12:

  • No EFI-bootable CD/DVD install media for Fedora 11

Apple's EFI firmware doesn't support booting EFI CDs. Apple's BootCamp (BIOS) firmware doesn't correctly handle multiple el-torito boot blocks, and instead presents the user with a text menu and no keyboard driver. This is the reason we haven't made the regular CD/DVD install media EFI bootable; so you can still use it on machines with firmware broken in this manner. There is no way for us to support EFI-bootable CDs on current Apple hardware.

  • The USB disk bootloader intermittently fails to load for no obvious reason. One power cycle it'll work, the next it won't.
  • "nomodeset" may be required to get a working console. If your hardware gets part way through the install but the screen goes black, retry with "nomodeset" on the kernel command line. This is not a UEFI problem, seems to be a kernel problem with various devices, see BZ 464896.
  • graphics support is iffy with some cards, because the firmware is initializing the card in a completely different way than it is with BIOS, and the drivers depend on those details. "vnc" install may be required in these cases.
  • Framebuffer console does color fills wrong on some platforms, which causes the blue background in text mode to be strippy with various colors rather than blue. This is kernel BZ 496155 but possibly the video card is not being set up quite right by the firmware.
  • Serial console is not well supported in the bootloader at this time.
  • Systems that have the memory region starting at 1M in use don't currently work. This requires fixes in both the kernel and grub. BZ 495120 targetted at Fedora 12.

Completed work in F11:

  • GRUB can read an EFI GUID Partition Table.
  • GRUB can run as an EFI boot loader.
  • GRUB ported to build and run on ia64 so elilo can be dropped (not done - no IA64 version for Fedora)
  • Kernel has i386 and x86_64 CONFIG_EFI code
  • Kernel has CONFI_FB_IMAC and CONFIG_FB_EFI merge upstream
  • Kernel has CONFIG_FB_EFI and associated driver (efifb)
  • GRUB can write out screen_info from UGA so we can use efifb instead of imacfb
  • Kernel has CONFIG_EFI_VARS enabled on i386 and x86_64
  • efibootmgr was split out from the elilo package

Benefit to Fedora

Hardware enablement.


Well-contained. grub, efibootmgr as described above, for 3 platforms. Note that Fedora 11 IA64 compose is pre-req for IA64 UEFI changes, and it is not available yet.

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.

  • Another Fedora UEFI Test Day will be scheduled for July or August, 2009 - see UEFI Test Day for instructions and details

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

  • Architectures:

X86 X86_64 (eventually IA64 but no IA64 Fedora 11 yet)

  • Manufacturer's Platforms:

All who are interested in support for their hardware. Note that only very new platforms support UEFI 2.1

  • 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.


Vendor support in hardware

Contingency Plan

Initial UEFI support appeared in Fedora 10. Fedora 11 expanded support. Fedora 12 is cleanup and testing on actual platforms that are starting to become available. 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.


Release Notes

  • UEFI hardware support is not yet widely available and the user impact is negligible, so no release note is needed beyond "we support UEFI"

Comments and Discussion