Сборка с несколькими конфигурациями в yocto

#yocto #bitbake #recipe

#yocto #bitbake #рецепт

Вопрос:

Мне нужно создать u-boot для нескольких конфигураций, 6 разных конфигураций, если быть точным. Мне нужно создать несколько двоичных файлов для всех 6 конфигураций.

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

 COMPATIBLE_MACHINE_mx6 = "mx6"

COMPATIBLE_MACHINE_imx6-abc = "imx6-abc"

COMPATIBLE_MACHINE_imx6-xyz = "imx6-xyz"

COMPATIBLE_MACHINE_abc-uboot-imx = "abc-uboot-imx"

COMPATIBLE_MACHINE_abc-uboot-imx-secure = "abc-uboot-imx-secure"

COMPATIBLE_MACHINE_abc-uboot-secure = "abc-uboot-secure"

COMPATIBLE_MACHINE_abc-encryption = "abc-encryption"

COMPATIBLE_MACHINE_abc-provisioning = "abc-provisioning"

COMPATIBLE_MACHINE_abc-factory-test = "abc-factory-test"

COMPATIBLE_MACHINE_xyz-factory-test = "xyz-factory-test"
 

Вышеуказанные машины создают отдельные изображения конфигураций, но мне нужно добиться того же только с одной машиной.

 COMPATIBLE_MACHINE_mx6 = "mx6"

COMPATIBLE_MACHINE_imx6-abc = "imx6-abc"

COMPATIBLE_MACHINE_imx6-xyz = "imx6-xyz"
 

Как я должен создавать несколько конфигураций только с одним типом машины? Пожалуйста, прокомментируйте!

Комментарии:

1. Если вы можете показать, в чем разница между конфигурациями, мы могли бы вам помочь.

2. Все 6 файлов конфигурации добавляют другую конфигурацию, например, в secure it с использованием внутренней конфигурации CAAM enable, аналогично другие имеют разные конфигурации. Но вся конфигурация будет использоваться на одной целевой плате. Поэтому это должно быть одно имя компьютера.

3. Вы можете создать несколько машин с общим SOC_FAMILY или MACHINEOVERRIDES , чтобы вы могли разложить некоторые рецепты? Вы также можете определить полную пользовательскую переменную, заданную в local.conf, которая будет управлять вашими несколькими конфигурациями?

Ответ №1:

Из того, что вы описываете, вы ищете UBOOT_CONFIG .

Вы могли бы сделать следующее в конфигурации вашего отдельного компьютера:

 UBOOT_CONFIG = "abc def xyz"
UBOOT_CONFIG[abc] = "ubootconfig1_defconfig"
UBOOT_CONFIG[def] = "ubootconfig2_defconfig"
UBOOT_CONFIG[xyz] = "ubootconfig3_defconfig"
 

Смотрите: https://www.yoctoproject.org/docs/latest/mega-manual/mega-manual.html#var-UBOOT_CONFIG

Комментарии:

1. Создаст ли он несколько каталогов для каждой конфигурации для хранения соответствующих изображений?

2. Он поместит результирующие U-загрузочные образы в tmp/deploy/images/. По умолчанию они не будут находиться в отдельных каталогах.

3. Спасибо за ответ и поддержку!! Я знаю, что опоздал с ответом, извиняюсь!!