From Fedora Project Wiki
(Contingency Plan)
 
(24 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 +
{{autolang|base=yes}}
 +
 
= EFI =
 
= EFI =
  
Line 13: Line 15:
 
== Current status ==
 
== Current status ==
 
* Targeted release: Fedora 11
 
* Targeted release: Fedora 11
* Last updated: 2009-02-10
+
* Last updated: 2009-04-17
* Percentage of completion: 85%
+
* Percentage of completion: 100%
 +
* NOTE WELL Fedora Alpha had two kernel bugs BZ 466954, 488579 that broke UEFI. Those were fixed in the Fedora Beta.
 +
* PXE boot is working in todays (Friday April 3) Rawhide
 +
* Do not bother to test UEFI with the Beta - you need Rawhide and/or updates.img. See [[Releases/Rawhide|Rawhide]] for instructions on how to get/use Rawhide
 +
 
  
 
{| border="1"
 
{| border="1"
Line 20: Line 26:
 
|Sub-task||Percent Complete||Notes
 
|Sub-task||Percent Complete||Notes
 
|-
 
|-
|x86_64 starting the installer||90||'dd if=images/efidisk.img of=/dev/$USBSTICK' will get you a (somewhat malformed) usb stick that you can boot the installer from.  Next will be support for additional devices (Network devices for PXE boot/CDs/DVD). Work is in progress.
+
|x86_64 starting the installer||95||'dd if=images/efidisk.img of=/dev/$USBSTICK' produces a usb stick that you can boot the installer from.  CDs/DVDs now working. PXE boot now working.
 
|-
 
|-
|i386 starting the installer||90|| Working now, likely to need further debug for individual hardware platforms.
+
|i386 starting the installer||95|| Working now with hardware we have, likely to need further debug as specific hardware platforms are tested.
 
|-
 
|-
|ia64 starting the installer||0|| F11 - some grub work needed, plus a small amount of work in anaconda's scripts/mk-images
+
|x86_64 efi able to detect and boot the i386 kernel||0|| Needed to install i386 on the Santa Rosa Macs. Linker BZ 492183 is blocking MAC boot.
 
|-
 
|-
|x86_64 efi able to detect and boot the i386 kernel||0|| guestimated at a day or so of work. Needed this to install i386 on the Santa Rosa Macs. But low priority and unlikely to be supported because of buildinstall issues.  
+
|x86_64 installation||99||Install working now for Intel boxes, UEFI 2.1. Not working on MACs, untested on any other hardware platforms and likely to need further debug there.
 
|-
 
|-
|x86_64 installation||99||Install working now with minor bugs for Intel boxes. Not working on MACs, untested on any other hardware platforms and likely to need further debug.
+
|i386 installation||99||Install working now with minor bugs, needs further debug for individual hardware platforms.
 
|-
 
|-
|i386 installation||99||Install working now with minor bugs, likely to need further debug for individual hardware platforms.
+
|x86_64 booting (post install)||99||Working in Beta on Intel boxes, not working on MACs, not tested on Dell or any other hardware platforms.  
 
|-
 
|-
|ia64 installation||0|| F11 - Need to switch from elilo to grub - lower priority than completing X86_64 device support.
+
|i386 booting (post install)||99||Working in Beta
 
|-
 
|-
|x86_64 booting (post install)||99||Working in Rawhide on Intel boxes, not working on MACs, not tested on Dell or any other hardware platforms.
+
|efibootmanager wrangling||100|| Done: package committed to CVS, comps updated
|-
 
|i386 booting (post install)||99||Working in Rawhide
 
|-
 
|ia64 booting (post install)||0|| F11
 
|-
 
|efibootmanager wrangling||99|| package committed to CVS, need to s/elilo/efibootmgr and grub/ in comps
 
 
|}
 
|}
  
Line 50: Line 50:
 
* GRUB needs to learn to read an EFI GUID Partition Table. (done)
 
* 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 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)
 
 
* Kernel needs i386 and x86_64 CONFIG_EFI code (should be easier after the 2.6.24 merge into x86) (done)
 
* Kernel needs i386 and x86_64 CONFIG_EFI code (should be easier after the 2.6.24 merge into x86) (done)
 
* Kernel needs CONFI_FB_IMAC and CONFIG_FB_EFI merge upstream (done)
 
* Kernel needs CONFI_FB_IMAC and CONFIG_FB_EFI merge upstream (done)
Line 66: Line 65:
 
== Scope ==
 
== Scope ==
  
Well-contained.  grub, efibootmgr as described above, for 3 platforms.  
+
Well-contained.  grub, efibootmgr as described above, for 2 platforms.
  
 
== Test Plan ==
 
