Unified Extensible Firmware Interface
Feb 2012
UEFI
Slide 2
Introduction to UEFI?
●What is UEFI?
●What is EDKII?
●Why use UEFI?
●What is the ARM Landing Team's involvement?
Slide 3
What is UEFI?
Unified Extensible Firmware Interface
UEFI is an interface spec., not an implementation
"UEFI will b...
Slide 4
Community effort
Collaboration of 11 vendors
● AMD
● American Megatrends Inc.
● Apple Computer, Inc.
● Dell
● Hewl...
Slide 5
UEFI Protocols
UEFI specification defines Protocols
● Protocols are interfaces for drivers and services
● Every pr...
Slide 6
What is EDKII?
EDKII is Intel's implementation of the UEFI spec
Open Source BSD License
Multi-platform
● ARM: Vers...
Slide 7
Support for many OS types
● Linux
● Windows
● MacOS
Supports 64bit and Unicode
Linux image support
● zImage
● init...
Slide 8
EDKII Features (cont.)
Modular Design
● Easy to contribute new drivers without modifying
other code
● You can mini...
Slide 9
UEFI Boot on VE-A9
SEC SECure Code xip
PEI Pre-EFI Initialisation xip -> relocated
DXE Driver eXecution Env. reloc...
Slide 10
EFI Shell
EFI Shell is a small EFI application
● Can be configured to run at boot
● Command Line utility
EFI Shel...
Slide 11
EFI Shell features
What can the EFI Shell do?
•Load drivers and protocol implementations
•Memory inspection and m...
Slide 12
SCT - Self Certification Test
What is SCT?
● A framework to allow automated testing of UEFI
● A specification for...
Slide 13
Why use UEFI on ARM?
UEFI is important for the ARM server effort
Server vendors require a unified approach to har...
Slide 14
How does UEFI compare to U-Boot ?
Feature U-Boot UEFI / EDKII
Boot Linux with ATAG / initr / FDT Y / Y / Y Y / Y ...
Slide 15
ARM Landing Team
Hosts GIT trees for EDKII ports
● Based on Intel's Tianocore project
● Stable "History Tree"
htt...
Slide 16
ARM Landing Team (cont.)
Tools Integration
● We're working with the Infrastructure Team to
integrate UEFI into th...
Slide 17
Summary
UEFI is a widely adopted specification
● It's important for ARM server
EDKII is a popular implementation ...
Slide 18
Links
Unified EFI Forum
● http://www.uefi.org/home/
Tianocore project on Sourceforge
● http://sourceforge.net/app...
The End
Upcoming SlideShare
Loading in...5
×

Q1.12: Unified Extensible Firmware Interface

769

Published on

