diff options
Diffstat (limited to 'meta-agl-ic-container/recipes-platform')
6 files changed, 163 insertions, 0 deletions
diff --git a/meta-agl-ic-container/recipes-platform/images/agl-cluster-demo-lxc-host.bb b/meta-agl-ic-container/recipes-platform/images/agl-cluster-demo-lxc-host.bb new file mode 100644 index 00000000..c7424f57 --- /dev/null +++ b/meta-agl-ic-container/recipes-platform/images/agl-cluster-demo-lxc-host.bb @@ -0,0 +1,31 @@ +SUMMARY = "LXC host demo image" +LICENSE = "MIT" + +require lxc-host-image-minimal.bb + +CONTAINER_IMAGES ?= "agl-container-cluster:guest-image-cluster-demo \ + agl-container-ivi:guest-image-ivi-demo \ + " + +IMAGE_INSTALL += " \ + kernel-modules \ + alsa-utils \ + packagegroup-pipewire \ + pipewire-ic-ipc \ + wireplumber-config-agl \ +" + +# packages required for network bridge settings via lxc-net +IMAGE_INSTALL += " \ + lxc-networking \ + iptables-modules \ + dnsmasq \ + systemd-netif-config \ + kernel-module-xt-addrtype \ + kernel-module-xt-multiport \ +" + +# network manager to use +VIRTUAL-RUNTIME_net_manager = "systemd" + +IMAGE_INSTALL:append:rcar-gen3 = " kernel-module-gles " diff --git a/meta-agl-ic-container/recipes-platform/images/guest-image-cluster-demo.bb b/meta-agl-ic-container/recipes-platform/images/guest-image-cluster-demo.bb new file mode 100644 index 00000000..1476d7ab --- /dev/null +++ b/meta-agl-ic-container/recipes-platform/images/guest-image-cluster-demo.bb @@ -0,0 +1,12 @@ +SUMMARY = "LXC cluster demo guest image" +LICENSE = "MIT" + +require guest-image-minimal.bb + +IMAGE_INSTALL += " \ + weston \ + weston-init-guest \ + weston-ini-conf-guest \ + cluster-refgui \ + pipewire-ic-ipc \ +" diff --git a/meta-agl-ic-container/recipes-platform/images/guest-image-ivi-demo.bb b/meta-agl-ic-container/recipes-platform/images/guest-image-ivi-demo.bb new file mode 100644 index 00000000..22a59114 --- /dev/null +++ b/meta-agl-ic-container/recipes-platform/images/guest-image-ivi-demo.bb @@ -0,0 +1,30 @@ +SUMMARY = "LXC ivi demo guest image" +LICENSE = "MIT" + +require guest-image-minimal.bb + +IMAGE_INSTALL += " \ + weston \ + weston-init-guest \ + weston-ini-conf-guest \ + wayland-ivi-extension \ + ilm-manager \ + mominavi \ + momiplay \ + momiscreen \ + qtquickcontrols \ + qtquickcontrols2 \ + qtwayland \ + systemd-netif-config \ + ttf-dejavu-sans \ + ttf-dejavu-sans-mono \ + ttf-dejavu-sans-condensed \ + ttf-dejavu-serif \ + ttf-dejavu-serif-condensed \ + ttf-dejavu-mathtexgyre \ + ttf-dejavu-common \ + ca-certificates \ + wireplumber \ + packagegroup-pipewire-base \ + wireplumber-policy-config-agl \ +"
\ No newline at end of file diff --git a/meta-agl-ic-container/recipes-platform/images/guest-image-minimal.bb b/meta-agl-ic-container/recipes-platform/images/guest-image-minimal.bb new file mode 100644 index 00000000..6a47cfe5 --- /dev/null +++ b/meta-agl-ic-container/recipes-platform/images/guest-image-minimal.bb @@ -0,0 +1,11 @@ +SUMMARY = "A minimal container guest image" + +require recipes-platform/images/agl-image-boot.inc + +IMAGE_LINGUAS = " " + +IMAGE_ROOTFS_EXTRA_SPACE:append = "${@bb.utils.contains("DISTRO_FEATURES", "systemd", " + 4096", "" ,d)}" + +IMAGE_INSTALL:append = " \ + packagegroup-agl-ic-core \ +" diff --git a/meta-agl-ic-container/recipes-platform/images/lxc-host-image-minimal.bb b/meta-agl-ic-container/recipes-platform/images/lxc-host-image-minimal.bb new file mode 100644 index 00000000..38fc7b26 --- /dev/null +++ b/meta-agl-ic-container/recipes-platform/images/lxc-host-image-minimal.bb @@ -0,0 +1,62 @@ +SUMMARY = "A minimal container host image" + +require recipes-platform/images/agl-image-boot.inc + +IMAGE_INSTALL += " \ + kernel-image \ + lxc \ + ${LXC_CONTAINER_CONFIGS} \ + drm-lease-manager \ +" + +CONTAINER_IMAGES ??= "" + +LXC_CONTAINER_CONFIGS ?= "" + +IMAGE_LINGUAS = " " + +NO_RECOMMENDATIONS = "1" + +# 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) + + # Assume there is a X-lxc-config package for guest-image-X + config = image + if config.startswith('guest-image-'): + config = config[len('guest-image-'):] + d.appendVar('LXC_CONTAINER_CONFIGS', ' ' + 'lxc-config-' + config) +} + +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; " + +IMAGE_ROOTFS_EXTRA_SPACE:append = "${@bb.utils.contains("DISTRO_FEATURES", "systemd", " + 4096", "" ,d)}" + diff --git a/meta-agl-ic-container/recipes-platform/packagegroups/packagegroup-agl-ic-core.bb b/meta-agl-ic-container/recipes-platform/packagegroups/packagegroup-agl-ic-core.bb new file mode 100644 index 00000000..d54685c8 --- /dev/null +++ b/meta-agl-ic-container/recipes-platform/packagegroups/packagegroup-agl-ic-core.bb @@ -0,0 +1,17 @@ +SUMMARY = "AGL Instrument Cluster Core Packages" +DESCRIPTION = "This pacage group including AGL Instrument Cluster function core packages such as \ + common library,framework." +HOMEPAGE = "https://confluence.automotivelinux.org/display/IC" + +LICENSE = "Apache-2.0" + +inherit packagegroup + +PACKAGES = "\ + packagegroup-agl-ic-core \ +" +RDEPENDS:${PN} += "\ + libclusteripc \ + libclusterapi \ + librefop \ +" |