UEFI之edk2 目录说明

edk2中的子目录

AppPkg

UEFI Application Development Kit是一系列用来进行uefi app开发的套件,标准依赖库,工具以及demo,目标是降低UEFI app的开发门槛。

MdePkg

全称为“Module Development Environment Package”,这是一个特殊的package,包含了用于开发一个module所需要的最小环境。一个module可能也会依赖于其他的Package,但是所有modules必须依赖于MdePkg。

MdeModulePkg

此包提供符合UEFI/PI工业标准的模块,也提供该标准相关的开发环境,PPIs/PROTOCOLs/GUIDs和依赖库。

ArmPkg

提供ARM架构相关的protocols,属于ARM平台上的通用代码。

ArmPlatformPkg

ARM开发板相关的UEFI代码,包含ARM平台上通用的一些组件,重复利用这些组建会令ARM平台的不同板型之间的移植变得更加容易。

BaseTools

该包提供编译相关的工具用于EDK和EDK2,比如:AutoGen, Build, GenSec, GenFV, GenFW, GenRds工具。

BeagleBoardPkg

BeagleBoard是一个便宜并且灵活的单板电脑,玩过开发板的同学应该都了解过,基于OMAP3530 SoC (ARM Cortex TM-A8)处理器的开发板。这个包里是对此开发板的支持代码。

CorebootModulePkg

Coreboot原本和UEFI/BIOS是竞争关系,但是现在Coreboot也逐渐向UEFI标准靠拢,目前依靠此包可以轻松从coreboot启动到UEFI,Coreboot Support Modules包含了如下代码:用来解析coreboot table的代码,报告存储器/IO资源的代码,安装acpi table和smbios table 到EFI系统表中的代码。它位于uefi环境和hardware的中间层。

Coreboot模型

CorebootPayloadPkg

用来加载上层UEFI环境的中间层,Hardware->Coreboot->CorebootPayloadPkg->UEFI->HLOS

CryptoPkg

UEFI定义了HLOS(high level OS)和平台固件之间的接口,多个安全特性也在2.2版本之后加入其中,此包是用来提供加密支持的。

DuetPkg

开发者使用的UEFI模拟器,能够在BIOS机器上模拟UEFI环境。DUET 是基于Legacy BIOS 提供了UEFI模拟器,提供了在传统BIOS系统上的UEFI环境。

EdkCompatibilityPkg

EDK兼容包提供库和头文件用来使能在UEFI2.0+Framework0.9x模式下的EDK编译。

EdkShellPkg, EdkShellBinPkg

EDK Shell开发包以及一个官方的EDK Shell实现,这两个包已经在被Shell 2.x逐渐取代了。

ShellPkg,ShellBinPkg
Shell 2.x版本开发包以及一个官方的UEFI Shell 实现。

EmbeddedPkg

为memory mapped controllers提供protocol实现,以及一个简单的EFI shell(EBL)。

EmulatorPkg

Emulator虚拟环境,用来取代Nt32Pkg和UnixPkg,可以跨平台编译运行的一个虚拟器。

Nt32Pkg

一个win环境下的UEFI虚拟器,不能用语加载实际的OS,只能用来调试UEFI代码。已经逐渐被Emulator取代。

UnixPkg

一个类Unix操作系统下的UEFI虚拟器,已经逐渐被Emulator取代。

OvmfPkg

OVMF是用来给虚拟机提供UEFI支持的包,可以使用QEMU和KVM来引导OVMF固件,并进一步引导HLOS。

NetworkPkg

提供网络支持的包,比如:IPv6网络协议栈/IPsec驱动/PXE驱动/iSCSI驱动/网络配置相关的shell app。

Omap35xxPkg

Omap35xxPkg是Texas Instrument OMAP35xx平台支持包。

OptionRomPkg

这个包的目的是为了提供Option ROM image支持的,如果要编译PCI兼容的Option ROM image,需要依赖此包。

SecurityPkg

提供了四种安全相关的特性:TPM, User identification (UID),secure boot, authenticated variable

StdLib, StdLibPrivateInternalFiles

StdLib提供了标准库的UDK实现,StdLibPrivateInternalFiles包是用来给StdLib使用的,不能用作其他引用。

UefiCpuPkg

提供兼容UEFI的CPU模块和库。

SourceLevelDebugPkg

用来提供debug支持的包。

SignedCapsulePkg

提供了一个签名校验方案,用来支持安全升级和恢复。

PcAtChipsetPkg

这个包提供了符合PcAt标准器件的接口和实现。

FatPkg, FatBinPkg

FAT支持包。

参考链接:https://www.jianshu.com/p/836b412a1f8b

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值