Create new image for ivi container demo 46/26846/10
authorNaoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>
Wed, 6 Oct 2021 22:22:31 +0000 (07:22 +0900)
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>
Tue, 16 Nov 2021 20:40:16 +0000 (21:40 +0100)
AGL IC integration will have two guests, one of the cluster demo,
one of the simple ivi demo.

This patch add initial support for ivi container for demo.

Bug-AGL: SPEC-4099

Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>
Change-Id: I4a1da6e30aee99e8ce2e2c404da78a413c647fd2

meta-agl-lxc/conf/multiconfig/agl-container-ivi.conf [new file with mode: 0644]
meta-agl-lxc/dynamic-layers/meta-rcar-gen3/recipes-container/lxc-config/lxc-config-cluster-demo_1.0.bbappend
meta-agl-lxc/dynamic-layers/meta-rcar-gen3/recipes-container/lxc-config/lxc-config-ivi-demo_1.0.bbappend [new file with mode: 0644]
meta-agl-lxc/recipes-container/lxc-config/files/config.ivi-demo.in [new file with mode: 0644]
meta-agl-lxc/recipes-container/lxc-config/files/system.conf.ivi-demo.in [new file with mode: 0644]
meta-agl-lxc/recipes-container/lxc-config/lxc-config-cluster-demo_1.0.bb
meta-agl-lxc/recipes-container/lxc-config/lxc-config-ivi-demo_1.0.bb [new file with mode: 0644]
meta-agl-lxc/recipes-platform/images/guest-image-ivi-demo.bb [new file with mode: 0644]
meta-agl-lxc/recipes-platform/images/lxc-host-image-demo.bb
templates/feature/agl-lxc/50_local.conf.inc

diff --git a/meta-agl-lxc/conf/multiconfig/agl-container-ivi.conf b/meta-agl-lxc/conf/multiconfig/agl-container-ivi.conf
new file mode 100644 (file)
index 0000000..d5bc5c4
--- /dev/null
@@ -0,0 +1,23 @@
+OVERRIDES:append = ":aglcontainerivi"
+
+TMPDIR = "${TOPDIR}/tmp-${BB_CURRENT_MC}"
+
+# Can be blank as container image type results in a .tar.bz2
+AGL_DEFAULT_IMAGE_FSTYPES:aglcontainerivi = ""
+AGL_EXTRA_IMAGE_FSTYPES:aglcontainerivi = ""
+
+IMAGE_FSTYPES:aglcontainerivi = "container"
+
+IMAGE_LINGUAS:append:aglcontainerivi = " en-us"
+
+PREFERRED_PROVIDER_virtual/kernel_aglcontainerguest = "linux-dummy"
+KERNEL_DEVICETREE:aglcontainerivi = ""
+
+# Disable serial consoles
+SERIAL_CONSOLES:aglcontainerivi = ""
+
+# Remove unneeded firmware packages
+EXTRA_IMAGEDEPENDS:remove:aglcontainerivi = "arm-trusted-firmware optee-os u-boot"
+
+# We assume rngd is running on the host, so unnecessary in container
+VIRTUAL-RUNTIME_rngd = ""
diff --git a/meta-agl-lxc/dynamic-layers/meta-rcar-gen3/recipes-container/lxc-config/lxc-config-ivi-demo_1.0.bbappend b/meta-agl-lxc/dynamic-layers/meta-rcar-gen3/recipes-container/lxc-config/lxc-config-ivi-demo_1.0.bbappend
new file mode 100644 (file)
index 0000000..d38dd3e
--- /dev/null
@@ -0,0 +1,3 @@
+
+# If you want to change display assign in your board, please change this line in your recipe.
+DRM_LEASE_DEVICE ?= "${@bb.utils.contains("AGL_FEATURES", "kingfisher", "card0-HDMI-A-1", "card0-HDMI-A-1" ,d)}"
diff --git a/meta-agl-lxc/recipes-container/lxc-config/files/config.ivi-demo.in b/meta-agl-lxc/recipes-container/lxc-config/files/config.ivi-demo.in
new file mode 100644 (file)
index 0000000..01b4280
--- /dev/null
@@ -0,0 +1,33 @@
+lxc.rootfs.path = dir:/var/lib/machines/ivi-demo
+lxc.signal.halt = SIGRTMIN+3
+lxc.signal.reboot = SIGTERM
+lxc.uts.name = "ivi"
+lxc.tty.max = 1
+lxc.pty.max = 1
+lxc.cap.drop = sys_module mac_admin mac_override sys_time
+
+lxc.mount.entry = /var/lib/lxc/ivi-demo/system.conf etc/systemd/system.conf.d/10-environment.conf none bind,optional,create=file
+
+lxc.mount.auto = cgroup:mixed proc:mixed sys:mixed
+lxc.mount.entry = shm /dev/shm tmpfs defaults 0 0
+lxc.mount.entry = /sys/kernel/security sys/kernel/security none ro,bind,optional 0 0
+
+lxc.cgroup.devices.allow = c 226:* rwm
+lxc.mount.entry = /dev/dri dev/dri none bind,optional,create=dir
+
+#lxc.mount.entry = /lxc/share lxc/share none bind,optional,create=dir
+lxc.mount.entry = /run/drm-lease-manager/@DRM_LEASE_DEVICE@ var/display/drm-lease-manager/@DRM_LEASE_DEVICE@ none bind,create=file
+
+lxc.cgroup.devices.allow = c 10:* rwm
+lxc.mount.entry = /dev/pvr_sync dev/pvr_sync none bind,optional,create=file
+
+lxc.net.0.type = empty
+
+lxc.environment = QT_QPA_PLATFORM=wayland
+lxc.environment = QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/plugins/
+#lxc.environment = QT_DEBUG_PLUGINS=1
+lxc.environment = QML_IMPORT_PATH=/usr/lib/qml/
+lxc.environment = QML2_IMPORT_PATH=/usr/lib/qml/
+lxc.environment = QT_WAYLAND_SHELL_INTEGRATION=xdg-shell
+
+lxc.start.auto = @LXC_AUTO_START@
diff --git a/meta-agl-lxc/recipes-container/lxc-config/files/system.conf.ivi-demo.in b/meta-agl-lxc/recipes-container/lxc-config/files/system.conf.ivi-demo.in
new file mode 100644 (file)
index 0000000..29a49b6
--- /dev/null
@@ -0,0 +1,8 @@
+[Manager]
+DefaultEnvironment = DLM_RUNTIME_PATH=/var/display/drm-lease-manager
+DefaultEnvironment = DRM_LEASE_DEVICE=@DRM_LEASE_DEVICE@
+DefaultEnvironment = QT_QPA_PLATFORM=wayland
+DefaultEnvironment = QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/plugins/
+DefaultEnvironment = QML_IMPORT_PATH=/usr/lib/qml/
+DefaultEnvironment = QML2_IMPORT_PATH=/usr/lib/qml/
+DefaultEnvironment = QT_WAYLAND_SHELL_INTEGRATION=xdg-shell
index 5657785..57101f7 100644 (file)
@@ -1,4 +1,4 @@
-DESCRIPTION = "AGL demo container LXC config"
+DESCRIPTION = "AGL cluster demo container LXC config"
 LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD;md5=3775480a712fc46a69647678acb234cb"
 
