TianoCore UEFI 开发工具包构建:如何防止构建过程忽略 MS Windows - Linux 上的相关内容

TianoCore UEFI Development Kit build: how to prevent the build process to ignore MS Windows - oriented stuff on Linux

我正在尝试在 Ubuntu17 上构建 UDK2018。平台构建过程(构建基础工具)意外地尝试构建一些面向 MS Windows 的东西但失败了。如何解决?

根据记录的建议,在第一阶段我构建 "Base Tools":

make all -C ${EDK_TOOLS_PATH}

然后我 运行 安装脚本:

edksetup.sh BaseTools

此阶段已成功完成,安装脚本 运行 也通过了一些测试。

在接下来的阶段我尝试构建平台:

build all -a X64 -t GCC5

最后一个阶段失败并出现以下错误:

Nt32Pkg/Include/WinNtPeim.h:27:10: fatal error: Common/WinNtInclude.h: No such file or directory

您没有指定要构建的任何平台,因此使用 Conf/target.txt 中指定的默认平台描述文件(由 edksetup.shBaseTools/Conf/target.template 初始化)。该文件是 Nt32Pkg/Nt32Pkg.dsc,它描述了 Windows 特定平台。

尝试在 build 命令行中添加 -p OvmfPkg/OvmfPkgX64.dsc,或编辑配置文件,为 QEMU 平台构建版本。

如果您希望针对通用平台构建独立模块,请定义您自己的指定 -p MdeModulePkg/MdeModulePkg.dsc 的通用构建描述并查看 MdeModulePkg/Application/HelloWorld/ 是如何集成的 - 然后另外添加-m <your module .inf> 在命令行上。

在 Linux 系统上,尝试构建 OVMF。

https://github.com/tianocore/tianocore.github.io/wiki/How-to-build-OVMF

https://github.com/tianocore/tianocore.github.io/wiki/OVMF

https://github.com/tianocore/tianocore.github.io/wiki/Using-EDK-II-with-Native-GCC