diff options
author | Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp> | 2023-05-02 20:01:14 +0900 |
---|---|---|
committer | Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp> | 2023-05-09 08:13:10 +0900 |
commit | 445bebc668e39da6ff531382ecd99fa42ab0b3c4 (patch) | |
tree | 7be65bb74308b25b0399a9f29b4a933c446f263e /meta-agl-ic-container/recipes-platform/images/agl-lxc-install-single-image.inc | |
parent | 57bf13e421a22a7476be89529076c8c6bc508c61 (diff) |
Rework images to support some integration types
Existing lxc-host-image-minimal support multiconfig based
single root filesystem integration. On the other hand,
when we want to use multi partition integration, we need
to fully replace lxc-host-image-minimal recipe.
This patch divide lxc-config installation and
single root filesystem integration feature from
lxc-host-image-minimal to agl-lxc-install-single-imgage.inc
and agl-lxc-autostart.inc.
This change realize to support integration types
using lxc-host-image-minimal.
Bug-AGL: SPEC-4777
Change-Id: I95d866ff6eaddf793927aacb056334e573389804
Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>
Diffstat (limited to 'meta-agl-ic-container/recipes-platform/images/agl-lxc-install-single-image.inc')
-rw-r--r-- | meta-agl-ic-container/recipes-platform/images/agl-lxc-install-single-image.inc | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/meta-agl-ic-container/recipes-platform/images/agl-lxc-install-single-image.inc b/meta-agl-ic-container/recipes-platform/images/agl-lxc-install-single-image.inc new file mode 100644 index 00000000..de2ea5ca --- /dev/null +++ b/meta-agl-ic-container/recipes-platform/images/agl-lxc-install-single-image.inc @@ -0,0 +1,36 @@ +# Integration type support for install guest root filesystem into host image. + +# Handle modification of IMAGE_LINK_NAME done by ULCB builds with Kingfisher support +MACHINE_SUFFIX = "${@bb.utils.contains('AGL_FEATURES', 'kingfisher', '-kf', '', d)}" + +python __anonymous() { + for c in (d.getVar('CONTAINER_IMAGES') or "").split(): + (mc, image) = c.split(':') + dependency = 'mc::' + mc + ':' + image + ':do_image_complete' + d.appendVarFlag('do_rootfs', 'mcdepends', ' ' + dependency) +} + +install_container_images() { + for c in ${CONTAINER_IMAGES}; do + config=${c%:*} + image=${c#*:} + name=${image#guest-image-} + rm -rf ${IMAGE_ROOTFS}/var/lib/machines/${name} + install -m 0755 -d ${IMAGE_ROOTFS}/var/lib/machines/${name} + src="${TOPDIR}/tmp-${config}/deploy/images/${MACHINE}/${image}-${MACHINE}${MACHINE_SUFFIX}.tar.bz2" + bbnote "Installing ${src}" + tar -C ${IMAGE_ROOTFS}/var/lib/machines/${name} -xf ${src} + done +} + +# +# Force rebuild of rootfs on every build to work around mcdepends issue +# +# NOTE: +# This is currently required as bitbake fails to trigger do_rootfs +# sometimes even when the guest image has in fact rebuilt. This is +# being investigated with upstream. +# +do_rootfs[nostamp] = "1" + +ROOTFS_POSTPROCESS_COMMAND += "install_container_images; " |