在哪里可以找到构建 EDK 2 环境所需的“build”命令?

在哪里可以找到构建 EDK 2 环境所需的“build”命令?

我按照这里的分步文章进行操作:UEFI/EFK2。一切都运行良好,直到我需要实际构建它。在“构建 MdeModulePkg 模块包”段落中,描述说:只需输入 build:

bash$ build

但是我的 Ubuntu 12.04.1 LTS 说:

No command 'build' found, did you mean:
 Command 'xbuild' from package 'mono-xbuild' (main)
 Command 'guild' from package 'guile-2.0-libs' (universe)
 Command 'sbuild' from package 'sbuild' (universe)
 Command 'bwild' from package 'bacula-director-common' (main)
 Command 'buildd' from package 'buildd' (universe)
build: command not found

也许有人知道我究竟可以在哪里找到这个神秘的命令?

答案1

解决方案是使用

bash:~/src/edk2$ source edksetup.sh

bash:~/src/edk2$ build

edksetup.sh 中的 export 命令的效果并不反映在主 bash shell 中,而是反映在为执行它而生成的子 shell 中。“source”指示它在当前 shell 中运行脚本。

答案2

只要您安装了构建依赖项并遵循导游没错,我认为你只需要确保在edk2发出build命令时处于目录中。如果你build在任何其他目录中输入命令,你将收到你收到的错误。

此外,build仅当您运行edksetup.sh并编辑了正确的构建参数 ~/src/edk2/Conf/target.txt(或任何路径)时,该命令才会起作用。

这是从目录运行时构建命令的初始输出edk2(根据指南调整文件):

mik@Acer ~/src/edk2$ build
Build environment: Linux-3.2.0-32-generic-i686-with-Ubuntu-12.04-precise
Build start time: 00:45:15, Oct.22 2012

WORKSPACE        = /home/mike/src/edk2
ECP_SOURCE       = /home/mike/src/edk2/EdkCompatibilityPkg
EDK_SOURCE       = /home/mike/src/edk2/EdkCompatibilityPkg
EFI_SOURCE       = /home/mike/src/edk2/EdkCompatibilityPkg
EDK_TOOLS_PATH   = /home/mike/src/edk2/BaseTools

Architecture(s)  = IA32
Build target     = DEBUG
Toolchain        = GCC46

Active Platform          = /home/mike/src/edk2/MdeModulePkg/MdeModulePkg.dsc

Processing meta-data ........... done!

然后它继续编译所有需要的内容。

相关内容