Как указать ядро ​​для сборки с помощью bitbake / yocto

Я работаю над созданием нового BSP с помощью yocto daisy. Когда я создаю свой образ, я получаю следующие предупреждения:

NOTE: Resolving any missing task queue dependencies
NOTE: multiple providers are available for virtual/kernel (my-kernel, linux-dummy)
NOTE: consider defining a PREFERRED_PROVIDER entry to match virtual/kernel
NOTE: multiple providers are available for runtime kernel-modules (my-kernel, linux-dummy)
NOTE: consider defining a PREFERRED_PROVIDER entry to match kernel-modules

Я не могу понять, как определить предпочтительного поставщика для ядра. Из того, что я прочитал, мне просто нужно добавить его в meta-myLayer / conf / machine / myMachine.conf, что я и сделал, как таковой:

KERNEL_IMAGETYPE = "zImage"
KERNEL_DEVICETREE = "${S}/arch/arm/boot/dts/myTree.dtb"
KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}"
#  use this kernel and version
PREFERRED_PROVIDER_virtual/kernel = "linux-yocto"
PREFERRED_VERSION_linux-yocto = "3.14%"

Yocto / bitbake, похоже, игнорирует эти строки.
Кроме того, для ясности, у меня также правильно установлено имя машины в build / conf / local.conf

Есть ли что-то еще, что мне нужно изменить, чтобы это работало? Или Йокто просто сломан?


person AllenKll    schedule 05.11.2014    source источник
comment
У вас есть предпочтительный поставщик ядра, установленный как linux-yocto, но он говорит, что доступны только my-kernel и linux-dummy. Вы уверены, что к вашему bblayers.conf добавлены слои poky/meta-yocto и poky/meta-yocto-bsp?   -  person E-rich    schedule 05.11.2014
comment
@ E-rich Да, мои bblayers включают meta-yocto и met-yocot-bsp в переменную BBLAYERS.   -  person AllenKll    schedule 10.11.2014


Ответы (1)


Как писал E-rich, система сборки видит только my-kernel и linux-dummy как доступные провайдеры для virtual / kernel. Таким образом, я предполагаю, что вы действительно хотите построить один из них?

Причина того, что linux-yocto недоступен, вероятно, заключается в том, что ваш компьютер не находится в регулярном выражении COMPATIBLE_MACHINE в linux-yocto_3.14.bb. Таким образом, если вы хотите использовать linux-yocto, вы должны bbappend этот рецепт на своем собственном слое и добавить свою машину в COMPATIBLE_MACHINE. (Вам также, вероятно, потребуется указать еще несколько параметров, SRCREV, KBRANCH и т. Д.)

person Anders    schedule 06.11.2014
comment
Это было. Спасибо, что указали мне правильное направление. Yocto намного сложнее в использовании, чем BuildRoot. Если бы использование yocto не требовалось, я бы переключился на BR. - person AllenKll; 10.11.2014