我想在rootfs /boot
中安装一个initramfs(与wic引导分区不同)。
在rootfs /boot
中,安装了内核映像和安装映像。
我没有将initramfs捆绑在内核中,而是将其放在合适的映像中,但是此合适的映像是没有initramfs的映像。
我需要将initramfs放在rootfs上的/boot
中,但是我找不到安装这些文件的东西,或者是否有合法的方法在那里也安装其他东西,或者是否需要打补丁?
我希望能找到IMAGE_BOOT_FILES
之类的东西,我可以在DEPLOY_DIR_IMAGE
中指定其他文件
作为一个额外的细节,我要安装的initramfs不是使用INITRAMFS_IMAGE(用于包含适合图像)声明给内核配方的,而是可以单独构建的替代initramfs。
但是我在指定依赖项时遇到了麻烦,因此这个额外的initramfs是单独构建的。
我尝试使用以下命令指定此initramfs配方的名称:
编辑:答案的一部分似乎是initramfs是 image ,因此它安装的任何内容(使用暂存)都将存在。
很明显,我需要遵循内核配方计划,这是依赖于imitramfs的另一种配方,它产生了伪像,然后将其窃取
简单的答案是在顶级yocto-image-base.bb食谱中使用类似的内容
ROOTFS_POSTPROCESS_COMMAND_append + =“ install_initramfs;” install_initramfs(){ cp $ {DEPLOY_DIR_IMAGE} / $ {INITRAMFS_IMAGE}-$ {MACHINE} .cpio.gz $ {IMAGE_ROOTFS} / boot / ln -sf $ {INITRAMFS_IMAGE}-$ {MACHINE} .cpio.gz $ {IMAGE_ROOTFS} /boot/initramfs.gz }
但是我宁愿将inherit staging
添加到initramfs bb中,如下所示:
addtask populate_sysroot after do_build before do_complete
除了通过${DEPLOY_IMAGE_DIR}
以外,重新引入图像配方为更高级别的sysroot做出贡献的能力
应该像在wic中一样,将initramfs放在父sysroot中一样简单地放入/ boot