Bug 1636

Summary: Upgrade to EFI
Product: [Build System, Metadata & Runtime] Meta-yocto Reporter: Song Liu <song.liu>
Component: meta-yoctoAssignee: Darren Hart <dvhart>
Status: RESOLVED FIXED QA Contact:
Severity: enhancement    
Priority: High CC: dvhart, jessica.zhang, jiajun.xu, poky.bs.watcher, poky.watcher, tom.zanussi
Version: unspecified   
Target Milestone: 1.2 M4   
Hardware: x86   
OS: Multiple   
Whiteboard: (P2)(QA Testing Completed) (Done)
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: ---
Bug Depends on:    
Bug Blocks: 1919    

Description Song Liu 2011-10-04 22:16:35 UTC
Where possible, update our existing BSPs to boot using EFI. This will support development of efilinux as well as help us prepare for the newer boards which will be EFI only.
Comment 1 Darren Hart 2011-11-07 06:46:28 UTC
As for Design. We need to replace syslinux and GRUB on systems that support EFI with an EFI boot loader. I'm proposing efilinux as it is small and supports our embedded model well. It does not have a menu system like elilo or egrub, but every EFI BIOS I have used to date allows for the use of a startup.nsh script which allows for modification of boot behavior.

We have initial recipes for gnu-efi and efilinux (thanks Paul E.). They now build, but the resulting binary doesn't work. It is possible this is related to building with gcc 4.6 as Matt Fleming (efilinux author) has not built with 4.6 himself.

Next steps include resolving the build issue, then auditing all the supported BSPs to determine which can boot over EFI. Following that, updating the dependencies and the README.hardware to reflect booting via EFI will complete the process.
Comment 2 Darren Hart 2011-11-07 06:47:15 UTC
Tom, would you mind provide a "Design Review" of Comment 1 and let me know if you have any concerns with this approach.
Comment 3 Darren Hart 2011-11-15 08:13:37 UTC
efilinux now builds and boots EFI enabled kernels successfully.
Comment 4 Jiajun Xu 2011-11-21 17:55:26 UTC
For EFI testing, I suppose to define a BSP list, by defining which BSP will have EFI and legacy BIOS support, which BSP will only have EFI support. Then QA will test if these BSPs image could boot with EFI or legacy BIOS.
Moreover, QA will check if EFI and PCBIOS flags are set correct for these BSPs.
Comment 5 Darren Hart 2012-01-10 08:06:04 UTC
We now have full boot support for EFI integrated into bootimg. What remains is to make the installer EFI aware.
Comment 6 Darren Hart 2012-01-18 11:24:09 UTC
Marking as resolved, will open a new bug for creating the installer.
Comment 7 Darren Hart 2012-01-18 12:25:49 UTC
Bug 1919 has been opened to track the EFI installer.
Comment 8 Jiajun Xu 2012-02-05 07:50:01 UTC
EFI is workable in 1.2 M2 testing.