Ubuntu环境下,EDK2+EmulatorPkg编译运行UEFI固件

直奔主题,按以下步骤既可以编译运行固件程序

第一步:选择合适的版本,下载EDK2源码(gitee也可以)

git clone https://github.com/tianocore/edk2.git

第二步:命令行下载依赖子模块

cd edk2
git submodule update --init --recursive #递归下载

第三步:如果第二步操作失败,执行如下操作手动添加以来模块

cd edk2

cat .gitmodules #查看依赖子模块和对应安装位置

git submodule status # 查看所有子模块的提交哈希

git ls-tree HEAD -r | grep "commit"  # 或查看主仓库记录的子模块提交的hash值

           根据获取到的依赖模块的哈希值,魔法github上查询该模块,在url后面拼接该哈希值,就可以获取正确版本的以来模块。最后将对应的代码下载到EDK2指定位置。

第四步:安装编译链工具

sudo apt install build-essential nasm acpica-tools  # Ubuntu/Debian

sudo apt install libx11-dev
sudo apt install libxext-dev

第五步:初始化编译环境

# 在EDK2根目录下运行
source edksetup.sh  # Linux/macOS

第六步:编译BaseTools

make -C BaseTools

第七步:执行编译命令

build -p EmulatorPkg/EmulatorPkg.dsc -a X64 -t GCC5 -b DEBUG

第八步:运行

find ./Build -name "Host" #找到文件位置

              进入目录FV_RECOVERY.fd这个文件的目录下面,执行 ./全路径/Host

如下界面就可以看到了

猜你喜欢

转载自blog.csdn.net/Little_Baby24/article/details/147111182
今日推荐