ProcessModuleEntryPointList
|
BdsInitialize -> gEfiBdsArchProtocolGuid //After DxeCore finish DXE phase, gEfiBdsArchProtocolGuid->BdsEntry will be invoked to enter BDS phase
|
BdsEntry
|
PlatformBdsInit
|
PlatformBdsInitEx
|
LaunchDefaultBDSApps
|
Status = GetConfigString ("DefaultBDSBootApp", DefaultApp, &Size);
|
LaunchAppFromGuidedFv
|
gBS->LoadImage
|
gBS->StartImage
|
LinuxLoaderEntry
1、默认配置启动app 为LinuxLoader
boot_images/QcomPkg/SocPkg/KamortaPkg/LAB/uefiplat.cfg
## Default app to boot in platform BDS init
DefaultChargerApp = "QcomChargerApp"
DefaultBDSBootApp = "LinuxLoader"
2、edk2 abl侧 LinuxLoader.inf BASE_NAME = LinuxLoader,ENTRY_POINT = LinuxLoaderEntry
LinuxLoader.inf
[Defines]
INF_VERSION = 0x00010006
BASE_NAME = LinuxLoader
FILE_GUID = f536d559-459f-48fa-8bbc-43b554ecae8d
MODULE_TYPE = UEFI_APPLICATION
VERSION_STRING = 0.1
ENTRY_POINT = LinuxLoaderEntry
LinuxLoader做为一个UEFI_APPLICATION 应用被加载,入口函数为LinuxLoaderEntry
本文详细阐述了如何在UEFI环境中,通过BDS阶段引导LinuxLoader作为默认启动应用,涉及从BdsInitialize到LoadImage和StartImage的流程,并重点介绍了配置文件和LinuxLoader INF文件的内容。
1559

被折叠的 条评论
为什么被折叠?



