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的中間層。
用來載入上層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 實現。
emulatorpkg
emulator虛擬環境,用來取代nt32pkg和unixpkg,可以跨平台編譯執行的乙個虛擬器。
nt32pkg
乙個win環境下的uefi虛擬器,不能用語載入實際的os,只能用來除錯uefi**。已經逐漸被emulator取代。
unixpkg
乙個類unix作業系統下的uefi虛擬器,已經逐漸被emulator取代。
ovmfpkg
ovmf是用來給虛擬機器提供uefi支援的包,可以使用qemu和kvm來引導ovmf韌體,並進一步引導hlos。
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支援包。
參考:
搭建UEFI除錯環境
需要的軟體包如下 本文在windows7x64上測試,安裝windows sdk作為編譯器 安裝.net framework 4 安裝windows sdk v7.1 給ovmfpkg新增noopt的target,2016 7 16的edk2需要修改,以後的edk2更新了應該不需要。執行編譯命令 b...
EDK32 NT32pkg 編譯和除錯
edk32 nt32pkg提供了在windows下 uefi bios的能力,對於初學者學習framework有很大的幫助。另外順便一提的是,linux下也有類似的unixpkg,提供用gcc編譯 gdb除錯的 包。進入今天的實驗 開啟cmd,進入c edk2執行edksetup.bat 然後執行b...
Linux C 程式開發與除錯
g 與 gcc的關係 linux的gcc和g 的區別 用gcc編譯c 檔案 anyway,還是用g 吧 假設有乙個原始檔為main.cc include int main int args,char argv std cout e 表示預處理完就結束 源 共五行 預處理完 g s hello.ii ...