== 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.  
 
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.
+
* '''Fedora UEFI Test Day is scheduled for April 9, 2009''' - see [[QA/Test_Days/2009-04-09|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.
 
Test plan is pretty straightforward.  The new components (grub, kernel, efibootmgr) will need to be tested for UEFI functionality.
  
Architectures:
+
* Architectures:
 
X86
 
X86
 
X86_64
 
X86_64
IA64
 
  
Manufacturer's Platforms:  
+
* Manufacturer's Platforms:  
TBD - whoever is interested in support for their hardware  
+
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:
+
* Each platform should be able to install and boot from:
- Internal disk
+
** Internal disk
- External disk connected by FC
+
** External disk connected by FC
- USB CD
+
** USB CD
- USB DVD
+
** USB DVD
- Other USB storage devices TBD
+
** Other USB storage devices TBD
- Network devices
+
** Network devices
  
Additional test cases:
+
* Additional test cases:
- Variable runtime services, in particular the ability to write to NVRAM
+
** Variable runtime services, in particular the ability to write to NVRAM
- Able to list at least 10 devices as boot devices
+
** Able to list at least 10 devices as boot devices
- Boot from disk > 2TB
+
** Boot from disk > 2TB
- More?
+
** More? What else should we be testing?
 +
 
 +
* '''Fedora UEFI Test Day is scheduled for April 9, 2009''' - see [[QA/Test_Days/2009-04-09|UEFI Test Day]] for instructions and details
  
 
== User Experience ==
 
== User Experience ==
Line 107: Line 107:
 
== Contingency Plan ==
 
== 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.
+
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.
  
 
== Documentation ==
 
== Documentation ==
 
+
* http://www.uefi.org
http://www.uefi.org
+
* https://www.tianocore.org/
  
 
== Release Notes ==
 
== Release Notes ==
Since the hardware support is not yet widely available and the user impact is negligible, no release note is needed beyond "we support UEFI"
+
* 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 ==
 
== Comments and Discussion ==
 +
* See [[Talk:Features/EFI]]
  
See [[Talk:Features/EFI]]
+
[[Category:FeatureAcceptedF11]]
 
 
----
 
 
 
[[Category:FeaturePageIncomplete]]
 
 
<!-- When your feature page is completed and ready for review -->
 
<!-- When your feature page is completed and ready for review -->
 
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
 
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
 
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
 
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
 
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->
 
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->

Latest revision as of 15:26, 24 July 2012

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.


Owner

  • Name: PeterJones
  • Name: Denise Dumas -- ddumas@redhat.com

Current status

  • Targeted release: Fedora 11
  • Last updated: 2009-04-17
  • Percentage of completion: 100%
  • NOTE WELL Fedora Alpha had two kernel bugs BZ 466954, 488579 that broke UEFI. Those were fixed in the Fedora Beta.
  • PXE boot is working in todays (Friday April 3) Rawhide
  • Do not bother to test UEFI with the Beta - you need Rawhide and/or updates.img. See Rawhide for instructions on how to get/use Rawhide


Sub-task Percent Complete Notes
x86_64 starting the installer 95 'dd if=images/efidisk.img of=/dev/$USBSTICK' produces a usb stick that you can boot the installer from. CDs/DVDs now working. PXE boot now working.
i386 starting the installer 95 Working now with hardware we have, likely to need further debug as specific hardware platforms are tested.
x86_64 efi able to detect and boot the i386 kernel 0 Needed to install i386 on the Santa Rosa Macs. Linker BZ 492183 is blocking MAC boot.
x86_64 installation 99 Install working now for Intel boxes, UEFI 2.1. Not working on MACs, untested on any other hardware platforms and likely to need further debug there.
i386 installation 99 Install working now with minor bugs, needs further debug for individual hardware platforms.
x86_64 booting (post install) 99 Working in Beta on Intel boxes, not working on MACs, not tested on Dell or any other hardware platforms.
i386 booting (post install) 99 Working in Beta
efibootmanager wrangling 100 Done: package committed to CVS, comps updated

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)
  • Kernel needs i386 and x86_64 CONFIG_EFI code (should be easier after the 2.6.24 merge into x86) (done)
  • Kernel needs CONFI_FB_IMAC and CONFIG_FB_EFI merge upstream (done)
  • Kernel needs CONFIG_FB_EFI and associated driver (efifb) (done)
  • Kernel needs CONFIG_FB_IMAC (imacfb support) for Intel Macs (obviated; pjones merged this into efifb)
  • GRUB needs to write out screen_info from UGA so we can use efifb instead of imacfb (done)
  • Kernel needs CONFIG_EFI_VARS enabled on i386 and x86_64 (done)
  • efibootmgr needs to be split out from the elilo package (done)


Benefit to Fedora

Hardware enablement.

Scope

Well-contained. grub, efibootmgr as described above, for 2 platforms.

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.

  • Fedora UEFI Test Day is scheduled for April 9, 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

  • 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?
  • Fedora UEFI Test Day is scheduled for April 9, 2009 - see UEFI Test Day for instructions and details

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.

Documentation

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