BitBake不在rootfs Image

问题描述 投票:0回答:1
我尝试了很多选择,所以我现在不确定食谱中的内容是不必要的/多余的,需要什么。 我认为

FILESEXTRAPATHS..

SRC_URI..

do_install..

应该足够了,但是它不仅与它们一起使用,而且都不适合所有其他东西。
DESCRIPTION = "VPU libraries provided by fsl" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690" PACKAGE_ARCH = "all" ALLOW_EMPTY_${PN} = "1" FILESEXTRAPATHS_prepend := "${THISDIR}/files:" SRC_URI += " \ file://vpu_fw_imx6d.bin \ file://vpu_fw_imx6q.bin \ " INSANE_SKIP_${PN} += "installed-vs-shipped" do_install () { install -d ${D}${base_libdir}/firmware/ cp ${WORKDIR}/vpu_fw_imx6d.bin ${D}${base_libdir}/firmware/ cp ${WORKDIR}/vpu_fw_imx6q.bin ${D}${base_libdir}/firmware/ chmod 755 ${D}${base_libdir}/firmware/vpu_fw_imx6d.bin chmod 755 ${D}${base_libdir}/firmware/vpu_fw_imx6q.bin } PACKAGES = "${PN}" FILES_${PN} += " \ ${D}${base_libdir}/firmware/vpu_fw_imx6d.bin \ ${D}${base_libdir}/firmware/vpu_fw_imx6q.bin \ "
你能指出怎么了吗?

Edit:
安德斯的回答确实有助于并解决了这个问题。我正在发布“固定”食谱,以防有人发现它有帮助。
DESCRIPTION = "VPU libraries provided by fsl" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690" PACKAGE_ARCH = "all" SRC_URI += " \ file://vpu_fw_imx6d.bin \ file://vpu_fw_imx6q.bin \ " do_install () { install -d ${D}${base_libdir}/firmware/ install -m 755 ${WORKDIR}/vpu_fw_imx6d.bin ${D}${base_libdir}/firmware/ install -m 755 ${WORKDIR}/vpu_fw_imx6q.bin ${D}${base_libdir}/firmware/ } FILES_${PN} += " \ ${base_libdir}/firmware/vpu_fw_imx6d.bin \ ${base_libdir}/firmware/vpu_fw_imx6q.bin \ "


避免所有不需要的线,只是为了安全起见。

FILESEXTRAPATHS
没有必要;仅当您编写
yocto bitbake
1个回答
15
投票
文件以在另一层中修改食谱时才使用。

ALLOW_EMPT_${PN}

也不需要。它用于允许PN为空,这仅在您创建其他软件包时才有用。在您的情况下,您可以在PN中使用固件文件,因此,如果无法安装文件,则最好在构建软件包时出现BitBake错误。

INSANE_SKIP_${PN} += "installed-vs-shipped"
也不需要。仅当您在
do_install

中安装文件时,才需要包含包装。通常,建议您不要安装它们或删除文件。

你应该工作正常;尽管我建议使用

do_install()
而不是

install

cp
。这样,您也可以确保所有者和小组是正确的。 (对此进行检查,作为jethro中的新质量检查)。 不需要。
从您看来

chmod

定义。

PACKAGES = "${PN}"
中的路径应为目标的路径(即不包括
${D}
主机)。
这应该让你起来。
    
thanks,好的起点。我终于以这种方式安装了两个.sh脚本。

I创建了此文件结构(文件夹名称“文件”是Yocto自动知道的,并且可以按原样保留):

FILES_${PN}

i我将浓汤添加到“ somename”中。

FILES

和somename.bb文件以这种方式外观:
D
yocto将自动找到文件夹中的文件,它将它们复制到临时$ {workDir},第二个“安装”行确保稍后两个文件都将在文件夹 /usr /bin中存在。因为在这种情况下,$ {bindir}(例如 /usr /bin)用作复制目标_ $ {pn}。
    

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.