Конфигурация сборки TianoCore UEFI Development Kit, TargetTool создает неожиданную конфигурацию

Я создаю приложение UEFI для платы на базе x86-64. Мое приложение должно быть основано на UDK2018 и использовать его систему сборки. Мой узел сборки — Ubuntu 17. Я пытаюсь использовать TargetTool для настройки конфигурации сборки для среды эмуляции (то есть на данном этапе я хочу собрать и запустить свое приложение на эмулятор). Я использую инструмент в соответствии с документацией в руководствах пользователя EDK II BaseTools:

TargetTool --arch=X64 --platform=EmulatorPkg/EmulatorPkg.dsc --target=DEBUG --tagname=GCC5 Set

Я ожидаю, что после завершения вышеуказанной команды среда сборки будет настроена. Но это не то, что происходит на самом деле:

TargetTool Print

генерирует следующий вывод:

BUILD_RULE_CONF = Отключить

TOOL_CHAIN_TAG = Отключить

ЦЕЛЬ = Отключить

TOOL_CHAIN_CONF = Отключить

TARGET_ARCH = Отключить

MAX_CONCURRENT_THREAD_NUMBER = Отключить

ACTIVE_PLATFORM = EmulatorPkg/EmulatorPkg.dsc

Что я делаю неправильно? Чего мне не хватает в моем понимании того, как инструмент должен работать?


person Lesh    schedule 17.04.2018    source источник
comment
Стоит отметить, что сгенерированная конфигурация не только неожиданна, но и недействительна. Если указан параметр --multithreadnum, сгенерированная конфигурация по-прежнему недействительна, но теперь каждому ключу в файле конфигурации назначается строка «Включить». Похоже, в реализации инструмента есть ошибка.   -  person Lesh    schedule 17.04.2018
comment
Для меня это выглядит как очень сломанный сценарий (я могу воспроизвести поведение). Я бы предложил просто отредактировать файл конфигурации вручную. И отправьте отчет об ошибке на [email protected].   -  person unixsmurf    schedule 17.04.2018
comment
Да, скрипт сломан. Я исправил это в своей локальной ветке и, надеюсь, собираюсь представить патч на следующей неделе. Ручное редактирование для меня не вариант, мне нужна воспроизводимая автоматизация сборки. Вся структура кажется мне хрупкой и чувствительной, интересно, есть ли какие-либо настоящие коммерческие проекты, построенные на ней.   -  person Lesh    schedule 18.04.2018


Ответы (1)


Проверяли ли вы наличие файла target.txt в каталоге Conf рабочей области перед запуском TargetTool? Если вы не запустили edksetup.sh в каталоге рабочей области, target.txt не существует.

https://github.com/tianocore/tianocore.github.io/wiki/Common-instructions

person TianoCore Admin    schedule 19.06.2018
comment
Спасибо за ваш ответ. Был существующий target.txt, и я запустил edksetup.sh. - person Lesh; 25.06.2018