Yocto中继承rm_work时保留rootfs的配置问题排查
问题分析与解决办法
首先得说,你在RM_WORK_EXCLUDE里写rootfs是踩了个常见的小坑——这个变量需要指定的是recipe的名称,而rootfs并不是一个recipe,它只是构建过程中生成的临时目录而已。
咱们一步步来解决:
修正RM_WORK_EXCLUDE的配置
你要保留的是生成根文件系统的那个镜像recipe,也就是core-image-minimal,所以把local.conf里的配置改成:INHERIT += "rm_work" RM_WORK_EXCLUDE += "core-image-minimal"这样rm_work在清理其他recipe的工作目录时,会保留
core-image-minimal的工作目录,其中就包含了你通过bitbake -e查到的IMAGE_ROOTFS路径。确保已经执行过构建命令
你用bitbake -e core-image-minimal | grep ^IMAGE_ROOTFS=得到的路径,是构建过程中才会创建的临时目录,如果还没跑过bitbake core-image-minimal,这个目录肯定是不存在的。所以先执行完整的构建:bitbake core-image-minimal等构建完成后,再去cd到那个路径,就能找到了。
额外小提示
如果你只是想拿到最终的根文件系统镜像(比如tar包、ext4镜像),其实不用去找临时的IMAGE_ROOTFS目录,直接去tmp/deploy/images/<你的机器名>/下面找就行,这里的文件是最终部署用的成品。
内容的提问来源于stack exchange,提问作者md.jamal
相关产品推荐
相关产品推荐