Resource: Q1.12
Name: Unified Extensible Firmware Interface
Date: 09-02-2012
Speaker: David Rusling

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
769
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
28
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Q1.12: Unified Extensible Firmware Interface

  1. 1. Unified Extensible Firmware Interface Feb 2012 UEFI
  2. 2. Slide 2 Introduction to UEFI? ●What is UEFI? ●What is EDKII? ●Why use UEFI? ●What is the ARM Landing Team's involvement?
  3. 3. Slide 3 What is UEFI? Unified Extensible Firmware Interface UEFI is an interface spec., not an implementation "UEFI will be a specification detailing an interface that helps hand off control of the system for the pre-boot environment [...] to an operating system[...]. UEFI will provide a clean interface between operating systems and platform firmware at boot time" www.uefi.org
  4. 4. Slide 4 Community effort Collaboration of 11 vendors ● AMD ● American Megatrends Inc. ● Apple Computer, Inc. ● Dell ● Hewlett Packard ● IBM ● Insyde ● Intel ● Lenovo ● Microsoft ● Phoenix Technologies
  5. 5. Slide 5 UEFI Protocols UEFI specification defines Protocols ● Protocols are interfaces for drivers and services ● Every protocol has a unique GUID ● GUID is a Universally Unique Identifier (UUID) defined by the UEFI spec ● A protocol can have multiple implementations ● eg. multiple file formats ● Protocols can depend on other protocols ● e.g. USB depends on PCI
  6. 6. Slide 6 What is EDKII? EDKII is Intel's implementation of the UEFI spec Open Source BSD License Multi-platform ● ARM: Versatile Express, BeagleBoard, Samsung Origen, … ● Intel: Apple Mac, many PC vendors, ... It's a Boot Loader ● It can perform "Bare Metal" initialisation ● eg. Versatile Express ● Or it can act as a 2nd/3rd stage Boot Loader
  7. 7. Slide 7 Support for many OS types ● Linux ● Windows ● MacOS Supports 64bit and Unicode Linux image support ● zImage ● initrd ● ATAGS ● Device Tree EDKII Features
  8. 8. Slide 8 EDKII Features (cont.) Modular Design ● Easy to contribute new drivers without modifying other code ● You can minimise footprint by removing unneeded modules
  9. 9. Slide 9 UEFI Boot on VE-A9 SEC SECure Code xip PEI Pre-EFI Initialisation xip -> relocated DXE Driver eXecution Env. relocated BDS Boot Device Selection relocated
  10. 10. Slide 10 EFI Shell EFI Shell is a small EFI application ● Can be configured to run at boot ● Command Line utility EFI Shell is defined by the UEFI specification ● Standard commands across all platforms
  11. 11. Slide 11 EFI Shell features What can the EFI Shell do? •Load drivers and protocol implementations •Memory inspection and modification •File editor •Load OS Boot Loader i.e. boot and operating system •Run scripts •Store variables in persistent storage
  12. 12. Slide 12 SCT - Self Certification Test What is SCT? ● A framework to allow automated testing of UEFI ● A specification for user defined tests ● Compliance test suite •SCT agent • Runs on the target • Allows automated testing •EMS (UEFI Management Side) • Runs on the test host • Allows remote management
  13. 13. Slide 13 Why use UEFI on ARM? UEFI is important for the ARM server effort Server vendors require a unified approach to hardware • i.e. vendors want each server to look the same to the OS UEFI is fast •It's faster than U-Boot UEFI is small •It's compressed •Smaller than U-Boot when built with minimal options
  14. 14. Slide 14 How does UEFI compare to U-Boot ? Feature U-Boot UEFI / EDKII Boot Linux with ATAG / initr / FDT Y / Y / Y Y / Y / Y Shell / File Editor Y / N Y / Y Start standalone apps Y Y Boot from MMC / flash / USB Y / Y / Y Y / Y / Y Fat32 / ext2 Y / Y Y / in development TFTP / PXE Y / Y Y / Y License GPL BSD GDB support Y in development Spec available N Y Toolchains GCC GCC, RVCT, XCode Number of platforms in repo 20+ 5
  15. 15. Slide 15 ARM Landing Team Hosts GIT trees for EDKII ports ● Based on Intel's Tianocore project ● Stable "History Tree" http://git.linaro.org/gitweb?p=arm/uefi/uefi.git ● Working Tracking Tree http://git.linaro.org/gitweb?p=arm/uefi/uefi-next.git Support for ARM Ltd. Platforms ● Versatile Express A5 & A9 (available now) ● Versatile Express A15 (coming soon) Hosting of Member ports
  16. 16. Slide 16 ARM Landing Team (cont.) Tools Integration ● We're working with the Infrastructure Team to integrate UEFI into the Linaro tools ● LT is hosting two sessions at this Connect event to define and progress the work: ● 9am – Salon 1 - Hardware Pack Extensions ● 11am – Salon 1- Add UEFI Support to Linaro Tools LAVA Integration ● We're working with the Validation Team to allow LAVA to use UEFI to boot platforms
  17. 17. Slide 17 Summary UEFI is a widely adopted specification ● It's important for ARM server EDKII is a popular implementation of the UEFI spec ● Open Source ● It's a Boot Loader Linaro are helping ARM support UEFI.
  18. 18. Slide 18 Links Unified EFI Forum ● http://www.uefi.org/home/ Tianocore project on Sourceforge ● http://sourceforge.net/apps/mediawiki/tianocore/ Linaro ARM Landing Team ● https://wiki.linaro.org/ARM/UEFI ● http://git.linaro.org/gitweb?p=arm/uefi/uefi-next.git
  19. 19. The End
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×