【问题标题】:Adding new recipe to Yocto fails during generate root fs在生成根 fs 期间向 Yocto 添加新配方失败
【发布时间】:2016-11-01 21:12:13
【问题描述】:

我一直在使用 Yocto 为 ARM 板创建 Linux 版本。

我一直在手动交叉编译附加应用程序。现在我们需要一个很好的集成构建,所以我开始向 yocto 添加自定义食谱。

我一直在为 ARM 构建而苦苦挣扎(使用相同代码的 x86 构建似乎很好)。

即使是从开发手册中剪切和粘贴的基本“hello world”也不起作用 (http://www.yoctoproject.org/docs/current/dev-manual/dev-manual.html#new-recipe-writing-a-new-recipe)

配方如下:

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

RPROVIDES_${PN} = "helloworld"

FILES_${PN} += "${bindir}"

SRC_URI = "file://helloworld.c"

S = "${WORKDIR}"

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

do_install() {
        install -d ${D}${bindir}
        install -m 0755 helloworld ${D}${bindir}
}

这是错误:

ERROR: helloworld not found in the base feeds (smarc_samx6i cortexa9t2hf-vfp-neon-mx6qdl cortexa9hf-vfp-neon-mx6qdl cortexa9t2hf-vfp-neon cortexa9t2hf-vfp cortexa9hf-vfp-neon cortexa9hf-vfp armv7at2hf-vfp-neon armv7ahf-vfp-neon armv7at2hf-vfp armv7ahf-vfp armv6thf-vfp armv6hf-vfp armv5tehf-vfp armv5ehf-vfp armv5thf-vfp armv5hf-vfp noarch any all).
ERROR: Function failed: do_rootfs

关于什么会导致此错误的任何建议?

包确实构建正确;这个问题似乎与为 rootfs 找到它是孤立的。

谢谢!

编辑: 我有一个似乎可行的解决方案,尽管从长远来看它并不理想。

将 IMAGE_INSTALL 下的软件包名称从 helloworld 更改为 helloworld-0.0.1 可解决此问题。显然,我宁愿不在顶级配方中对每个包的版本进行硬编码,而其他包不需要这个,所以希望有另一种解决方案。

编辑 2: 重命名配方并删除版本字符串也可以解决问题。再一次,从长远来看,这似乎并不理想。

【问题讨论】:

  • 你的食谱存储在哪里(哪个目录),它的文件名如何?
  • 我在源代码中创建了一个“元测试”位置,并在其下创建了一个“食谱测试”位置。有一个用于元测试的 layers.conf。
  • 您是否将meta-test 添加到 bblayers.conf 中?
  • 是的,它包含在 bblayers.conf 文件中。作为一个快速测试,如果它被删除,我得到一个错误,没有提供包。添加回来消除了这一点。
  • 我应该指出我可以成功地将构建包安装到目标机器上。问题与构建图像无关。

标签: yocto


【解决方案1】:

1.重命名你的配方名称,例如 hello-0.1.bb 到 hello_0.1.bb

2.最后只添加下面一行:

FILES_${PN} = "${bindir}/*"  

Abvoe 行可帮助您将二进制文件复制到 rootfs。

【讨论】:

    【解决方案2】:

    好的,经过进一步测试,我发现这是配方的命名问题。

    它被命名为 helloworld-0.0.1.bb(与我整理的其他食谱的格式相同,促使我尝试这个简单的测试)。

    如果其他人遇到此问题,只需将“-”替换为“_”即可解决此问题。

    【讨论】:

      猜你喜欢
      • 2016-02-28
      • 2017-05-07
      • 1970-01-01
      • 1970-01-01
      • 2019-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-19
      相关资源
      最近更新 更多