Я следовал пошаговой статье здесь: 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
Может быть, кто-то знает, где именно я можно найти эту загадочную команду?
Решение состоит в том, чтобы использовать
bash:~/src/edk2$ source edksetup.sh
bash:~/src/edk2$ build
Эффект команды экспорта внутри edksetup.sh отражается не в основной оболочке bash, а в вспомогательной оболочке, созданной для его выполнения. «source» указывает запустить скрипт в текущей оболочке.
Пока вы установили зависимости для сборки и точно следовали руководству , я думаю, что вам просто нужно убедиться, что вы находитесь в каталоге edk2
при выполнении команды build
. Если вы введете команду build
, находясь в любом другом каталоге, вы получите полученную ошибку.
Кроме того, команда build
будет работать только в том случае, если вы запустили edksetup.sh
и отредактировали правильные параметры сборки в ~/src/edk2/Conf/target.txt
(или как там у вас).
Вот начальный вывод команды build при запуске из каталога 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!
Затем он продолжает компилировать все необходимое.