如何在rootfs / boot中安装initramfs?

时间:2019-05-25 06:14:02

标签: openembedded

我想在rootfs /boot中安装一个initramfs(与wic引导分区不同)。

在rootfs /boot中,安装了内核映像和安装映像。

我没有将initramfs捆绑在内核中,而是将其放在合适的映像中,但是此合适的映像是没有initramfs的映像。

我需要将initramfs放在rootfs上的/boot中,但是我找不到安装这些文件的东西,或者是否有合法的方法在那里也安装其他东西,或者是否需要打补丁?

我希望能找到IMAGE_BOOT_FILES之类的东西,我可以在DEPLOY_DIR_IMAGE中指定其他文件

作为一个额外的细节,我要安装的initramfs不是使用INITRAMFS_IMAGE(用于包含适合图像)声明给内核配方的,而是可以单独构建的替代initramfs。

但是我在指定依赖项时遇到了麻烦,因此这个额外的initramfs是单独构建的。

我尝试使用以下命令指定此initramfs配方的名称:

  • DISTRO_EXTRA_RDEPENDS
  • EXTRA_IMAGEDEPENDS
  • 套餐

编辑:答案的一部分似乎是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

0 个答案:

没有答案