找不到 yocto defconfig

yocto defconfig not found

我正在尝试使用自定义源(linux 内核 3.16)使用 yocto 创建图像。当我尝试 运行 'bitbake myCustomRecipe' 时,我收到如下警告和错误:

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

我还有其他几个 warnings/errors,但我相信由于上述警告,这些自然会出现。我的图层结构是这样的:

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

如您所见,myCustomRecipe_3.16/ 目录中有一个 defconfig 文件。为什么找不到这个?这个文件结构与我在几个教程中看到的非常相似(比如 this document 的实验三)。我的 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 新手,正在查看一些 labs/reference manuals/tutorials 但没有发现与这个特定问题相关的任何内容。我主要使用我之前提供的 link 和 Yocto 项目 Linux 内核开发手册的 this section

您的 defconfig 文件位于名为 myCustomRecipe_3.16/ 的目录中,而 OpenEmbedded 将在目录 (1) 中查找名为:

的文件
  • myCustomRecipe-3.16/
  • myCustomRecipe/
  • files/

请注意“-”而不是“_”。

如果您查看失败配方的 log.do_unpack,您将看到已在哪些目录中搜索您的 defconfig。

(1) 嗯,这只是故事的一部分。这三个目录也将附加所有 OVERRIDES 的目录。