uefi & edk ii training
TRANSCRIPT
![Page 1: UEFI & EDK II Training](https://reader036.vdocument.in/reader036/viewer/2022081701/62e30669fdc0be07ae71ba81/html5/thumbnails/1.jpg)
tianocore.orgwww.tianocore.org
UEFI & EDK II TrainingOpen Source UEFI Platformstianocore.org
1
![Page 2: UEFI & EDK II Training](https://reader036.vdocument.in/reader036/viewer/2022081701/62e30669fdc0be07ae71ba81/html5/thumbnails/2.jpg)
www.tianocore.org
LESSON OBJECTIVE
Chart the organization of the Tianocore.org
repositories
Recognize the various Open Source UEFI Platforms
2
![Page 3: UEFI & EDK II Training](https://reader036.vdocument.in/reader036/viewer/2022081701/62e30669fdc0be07ae71ba81/html5/thumbnails/3.jpg)
www.tianocore.org
Tianocore.org
Platforms Emulator, OVMF, ArmVirt, MdePkgHardware platforms: MinnowBoard Max/Turbot, Up Squared, and Intel® Galileo Gen 2.
3
![Page 4: UEFI & EDK II Training](https://reader036.vdocument.in/reader036/viewer/2022081701/62e30669fdc0be07ae71ba81/html5/thumbnails/4.jpg)
www.tianocore.org
Tianocore.org
4
Platforms Emulator, OVMF, ArmVirt, MdePkgHardware platforms: MinnowBoard Max/Turbot, Up Squared, and Intel® Galileo Gen 2.
![Page 5: UEFI & EDK II Training](https://reader036.vdocument.in/reader036/viewer/2022081701/62e30669fdc0be07ae71ba81/html5/thumbnails/5.jpg)
www.tianocore.org
GitHub
Concept of Repositories
Github/tianocore
5
Concept of Repositories
• Main development - edk2
• Online Info & Help (Wiki pages)
tianocore.github.io
• Other platforms edk2-platforms
• “C” library for Apps - edk2-libc
• To download use “git clone” then
“git checkout”
![Page 6: UEFI & EDK II Training](https://reader036.vdocument.in/reader036/viewer/2022081701/62e30669fdc0be07ae71ba81/html5/thumbnails/6.jpg)
www.tianocore.org
GitHub Tianocore.org
edk2 – Platforms on edk2- “CORE”
EmulatorPkg
OvmfPkg
See Readme.md files
6
![Page 7: UEFI & EDK II Training](https://reader036.vdocument.in/reader036/viewer/2022081701/62e30669fdc0be07ae71ba81/html5/thumbnails/7.jpg)
www.tianocore.org
EmulatorPkg files
✓ EmulatorPkg.dsc
✓ EmulatorPkg.dec
✓ EmulatorPkg.fdf
Emulation Directory Structure
7
![Page 9: UEFI & EDK II Training](https://reader036.vdocument.in/reader036/viewer/2022081701/62e30669fdc0be07ae71ba81/html5/thumbnails/9.jpg)
www.tianocore.org
Open Virtual Machine Firmware (OVMF)
• Uses EDK II to support firmware in the
OvmfPkg platform package
• Supports UEFI: Helps develop/debug
drivers & applications
• QEMU VM; emulates IA32 (x86)/X64
(x86-64) based system
• Exit condition → UEFI Shell
• Tool Chain/OS Support
• Information Ovmf wiki, Tianocore.org
9
![Page 11: UEFI & EDK II Training](https://reader036.vdocument.in/reader036/viewer/2022081701/62e30669fdc0be07ae71ba81/html5/thumbnails/11.jpg)
www.tianocore.org
EDK II EADK
EDK II Application
Development Kit includes the
Standard “C” Libraries in UEFI
Shell Applications
Link: wiki EADK
Github: edk2-libc
11
![Page 12: UEFI & EDK II Training](https://reader036.vdocument.in/reader036/viewer/2022081701/62e30669fdc0be07ae71ba81/html5/thumbnails/12.jpg)
www.tianocore.org
EDK II EADK COMPONENTS
EDK II Application Development Kit includes the
Standard C Libraries in UEFI Shell Applications
Components
/AppPkg
/StdLib
• Utilities (Python 2.7.2, & 2.7.10 etc.)
• C Library
• BSD Socket Library
• Network Socket Library – Ipv4 / Ipv6
Packages
12
![Page 13: UEFI & EDK II Training](https://reader036.vdocument.in/reader036/viewer/2022081701/62e30669fdc0be07ae71ba81/html5/thumbnails/13.jpg)
www.tianocore.org
EDK II EADK – STANDARD ANSI C LIBRARY
13
System I/O - open(), read(), write(), close(), stat()
Standard I/O - fopen(), printf(), gets(), getchar(),. . .
String/Char - strcmp(), isascii(), atoi(), . . .
Memory - malloc(), free(), realloc(),. . .
Time/Date - time(), asctime(), ctime(), . . .
Math - sqrt(), pow(), sin(), log(), . . .
FreeBSD Port ANSI/POSIX compliant
![Page 14: UEFI & EDK II Training](https://reader036.vdocument.in/reader036/viewer/2022081701/62e30669fdc0be07ae71ba81/html5/thumbnails/14.jpg)
www.tianocore.org
Platforms Tianocore.org
edk2-platforms – Platforms
• devel-IntelAtomProcessorE3900
– Leaf Hill, Up Squared (Apollo Lake)
• Vlv2TbltDevicePkg
– BayTrail-I
• MinPlatformPkg – (w/ FSP )- KabylakeOpenBoardPkg
- WhiskeyLakeOpenBoardPkg
• How to build
See Readme.md files
14
devel-IntelAtomProcessorE3900
![Page 15: UEFI & EDK II Training](https://reader036.vdocument.in/reader036/viewer/2022081701/62e30669fdc0be07ae71ba81/html5/thumbnails/15.jpg)
www.tianocore.org
Slim BootLoader (SBL) Project
Fast & Secure Open source boot solution for IoT
Use Cases
Github: https://github.com/slimbootloader
Supported Hardware:
QEMU
UP2 Board
Apollo Lake CRB
Whisky Lake CRB
Coffee Lake Refresh CRB
UP Xtreme Board
Documentation: Slim Bootloader Project
15
![Page 16: UEFI & EDK II Training](https://reader036.vdocument.in/reader036/viewer/2022081701/62e30669fdc0be07ae71ba81/html5/thumbnails/16.jpg)
www.tianocore.org
Intel® FSP Repository
Intel Developer Zone Overview
Repository of Intel FSP binaries posted by
Intel: Includes documentation on how to
integrate with various platforms
https://github.com/IntelFsp/FSP
Wiki: https://github.com/IntelFsp/FSP/wiki
- current specifications
16
![Page 17: UEFI & EDK II Training](https://reader036.vdocument.in/reader036/viewer/2022081701/62e30669fdc0be07ae71ba81/html5/thumbnails/17.jpg)
www.tianocore.org
STAGING TIANOCORE.ORG
Implementations not yet Ready for
EDK II Main edk2-staging
Projects on branches
• Host-based FW analysis (HBFA)
• edk2-host-test
• FceFmmt (FW Utils)
• UEFI_PCI_ENHANCE-2
• EdkRepo
• Cpu/6-level
• HTTPS-TLS
• RICS-V
• . . .
• See Readme.md files
17
![Page 18: UEFI & EDK II Training](https://reader036.vdocument.in/reader036/viewer/2022081701/62e30669fdc0be07ae71ba81/html5/thumbnails/18.jpg)
www.tianocore.org
SUMMARY
Chart the organization of the Tianocore.org
repositories
Recognize the various Open Source UEFI Platforms
18
![Page 20: UEFI & EDK II Training](https://reader036.vdocument.in/reader036/viewer/2022081701/62e30669fdc0be07ae71ba81/html5/thumbnails/20.jpg)
www.tianocore.org
Return to Main Training Page
Return to Training Table of contents for next presentation link
![Page 22: UEFI & EDK II Training](https://reader036.vdocument.in/reader036/viewer/2022081701/62e30669fdc0be07ae71ba81/html5/thumbnails/22.jpg)
www.tianocore.org
Intel® Quark SoC X1000 Platform
Project EDK II
• Uses EDK II to support firmware
• QuarkPlatformPkg
-Intel® Galileo Gen2
• How to Build: Quark Readme.md
23