我正在尝试使用自定义源(Linux 内核 3.16)使用 yocto 创建图像。当我尝试运行“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 文件。为什么没有找到这个?该文件结构与我在几个教程中看到的文件结构非常相似(例如 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 新手,正在查看一些实验室/引用手册/教程,但没有找到与这个特定问题相关的任何内容。我主要使用之前提供的链接并使用 this section Yocto 项目 Linux 内核开发手册。
最佳答案
您的 defconfig
文件位于名为 myCustomRecipe_3.16/
的目录中,而 OpenEmbedded 将在名为以下任一名称的目录 (1) 中查找该文件:
myCustomRecipe-3.16/
myCustomRecipe/
文件/
注意“-”而不是“_”。
如果您查看失败配方的 log.do_unpack
,您将看到在哪些目录中搜索了您的 defconfig。
(1) 嗯,这只是故事的一部分。这三个目录还将附加所有OVERRIDES
的目录。
关于linux - 未找到 yocto defconfig,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33287263/