在yocto中添加层时出现问题

在yocto中添加层时出现问题,yocto,openembedded,Yocto,Openembedded,我是yocto的新手,正在努力学习如何使用它。我遵循了mega手册部分中的步骤。我跑 yocto层创建mylayer 并编辑了我的bblayers.conf文件以获得以下内容: BBLAYERS = ?" \ /usr/local/src/yocto/meta \ /usr/local/src/yocto/meta-poky \ /usr/local/src/yocto/meta-yocto-bsp \ /usr/local/src/yocto/meta-myl

我是yocto的新手,正在努力学习如何使用它。我遵循了mega手册部分中的步骤。我跑

yocto层创建mylayer

并编辑了我的bblayers.conf文件以获得以下内容:

 BBLAYERS = ?" \
    /usr/local/src/yocto/meta \
    /usr/local/src/yocto/meta-poky \
    /usr/local/src/yocto/meta-yocto-bsp \
    /usr/local/src/yocto/meta-mylayer \
    "
我运行了
source oe init build env
,然后运行了
bitbake核心映像sato
。构建完成后,我运行了
runqemu qemu86 nographics
,登录后运行
find/-name helloworld
,因为mylayer定义了构建helloworld的方法。但是,找不到该文件

这个程序(helloworld)不应该包含在创建的映像中吗?我在这里遗漏了什么步骤

meta mylayer/conf/layer.conf:

# We have a conf and classes directory, add to BBPATH
BBPATH .= ":${LAYERDIR}"

# We have recipes-* directories, add to BBFILES
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
    ${LAYERDIR}/recipes-*/*/*.bbappend"

BBFILE_COLLECTIONS += "mylayer"
BBFILE_PATTERN_mylayer = "^${LAYERDIR}/"
BBFILE_PRIORITY_mylayer = "6"
meta mylayer/recipies示例/示例/示例_0.1.bb

#
# This file was derived from the 'Hello World!' example recipe in the
# Yocto Project Development Manual.
#

SUMMARY = "Simple helloworld application"
SECTION = "examples"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"

SRC_URI = "file://helloworld.c"

S = "${WORKDIR}"

do_compile() {
     ${CC} ${LDFLAGS} helloworld.c -o helloworld
}

do_install() {
     install -d ${D}${bindir}
     install -m 0755 helloworld ${D}${bindir}
}
meta mylayer/recipes示例/示例/示例-0.1/helloworld.c:

#include <stdio.h>

int main(int argc, char **argv)
{
    printf("Hello World!\n");

    return 0;
}
#包括
int main(int argc,字符**argv)
{
printf(“你好,世界!\n”);
返回0;
}

添加新层并不会将层中的每个配方添加到每个图像中,它只是使这些配方可供构建

使用镜像配方中的image\u INSTALL在镜像中添加所需的软件包


这已包含在。

的文档中。谢谢,我没有仔细阅读手册!顺便说一下,IMAGE\u INSTALL\u append应该设置为脚本创建的配方名称(带前导空格),所以在我的例子中,“example”