• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Q1.12: Unified Extensible Firmware Interface
 

Q1.12: Unified Extensible Firmware Interface

on

  • 324 views

Resource: Q1.12

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

Statistics

Views

Total Views
324
Views on SlideShare
324
Embed Views
0

Actions

Likes
0
Downloads
2
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Q1.12: Unified Extensible Firmware Interface Q1.12: Unified Extensible Firmware Interface Presentation Transcript

    • 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 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
    • 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
    • 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
    • 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
    • Slide 7 Support for many OS types ● Linux ● Windows ● MacOS Supports 64bit and Unicode Linux image support ● zImage ● initrd ● ATAGS ● Device Tree EDKII Features
    • Slide 8 EDKII Features (cont.) Modular Design ● Easy to contribute new drivers without modifying other code ● You can minimise footprint by removing unneeded modules
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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.
    • 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
    • The End