yocto defconfig не найден

Я пытаюсь создать образ с помощью yocto, используя собственный источник (ядро Linux 3.16). Когда я пытаюсь запустить «bitbake myCustomRecipe», я получаю следующее предупреждение и ошибку:

WARNING: Unable to get checksum for myCustomRecipe SRC_URI entry defconfig: file could not be found

У меня есть несколько других предупреждений/ошибок, но я считаю, что они следуют естественным образом из-за приведенного выше предупреждения. Моя структура слоев выглядит так:

meta-mytestLayer
|
+--conf/
|  |
|  +--layer.conf
|
+--recipes-kernel/
   |
   +--linux/
      |
      +--myCustomRecipe_3.16/
      |  |
      |  +--defconfig
      |
      +--myCustomRecipe_3.16.bb

Как видите, в каталоге myCustomRecipe_3.16/ есть файл defconfig. Почему это не находят? Эта файловая структура очень похожа на те, которые я видел в нескольких учебниках (например, третья лабораторная работа этот документ). Мой layer.config выглядит так:

BBPATH .= ":${LAYERDIR}"

BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
    ${LAYERDIR}/recipes-*/*/*.bbappend"

BBFILE_COLLECTIONS += "myTestLayer"
BBFILE_PATTERN_myTestLayer = "^${LAYERDIR}/"
BBFILE_PRIORITY_myTestLayer = "6"

а мой рецепт выглядит так:

inherit kernel
require recipes-kernel/linux/linux-yocto.inc

SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git;protocol=git;nocheckout=1;name=machine"
SRC_URI += "file://defconfig"

LINUX_VERSION ?= "3.16"
LINUX_VERSION_EXTENSION ?= ""

SRCREV_machine="f14680f1692a9ec2a5b1b716a7a0c03dd391106f"

PR = "r1"
PV = "${LINUX_VERSION}+git${SRCPV}"

COMPATIBLE_MACHINE = "qemux86"

Я полный новичок и просматриваю ряд лабораторий/справочных руководств/учебников, но не нашел ничего, связанного с этой конкретной проблемой. В основном я работаю со ссылкой, которую предоставил ранее, и использую этот раздел руководства Yocto Project по разработке ядра Linux.


person karobar    schedule 22.10.2015    source источник


Ответы (1)


Ваш файл defconfig находится в каталоге с именем myCustomRecipe_3.16/, в то время как OpenEmbedded будет искать файл в каталогах (1) с одним из следующих имен:

  • myCustomRecipe-3.16/
  • myCustomRecipe/
  • files/

Обратите внимание на «-» вместо «_».

Если вы посмотрите на log.do_unpack вашего неудачного рецепта, вы увидите, в каких каталогах искали ваш defconfig.

(1) Ну, это только часть истории. К этим трем каталогам также будут добавлены каталоги для всех ваших OVERRIDES.

person Anders    schedule 23.10.2015