我是一个在台湾的Yocto新手,我的Yocto基于NXP fsl。
我需要修改配方(fsl inmage auto.bb)以将文件添加到rootfs lib文件夹中,例如:
/home/eric/libtest.1.0.so—添加到-->EVK SD卡(/lib/)
然后“bitbakfsl图像自动”来构建图像。
我试过一些方法,但现在还是没用。我的代码如下所示:

#------------ Test copy file from ~ to rootfs /lib ------------
LICENSE = "CLOSED"

SRC_URI = "file:///home/eric/*"
do_install(){
    install -m 0644 ${S}/home/eric/liberictest.so ${D}/lib/
}
#-----------------

我试过install和cp cmd,但这些方法不起作用。。。
那么什么方法可以做到这一点呢?
很抱歉我的问题,谢谢。

最佳答案

感谢Nayfe&danlor,现在我可以添加(复制)/touch文件到其他Yocto rootfs中,我的食谱如下所示:

# Test copy a file to rootfs - WPI Eric Fan

DESCRIPTION = "Hello World eric test"
LICENSE = "CLOSED"
PV = "0.9453"
PR = "r0.9487"

#my test envirement WORKDIR="/home/eric/s32v_yocto_bsp/build_s32v234evb/tmp/work/aarch64-fsl-linux/eric0.9453-r0.9487/"

do_install(){
    install -d lib/erictest/94539487
    install -m 0644 /home/eric/liberictest.so lib/
    touch lib/libtouchtest.so
    cp --no-preserve=ownership /home/eric/libericcptest.so lib/
}

现在我试图在我真正的Yocto项目(fsl图像自动)上做同样的事情,但它没有工作,并有一些错误消息。。。
错误:linux-s32-4.14-r0 do_包:QA问题:linux-s32:文件/目录已安装,但未在任何包中提供:
/lib/libericcptest.so文件
请设置文件以便打包这些项目。或者,如果不需要它们,请避免安装它们或在do_install中删除它们。
linux-s32:1已安装但未提供的文件。[已安装vs已发货]
错误:linux-s32-4.14-r0 do_包:发现致命的QA错误,任务失败。
错误:linux-s32-4.14-r0 do-u包:函数失败:do-u包
错误:故障日志文件存储在:home/eric.fan/s32v_yocto_bsp/build_s32v234evb/tmp/work/s32v234evb-fsl-linux/linux-s32/4.14-r0/temp/log.do_package.5942
错误:任务(/HOME/ECR.FAN/S32 VyyOcjyBSP/Soals/Meta Alb/Cudies内核/Linux /LINUX S32 4.4.14.BB:DOYPACK)退出代码“1”失败

09-03 22:27