首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Bitbake将配置文件放在错误的包中。忽略.bbappend中的FILES_指令。下一个要看的地方/如何修复?

Bitbake将配置文件放在错误的包中。忽略.bbappend中的FILES_指令。下一个要看的地方/如何修复?
EN

Stack Overflow用户
提问于 2019-01-04 03:18:19
回答 1查看 286关注 0票数 0

我创建了一个bbappend,用于从现有的(修改后的) u-boot编译u-boot fw_printenv/setenv实用程序,并将它们安装到${D}中。这工作得很好。我在菜谱中添加了一个额外的包,并使用FILES_告诉bitbake哪些包应该包含哪些文件。Bitbake似乎忽略了FILES_指令,或者其他什么东西正在覆盖它。我希望将${D}/boot的内容打包到u-boot-imx中,并将${D}/sbin和${D}/etc打包到u-boot-fw-utils-imx中。(我正在运行Yocto 2.2)

我试过FILES_u-boot-fw-utils-imx += "/sbin/* /etc/*"了。引导中的文件会进入u- /sbin -fw-utils-imx rpm,但是/etc中的配置文件仍然在u-boot-imx rpm中。然后,我尝试设置引导和FILES_remove_u-boot-imx = "/etc/fw_env.config",但配置文件仍然在u- FILES_u-boot-imx = "/boot /boot/*" -imx包中。

代码语言:javascript
复制
# bitbake -e | grep ^FILES_u-boot
FILES_u-boot-fw-utils-imx=" /sbin/* /etc /etc/fw_env.config"
FILES_u-boot-imx-bin="/usr/bin/* /usr/sbin/*"
FILES_u-boot-imx="/boot /etc"
...

看起来好像有什么东西在我之后设置了FILES_u-boot-imx。

我的大部分.bbappend文件:

代码语言:javascript
复制
do_compile_append() {
    # compile fw_printenv/setenv. default oe_runmake options are broken and yield an x86_64 executable. the inline python strips off the leading space in UBOOT_MACHINE.
    make CROSS_COMPILE=arm-poky-linux-gnueabi- CC="arm-poky-linux-gnueabi-gcc  --sysroot=${STAGING_DIR_TARGET} -I${STAGING_DIR_TCBOOTSTRAP}/usr/include -mfloat-abi=hard" V=1 -C ${S} O=${B}/${@bb.data.getVar('UBOOT_MACHINE', d, 1).strip()} env
}

do_install_append() {
    install -d ${D}/sbin
    install -d ${D}/etc
    install -m 755 ${B}/${@bb.data.getVar('UBOOT_MACHINE', d, 1).strip()}/tools/env/fw_printenv ${D}/sbin/fw_printenv
    install -m 755 ${B}/${@bb.data.getVar('UBOOT_MACHINE', d, 1).strip()}/tools/env/fw_printenv ${D}/sbin/fw_setenv
    echo "/dev/mmcblk1boot0      0xe0000         0x2000" > ${B}/${@bb.data.getVar('UBOOT_MACHINE', d, 1).strip()}/tools/env/fw_env.custom
    install -m 0644 ${B}/${@bb.data.getVar('UBOOT_MACHINE', d, 1).strip()}/tools/env/fw_env.custom ${D}/etc/fw_env.config
}

PACKAGES += "u-boot-fw-utils-imx"
INSANE_SKIP_u-boot-imx = "already-stripped ldflags"
INSANE_SKIP_u-boot-fw-utils-imx = "already-stripped ldflags"
FILES_u-boot-imx = "/boot /boot/*"
FILES_u-boot-fw-utils-imx += "/sbin/* /etc /etc/fw_env.config"

谁能解释一下如何将我的配置文件放入所需的包中,或者告诉我下一个要查看的地方?

顺便说一句:我相信有人会问我为什么不使用现有的u-boot-fw-utils方法。我所拥有的食谱是一个早期版本的u-boot。当我运行该配方时,它没有编译。一旦我修复了明显的问题,oe_runmake就是为x86_64而不是目标平台编译的。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54028501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档