在wic图像中包含tar.bz图像

时间:2019-06-11 22:20:26

标签: yocto bitbake openembedded

我希望tar.bz图像包含在wic图像中,这是一个安装程序wic图像

我有:

IMAGE_FSTYPES += "tar.bz2"
do_image_wic[depends] += "${IMAGE_BASENAME}:do_image_tar"
IMAGE_BOOT_FILES += "${IMAGE_BASENAME}-${MACHINE}.tar.bz2;upgrade.bz2"

因此首先创建tar.bz,但是...在制作wic图像时未部署它,位于:

build_output/work/device-type-linux/yocto-image-release/1.0-r0/deploy-yocto-image-release-image-complete/yocto-image-release-device-type-20190611214913.rootfs.tar.bz2

它只有在映像yocto-image-release:do_deploy之后才会出现在部署目录中,映像yocto-image-release:do_deploy在生成wic之后自然发生(现在失败了)。

对于wic成像器,是否有一种安全的访问方式? 我猜想分担工作不会有什么好处https://www.yoctoproject.org/docs/latest/ref-manual/ref-manual.html#structure-build-work-shared

是否有一个新的installer.bb取决于yocto-image-release.bb:do_deploy更好的方法,以便它可以找到碎片然后自己动手做?

1 个答案:

答案 0 :(得分:0)

一种解决方案似乎涉及BBCLASSEXTEND,因此我可以通过将配方(或父类)修改为以下内容来构建bitbake yocto-image-releasebitbake yocto-image-installer

BBCLASSEXTEND += "installer"
DEPENDS_installer += "${BPN}"

installer.bbclass中的

CLASSOVERRIDE = "installer"

,然后我可以使用_installer后缀覆盖值,尽管可能会进行很多工作来中和本机配方的大多数配置和方法,因为(到目前为止)我要构建的只是系统问题自己的内核。

毫无疑问,稍后它将具有自己的内核配置,并且无论如何会因安装程序的专业性而具有initramfs。

这看起来不错,因为有各种映像(-dev,-debug等),所有这些映像都可能需要安装程序。但是我仍然想知道-installer是否将两者紧密地结合在一起