diff --git a/meta-agl-lxc/recipes-container/lxc-config/lxc-config-ivi-demo_1.0.bb b/meta-agl-lxc/recipes-container/lxc-config/lxc-config-ivi-demo_1.0.bb
new file mode 100644 (file)
index 0000000..6c387de
--- /dev/null
@@ -0,0 +1,7 @@
+DESCRIPTION = "AGL simple IVI demo container LXC config"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD;md5=3775480a712fc46a69647678acb234cb"
+
+inherit lxc-config
+
+LXC_AUTO_START = "0"
diff --git a/meta-agl-lxc/recipes-platform/images/guest-image-ivi-demo.bb b/meta-agl-lxc/recipes-platform/images/guest-image-ivi-demo.bb
new file mode 100644 (file)
index 0000000..0eb7310
--- /dev/null
@@ -0,0 +1,9 @@
+SUMMARY = "LXC ivi demo guest image"
+LICENSE = "MIT"
+
+require guest-image-minimal.bb
+
+IMAGE_INSTALL += " \
+    weston \
+    weston-init-guest \
+"
index f03875b..b109b1f 100644 (file)
@@ -3,7 +3,9 @@ LICENSE = "MIT"
 
 require lxc-host-image-minimal.bb
 
-CONTAINER_IMAGES ?= "agl-container-guest:guest-image-cluster-demo"
+CONTAINER_IMAGES ?= "agl-container-guest:guest-image-cluster-demo \
+                     agl-container-ivi:guest-image-ivi-demo \
+                    "
 
 IMAGE_INSTALL += " \
     kernel-modules \
index 5c5fc4a..317937b 100644 (file)
@@ -1,4 +1,4 @@
-BBMULTICONFIG = "agl-container-guest"
+BBMULTICONFIG = "agl-container-guest agl-container-ivi"
 
 # The meta-virtualization has a sanity-meta-virt check.
 # This checker check 'DISTRO_FEATURES has virtualization', but