aboutsummaryrefslogtreecommitdiffstats
path: root/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3
diff options
context:
space:
mode:
authorNaoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>2023-05-04 16:31:00 +0900
committerNaoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>2023-05-09 08:13:10 +0900
commitd74a85f6c8f7f54065cd4fbcd0e876e77de1ceb4 (patch)
treec92bb2eef6a9352cabe92c76a2d5b94853101f45 /meta-agl-ic-container/dynamic-layers/meta-rcar-gen3
parent55d5b9a017f110c829585a57fa55763b15b9dd8d (diff)
Add initial container manager config for r-car gen3
This patch add config files for container manager to launch guest by container manager. Bug-AGL: SPEC-4777 Change-Id: I0b2fd8f87f3cdffbbda0688f3d6b4b980bdc2c2b Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>
Diffstat (limited to 'meta-agl-ic-container/dynamic-layers/meta-rcar-gen3')
-rw-r--r--meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-flutter-ivi-demo/agl-flutter-ivi-demo.json182
-rw-r--r--meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-flutter-ivi-demo/system.conf.agl-flutter-ivi-demo.in4
-rw-r--r--meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-flutter-ivi-demo_%.bbappend21
-rw-r--r--meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-html5-ivi-demo/agl-html5-ivi-demo.json183
-rw-r--r--meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-html5-ivi-demo/system.conf.agl-html5-ivi-demo.in4
-rw-r--r--meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-html5-ivi-demo_%.bbappend21
-rw-r--r--meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-momi-ivi-demo/agl-momi-ivi-demo.json183
-rw-r--r--meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-momi-ivi-demo/system.conf.agl-momi-ivi.in4
-rw-r--r--meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-momi-ivi-demo_%.bbappend2
-rw-r--r--meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-qt-ivi-demo/agl-qt-ivi-demo.json183
-rw-r--r--meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-qt-ivi-demo/system.conf.agl-qt-ivi.in4
-rw-r--r--meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-qt-ivi-demo_%.bbappend21
-rw-r--r--meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-cluster-demo/cluster-demo.json111
-rw-r--r--meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-cluster-demo/system.conf.cluster-demo.in8
-rw-r--r--meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-cluster-demo_%.bbappend2
15 files changed, 933 insertions, 0 deletions
diff --git a/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-flutter-ivi-demo/agl-flutter-ivi-demo.json b/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-flutter-ivi-demo/agl-flutter-ivi-demo.json
new file mode 100644
index 00000000..d8be0afb
--- /dev/null
+++ b/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-flutter-ivi-demo/agl-flutter-ivi-demo.json
@@ -0,0 +1,182 @@
+{
+ "name": "agl-flutter-ivi-demo",
+ "role": "ivi",
+ "base": {
+ "autoboot": false,
+ "bootpriority": 10,
+ "rootfs": {
+ "path": "/opt/container/guests/agl-flutter-ivi-demo/rootfs",
+ "filesystem": "ext4",
+ "mode": "rw",
+ "blockdev": [
+ "/dev/mmcblk1p5",
+ "/dev/mmcblk1p5"
+ ]
+ },
+ "lifecycle": {
+ "halt": "SIGRTMIN+3",
+ "reboot": "SIGTERM"
+ },
+ "cap": {
+ "drop": "sys_module mac_admin mac_override",
+ "keep": ""
+ },
+ "environment": [
+ "PIPEWIRE_RUNTIME_DIR=/var",
+ "HOME=/home/root"
+ ]
+ },
+ "resource": [
+ {
+ "type": "cgroup",
+ "object": "cpuset.cpus",
+ "value": "0,2-3"
+ }
+ ],
+ "fs": {
+ "mount": [
+ {
+ "type": "filesystem",
+ "from": "tmpfs",
+ "to": "run",
+ "fstype": "tmpfs",
+ "option": "defaults 0 0"
+ },
+ {
+ "type": "directory",
+ "from": "/sys/kernel/security",
+ "to": "sys/kernel/security",
+ "fstype": "none",
+ "option": "ro,bind,optional 0 0"
+ },
+ {
+ "type": "directory",
+ "from": "/run/udev/data",
+ "to": "run/udev/data",
+ "fstype": "none",
+ "option": "ro,bind,optional,create=dir"
+ },
+ {
+ "type": "directory",
+ "from": "/run/drm-lease-manager/lease-ivi",
+ "to": "var/display/drm-lease-manager/lease",
+ "fstype": "none",
+ "option": "bind,create=file"
+ },
+ {
+ "type": "directory",
+ "from": "/run/pipewire/pipewire-0",
+ "to": "var/pipewire-0",
+ "fstype": "none",
+ "option": "bind,optional,create=file"
+ },
+ {
+ "type": "directory",
+ "from": "/opt/container/guests/agl-flutter-ivi-demo/system.conf",
+ "to": "etc/systemd/system.conf.d/10-environment.conf",
+ "fstype": "none",
+ "option": "bind,optional,create=file"
+ }
+ ]
+ },
+ "device": {
+ "static": [
+ {
+ "type": "devdir",
+ "from": "/dev/dri",
+ "to": "dev/dri",
+ "devnode": "/dev/dri/card0",
+ "optional": 0,
+ "wideallow": 1,
+ "exclusive": 0
+ },
+ {
+ "type": "devdir",
+ "from": "/dev/input",
+ "to": "dev/input",
+ "devnode": "/dev/input/event0",
+ "optional": 1,
+ "wideallow": 1,
+ "exclusive": 0
+ },
+ {
+ "type": "devnode",
+ "from": "/dev/pvr_sync",
+ "to": "dev/pvr_sync",
+ "devnode": "/dev/pvr_sync",
+ "optional": 0,
+ "wideallow": 0,
+ "exclusive": 0
+ }
+ ],
+"dynamic": [
+ {
+ "devpath": "/devices/platform/soc/ee0a0100.usb/usb2/",
+ "items": [
+ {
+ "subsystem": "usb",
+ "rule": {
+ "devtype": ["usb_device","usb_interface"],
+ "action": ["add", "remove"]
+ },
+ "behavior": {
+ "injection": 1,
+ "devnode": 0,
+ "allow": 0,
+ "permission": "rw"
+ }
+ },
+ {
+ "subsystem": "block",
+ "rule": {
+ "action": ["add", "remove","change"],
+ "extra" : [
+ {
+ "checker": "exclude-fs",
+ "value": "ext4"
+ }
+ ]
+ },
+ "behavior": {
+ "injection": 1,
+ "devnode": 0,
+ "allow": 1,
+ "permission": "rwm"
+ }
+ }
+ ]
+ },
+ {
+ "devpath": "/devices/platform/soc/ee0a0100.usb/usb2/",
+ "items": [
+ {
+ "subsystem": "hid",
+ "rule": {
+ "action": ["add", "remove"]
+ },
+ "behavior": {
+ "injection": 1,
+ "devnode": 1,
+ "allow": 1,
+ "permission": "rw"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "network": {
+ "static": [
+ {
+ "type": "veth",
+ "param": {
+ "name": "veth0",
+ "link": "lxcbr0",
+ "flags": "up",
+ "hwaddr": "00:16:3e:xx:xx:xx",
+ "mode": "bridge"
+ }
+ }
+ ]
+ }
+}
diff --git a/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-flutter-ivi-demo/system.conf.agl-flutter-ivi-demo.in b/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-flutter-ivi-demo/system.conf.agl-flutter-ivi-demo.in
new file mode 100644
index 00000000..ee7a4103
--- /dev/null
+++ b/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-flutter-ivi-demo/system.conf.agl-flutter-ivi-demo.in
@@ -0,0 +1,4 @@
+[Manager]
+DefaultEnvironment = DLM_RUNTIME_PATH=/var/display/drm-lease-manager
+DefaultEnvironment = DRM_LEASE_DEVICE=card0-HDMI-A-1
+DefaultEnvironment = PIPEWIRE_RUNTIME_DIR=/var
diff --git a/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-flutter-ivi-demo_%.bbappend b/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-flutter-ivi-demo_%.bbappend
new file mode 100644
index 00000000..1301f1d3
--- /dev/null
+++ b/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-flutter-ivi-demo_%.bbappend
@@ -0,0 +1,21 @@
+DESCRIPTION = "AGL flutter IVI demo container config"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
+
+SRC_URI = "file://agl-flutter-ivi-demo.json \
+ file://system.conf.agl-flutter-ivi-demo.in \
+ "
+
+inherit allarch
+
+do_install:append() {
+ install -Dm644 ${WORKDIR}/agl-flutter-ivi-demo.json ${D}/opt/container/conf/agl-flutter-ivi-demo.json
+ install -d ${D}/opt/container/guests/agl-flutter-ivi-demo/rootfs
+ install -d ${D}/opt/container/guests/agl-flutter-ivi-demo/nv
+ install -Dm644 ${WORKDIR}/system.conf.agl-flutter-ivi-demo.in ${D}/opt/container/guests/agl-flutter-ivi-demo/system.conf
+}
+
+FILES:${PN} += " \
+ /opt/container/conf/* \
+ /opt/container/guests/agl-flutter-ivi-demo/* \
+ "
diff --git a/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-html5-ivi-demo/agl-html5-ivi-demo.json b/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-html5-ivi-demo/agl-html5-ivi-demo.json
new file mode 100644
index 00000000..16989057
--- /dev/null
+++ b/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-html5-ivi-demo/agl-html5-ivi-demo.json
@@ -0,0 +1,183 @@
+{
+ "name": "agl-html5-ivi-demo",
+ "role": "ivi",
+ "base": {
+ "autoboot": false,
+ "bootpriority": 10,
+ "rootfs": {
+ "path": "/opt/container/guests/agl-html5-ivi-demo/rootfs",
+ "filesystem": "ext4",
+ "mode": "rw",
+ "blockdev": [
+ "/dev/mmcblk1p6",
+ "/dev/mmcblk1p6"
+ ]
+ },
+ "lifecycle": {
+ "halt": "SIGRTMIN+3",
+ "reboot": "SIGTERM",
+ "timeout": 15000
+ },
+ "cap": {
+ "drop": "sys_module mac_admin mac_override",
+ "keep": ""
+ },
+ "environment": [
+ "PIPEWIRE_RUNTIME_DIR=/var",
+ "HOME=/home/root"
+ ]
+ },
+ "resource": [
+ {
+ "type": "cgroup",
+ "object": "cpuset.cpus",
+ "value": "0,2-3"
+ }
+ ],
+ "fs": {
+ "mount": [
+ {
+ "type": "filesystem",
+ "from": "tmpfs",
+ "to": "run",
+ "fstype": "tmpfs",
+ "option": "defaults 0 0"
+ },
+ {
+ "type": "directory",
+ "from": "/sys/kernel/security",
+ "to": "sys/kernel/security",
+ "fstype": "none",
+ "option": "ro,bind,optional 0 0"
+ },
+ {
+ "type": "directory",
+ "from": "/run/udev/data",
+ "to": "run/udev/data",
+ "fstype": "none",
+ "option": "ro,bind,optional,create=dir"
+ },
+ {
+ "type": "directory",
+ "from": "/run/drm-lease-manager/lease-ivi",
+ "to": "var/display/drm-lease-manager/lease",
+ "fstype": "none",
+ "option": "bind,create=file"
+ },
+ {
+ "type": "directory",
+ "from": "/run/pipewire/pipewire-0",
+ "to": "var/pipewire-0",
+ "fstype": "none",
+ "option": "bind,optional,create=file"
+ },
+ {
+ "type": "directory",
+ "from": "/opt/container/guests/agl-html5-ivi-demo/system.conf",
+ "to": "etc/systemd/system.conf.d/10-environment.conf",
+ "fstype": "none",
+ "option": "bind,optional,create=file"
+ }
+ ]
+ },
+ "device": {
+ "static": [
+ {
+ "type": "devdir",
+ "from": "/dev/dri",
+ "to": "dev/dri",
+ "devnode": "/dev/dri/card0",
+ "optional": 0,
+ "wideallow": 1,
+ "exclusive": 0
+ },
+ {
+ "type": "devdir",
+ "from": "/dev/input",
+ "to": "dev/input",
+ "devnode": "/dev/input/event0",
+ "optional": 1,
+ "wideallow": 1,
+ "exclusive": 0
+ },
+ {
+ "type": "devnode",
+ "from": "/dev/pvr_sync",
+ "to": "dev/pvr_sync",
+ "devnode": "/dev/pvr_sync",
+ "optional": 0,
+ "wideallow": 0,
+ "exclusive": 0
+ }
+ ],
+ "dynamic": [
+ {
+ "devpath": "/devices/platform/soc/ee0a0100.usb/usb2/",
+ "items": [
+ {
+ "subsystem": "usb",
+ "rule": {
+ "devtype": ["usb_device","usb_interface"],
+ "action": ["add", "remove"]
+ },
+ "behavior": {
+ "injection": 1,
+ "devnode": 0,
+ "allow": 0,
+ "permission": "rw"
+ }
+ },
+ {
+ "subsystem": "block",
+ "rule": {
+ "action": ["add", "remove","change"],
+ "extra" : [
+ {
+ "checker": "exclude-fs",
+ "value": "ext4"
+ }
+ ]
+ },
+ "behavior": {
+ "injection": 1,
+ "devnode": 0,
+ "allow": 1,
+ "permission": "rwm"
+ }
+ }
+ ]
+ },
+ {
+ "devpath": "/devices/platform/soc/ee0a0100.usb/usb2/",
+ "items": [
+ {
+ "subsystem": "hid",
+ "rule": {
+ "action": ["add", "remove"]
+ },
+ "behavior": {
+ "injection": 1,
+ "devnode": 1,
+ "allow": 1,
+ "permission": "rw"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "network": {
+ "static": [
+ {
+ "type": "veth",
+ "param": {
+ "name": "veth0",
+ "link": "lxcbr0",
+ "flags": "up",
+ "hwaddr": "00:16:3e:xx:xx:xx",
+ "mode": "bridge"
+ }
+ }
+ ]
+ }
+}
diff --git a/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-html5-ivi-demo/system.conf.agl-html5-ivi-demo.in b/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-html5-ivi-demo/system.conf.agl-html5-ivi-demo.in
new file mode 100644
index 00000000..ee7a4103
--- /dev/null
+++ b/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-html5-ivi-demo/system.conf.agl-html5-ivi-demo.in
@@ -0,0 +1,4 @@
+[Manager]
+DefaultEnvironment = DLM_RUNTIME_PATH=/var/display/drm-lease-manager
+DefaultEnvironment = DRM_LEASE_DEVICE=card0-HDMI-A-1
+DefaultEnvironment = PIPEWIRE_RUNTIME_DIR=/var
diff --git a/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-html5-ivi-demo_%.bbappend b/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-html5-ivi-demo_%.bbappend
new file mode 100644
index 00000000..596e4997
--- /dev/null
+++ b/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-html5-ivi-demo_%.bbappend
@@ -0,0 +1,21 @@
+DESCRIPTION = "AGL HTML5 IVI demo container config"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
+
+SRC_URI = "file://agl-html5-ivi-demo.json \
+ file://system.conf.agl-html5-ivi-demo.in \
+ "
+
+inherit allarch
+
+do_install:append() {
+ install -Dm644 ${WORKDIR}/agl-html5-ivi-demo.json ${D}/opt/container/conf/agl-html5-ivi-demo.json
+ install -d ${D}/opt/container/guests/agl-html5-ivi-demo/rootfs
+ install -d ${D}/opt/container/guests/agl-html5-ivi-demo/nv
+ install -Dm644 ${WORKDIR}/system.conf.agl-html5-ivi-demo.in ${D}/opt/container/guests/agl-html5-ivi-demo/system.conf
+}
+
+FILES:${PN} += " \
+ /opt/container/conf/* \
+ /opt/container/guests/agl-html5-ivi-demo/* \
+ "
diff --git a/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-momi-ivi-demo/agl-momi-ivi-demo.json b/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-momi-ivi-demo/agl-momi-ivi-demo.json
new file mode 100644
index 00000000..79bf5dd5
--- /dev/null
+++ b/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-momi-ivi-demo/agl-momi-ivi-demo.json
@@ -0,0 +1,183 @@
+{
+ "name": "agl-momi-ivi-demo",
+ "role": "ivi",
+ "base": {
+ "autoboot": true,
+ "bootpriority": 10,
+ "rootfs": {
+ "path": "/opt/container/guests/agl-momi-ivi-demo/rootfs",
+ "filesystem": "ext4",
+ "mode": "rw",
+ "blockdev": [
+ "/dev/mmcblk1p3",
+ "/dev/mmcblk1p3"
+ ]
+ },
+ "lifecycle": {
+ "halt": "SIGRTMIN+3",
+ "reboot": "SIGTERM",
+ "timeout": 15000
+ },
+ "cap": {
+ "drop": "sys_module mac_admin mac_override",
+ "keep": ""
+ },
+ "environment": [
+ "PIPEWIRE_RUNTIME_DIR=/var",
+ "HOME=/home/root"
+ ]
+ },
+ "resource": [
+ {
+ "type": "cgroup",
+ "object": "cpuset.cpus",
+ "value": "0,2-3"
+ }
+ ],
+ "fs": {
+ "mount": [
+ {
+ "type": "filesystem",
+ "from": "tmpfs",
+ "to": "run",
+ "fstype": "tmpfs",
+ "option": "defaults 0 0"
+ },
+ {
+ "type": "directory",
+ "from": "/sys/kernel/security",
+ "to": "sys/kernel/security",
+ "fstype": "none",
+ "option": "ro,bind,optional 0 0"
+ },
+ {
+ "type": "directory",
+ "from": "/run/udev/data",
+ "to": "run/udev/data",
+ "fstype": "none",
+ "option": "ro,bind,optional,create=dir"
+ },
+ {
+ "type": "directory",
+ "from": "/run/drm-lease-manager/lease-ivi",
+ "to": "var/display/drm-lease-manager/lease",
+ "fstype": "none",
+ "option": "bind,create=file"
+ },
+ {
+ "type": "directory",
+ "from": "/run/pipewire/pipewire-0",
+ "to": "var/pipewire-0",
+ "fstype": "none",
+ "option": "bind,optional,create=file"
+ },
+ {
+ "type": "directory",
+ "from": "/opt/container/guests/agl-momi-ivi-demo/system.conf",
+ "to": "etc/systemd/system.conf.d/10-environment.conf",
+ "fstype": "none",
+ "option": "bind,optional,create=file"
+ }
+ ]
+ },
+ "device": {
+ "static": [
+ {
+ "type": "devdir",
+ "from": "/dev/dri",
+ "to": "dev/dri",
+ "devnode": "/dev/dri/card0",
+ "optional": 0,
+ "wideallow": 1,
+ "exclusive": 0
+ },
+ {
+ "type": "devdir",
+ "from": "/dev/input",
+ "to": "dev/input",
+ "devnode": "/dev/input/event0",
+ "optional": 1,
+ "wideallow": 1,
+ "exclusive": 0
+ },
+ {
+ "type": "devnode",
+ "from": "/dev/pvr_sync",
+ "to": "dev/pvr_sync",
+ "devnode": "/dev/pvr_sync",
+ "optional": 0,
+ "wideallow": 0,
+ "exclusive": 0
+ }
+ ],
+ "dynamic": [
+ {
+ "devpath": "/devices/platform/soc/ee0a0100.usb/usb2/",
+ "items": [
+ {
+ "subsystem": "usb",
+ "rule": {
+ "devtype": ["usb_device","usb_interface"],
+ "action": ["add", "remove"]
+ },
+ "behavior": {
+ "injection": 1,
+ "devnode": 0,
+ "allow": 0,
+ "permission": "rw"
+ }
+ },
+ {
+ "subsystem": "block",
+ "rule": {
+ "action": ["add", "remove","change"],
+ "extra" : [
+ {
+ "checker": "exclude-fs",
+ "value": "ext4"
+ }
+ ]
+ },
+ "behavior": {
+ "injection": 1,
+ "devnode": 0,
+ "allow": 1,
+ "permission": "rwm"
+ }
+ }
+ ]
+ },
+ {
+ "devpath": "/devices/platform/soc/ee0a0100.usb/usb2/",
+ "items": [
+ {
+ "subsystem": "hid",
+ "rule": {
+ "action": ["add", "remove"]
+ },
+ "behavior": {
+ "injection": 1,
+ "devnode": 1,
+ "allow": 1,
+ "permission": "rw"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "network": {
+ "static": [
+ {
+ "type": "veth",
+ "param": {
+ "name": "eth0",
+ "link": "lxcbr0",
+ "flags": "up",
+ "hwaddr": "00:16:3e:xx:xx:xx",
+ "mode": "bridge"
+ }
+ }
+ ]
+ }
+}
diff --git a/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-momi-ivi-demo/system.conf.agl-momi-ivi.in b/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-momi-ivi-demo/system.conf.agl-momi-ivi.in
new file mode 100644
index 00000000..ee7a4103
--- /dev/null
+++ b/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-momi-ivi-demo/system.conf.agl-momi-ivi.in
@@ -0,0 +1,4 @@
+[Manager]
+DefaultEnvironment = DLM_RUNTIME_PATH=/var/display/drm-lease-manager
+DefaultEnvironment = DRM_LEASE_DEVICE=card0-HDMI-A-1
+DefaultEnvironment = PIPEWIRE_RUNTIME_DIR=/var
diff --git a/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-momi-ivi-demo_%.bbappend b/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-momi-ivi-demo_%.bbappend
new file mode 100644
index 00000000..8f229830
--- /dev/null
+++ b/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-momi-ivi-demo_%.bbappend
@@ -0,0 +1,2 @@
+# Container Manager config for AGL Momi IVI demo on R-Car Gen3
+FILESEXTRAPATHS:prepend := "${THISDIR}/cm-config-agl-momi-ivi-demo:"
diff --git a/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-qt-ivi-demo/agl-qt-ivi-demo.json b/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-qt-ivi-demo/agl-qt-ivi-demo.json
new file mode 100644
index 00000000..3c92f3b8
--- /dev/null
+++ b/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-qt-ivi-demo/agl-qt-ivi-demo.json
@@ -0,0 +1,183 @@
+{
+ "name": "agl-qt-ivi-demo",
+ "role": "ivi",
+ "base": {
+ "autoboot": false,
+ "bootpriority": 10,
+ "rootfs": {
+ "path": "/opt/container/guests/agl-qt-ivi-demo/rootfs",
+ "filesystem": "ext4",
+ "mode": "rw",
+ "blockdev": [
+ "/dev/mmcblk1p4",
+ "/dev/mmcblk1p4"
+ ]
+ },
+ "lifecycle": {
+ "halt": "SIGRTMIN+3",
+ "reboot": "SIGTERM",
+ "timeout": 15000
+ },
+ "cap": {
+ "drop": "sys_module mac_admin mac_override",
+ "keep": ""
+ },
+ "environment": [
+ "PIPEWIRE_RUNTIME_DIR=/var",
+ "HOME=/home/root"
+ ]
+ },
+ "resource": [
+ {
+ "type": "cgroup",
+ "object": "cpuset.cpus",
+ "value": "0,2-3"
+ }
+ ],
+ "fs": {
+ "mount": [
+ {
+ "type": "filesystem",
+ "from": "tmpfs",
+ "to": "run",
+ "fstype": "tmpfs",
+ "option": "defaults 0 0"
+ },
+ {
+ "type": "directory",
+ "from": "/sys/kernel/security",
+ "to": "sys/kernel/security",
+ "fstype": "none",
+ "option": "ro,bind,optional 0 0"
+ },
+ {
+ "type": "directory",
+ "from": "/run/udev/data",
+ "to": "run/udev/data",
+ "fstype": "none",
+ "option": "ro,bind,optional,create=dir"
+ },
+ {
+ "type": "directory",
+ "from": "/run/drm-lease-manager/lease-ivi",
+ "to": "var/display/drm-lease-manager/lease",
+ "fstype": "none",
+ "option": "bind,create=file"
+ },
+ {
+ "type": "directory",
+ "from": "/run/pipewire/pipewire-0",
+ "to": "var/pipewire-0",
+ "fstype": "none",
+ "option": "bind,optional,create=file"
+ },
+ {
+ "type": "directory",
+ "from": "/opt/container/guests/agl-qt-ivi-demo/system.conf",
+ "to": "etc/systemd/system.conf.d/10-environment.conf",
+ "fstype": "none",
+ "option": "bind,optional,create=file"
+ }
+ ]
+ },
+ "device": {
+ "static": [
+ {
+ "type": "devdir",
+ "from": "/dev/dri",
+ "to": "dev/dri",
+ "devnode": "/dev/dri/card0",
+ "optional": 0,
+ "wideallow": 1,
+ "exclusive": 0
+ },
+ {
+ "type": "devdir",
+ "from": "/dev/input",
+ "to": "dev/input",
+ "devnode": "/dev/input/event0",
+ "optional": 1,
+ "wideallow": 1,
+ "exclusive": 0
+ },
+ {
+ "type": "devnode",
+ "from": "/dev/pvr_sync",
+ "to": "dev/pvr_sync",
+ "devnode": "/dev/pvr_sync",
+ "optional": 0,
+ "wideallow": 0,
+ "exclusive": 0
+ }
+ ],
+ "dynamic": [
+ {
+ "devpath": "/devices/platform/soc/ee0a0100.usb/usb2/",
+ "items": [
+ {
+ "subsystem": "usb",
+ "rule": {
+ "devtype": ["usb_device","usb_interface"],
+ "action": ["add", "remove"]
+ },
+ "behavior": {
+ "injection": 1,
+ "devnode": 0,
+ "allow": 0,
+ "permission": "rw"
+ }
+ },
+ {
+ "subsystem": "block",
+ "rule": {
+ "action": ["add", "remove","change"],
+ "extra" : [
+ {
+ "checker": "exclude-fs",
+ "value": "ext4"
+ }
+ ]
+ },
+ "behavior": {
+ "injection": 1,
+ "devnode": 0,
+ "allow": 1,
+ "permission": "rwm"
+ }
+ }
+ ]
+ },
+ {
+ "devpath": "/devices/platform/soc/ee0a0100.usb/usb2/",
+ "items": [
+ {
+ "subsystem": "hid",
+ "rule": {
+ "action": ["add", "remove"]
+ },
+ "behavior": {
+ "injection": 1,
+ "devnode": 1,
+ "allow": 1,
+ "permission": "rw"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "network": {
+ "static": [
+ {
+ "type": "veth",
+ "param": {
+ "name": "veth0",
+ "link": "lxcbr0",
+ "flags": "up",
+ "hwaddr": "00:16:3e:xx:xx:xx",
+ "mode": "bridge"
+ }
+ }
+ ]
+ }
+}
diff --git a/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-qt-ivi-demo/system.conf.agl-qt-ivi.in b/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-qt-ivi-demo/system.conf.agl-qt-ivi.in
new file mode 100644
index 00000000..ee7a4103
--- /dev/null
+++ b/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-qt-ivi-demo/system.conf.agl-qt-ivi.in
@@ -0,0 +1,4 @@
+[Manager]
+DefaultEnvironment = DLM_RUNTIME_PATH=/var/display/drm-lease-manager
+DefaultEnvironment = DRM_LEASE_DEVICE=card0-HDMI-A-1
+DefaultEnvironment = PIPEWIRE_RUNTIME_DIR=/var
diff --git a/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-qt-ivi-demo_%.bbappend b/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-qt-ivi-demo_%.bbappend
new file mode 100644
index 00000000..3b998456
--- /dev/null
+++ b/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-agl-qt-ivi-demo_%.bbappend
@@ -0,0 +1,21 @@
+DESCRIPTION = "AGL Qt IVI demo container config"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
+
+SRC_URI = "file://agl-qt-ivi-demo.json \
+ file://system.conf.agl-qt-ivi.in \
+ "
+
+inherit allarch
+
+do_install:append() {
+ install -Dm644 ${WORKDIR}/agl-qt-ivi-demo.json ${D}/opt/container/conf/agl-qt-ivi-demo.json
+ install -d ${D}/opt/container/guests/agl-qt-ivi-demo/rootfs
+ install -d ${D}/opt/container/guests/agl-qt-ivi-demo/nv
+ install -Dm644 ${WORKDIR}/system.conf.agl-qt-ivi.in ${D}/opt/container/guests/agl-qt-ivi-demo/system.conf
+}
+
+FILES:${PN} += " \
+ /opt/container/conf/* \
+ /opt/container/guests/agl-qt-ivi-demo/* \
+ "
diff --git a/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-cluster-demo/cluster-demo.json b/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-cluster-demo/cluster-demo.json
new file mode 100644
index 00000000..64e76568
--- /dev/null
+++ b/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-cluster-demo/cluster-demo.json
@@ -0,0 +1,111 @@
+{
+ "name": "cluster-demo",
+ "role": "cluster",
+ "base": {
+ "autoboot": true,
+ "bootpriority": 1,
+ "rootfs": {
+ "path": "/opt/container/guests/cluster-demo/rootfs",
+ "filesystem": "ext4",
+ "mode": "rw",
+ "blockdev": [
+ "/dev/mmcblk1p2",
+ "/dev/mmcblk1p2"
+ ]
+ },
+ "lifecycle": {
+ "halt": "SIGRTMIN+3",
+ "reboot": "SIGTERM",
+ "timeout": 5000
+ },
+ "cap": {
+ "drop": "sys_module mac_admin mac_override sys_time",
+ "keep": ""
+ },
+ "environment": [
+ "HOME=/home/root"
+ ]
+ },
+ "resource": [
+ {
+ "type": "cgroup",
+ "object": "cpuset.cpus",
+ "value": "1"
+ }
+ ],
+ "fs": {
+ "mount": [
+ {
+ "type": "filesystem",
+ "from": "tmpfs",
+ "to": "run",
+ "fstype": "tmpfs",
+ "option": "defaults 0 0"
+ },
+ {
+ "type": "directory",
+ "from": "/sys/kernel/security",
+ "to": "sys/kernel/security",
+ "fstype": "none",
+ "option": "ro,bind,optional 0 0"
+ },
+ {
+ "type": "directory",
+ "from": "/run/drm-lease-manager/lease-cluster",
+ "to": "var/display/drm-lease-manager/lease",
+ "fstype": "none",
+ "option": "bind,create=file"
+ },
+ {
+ "type": "directory",
+ "from": "/run/pipewire/icipc-0",
+ "to": "var/icipc-0",
+ "fstype": "none",
+ "option": "bind,optional,create=file"
+ },
+ {
+ "type": "directory",
+ "from": "/opt/container/guests/cluster-demo/system.conf",
+ "to": "etc/systemd/system.conf.d/10-environment.conf",
+ "fstype": "none",
+ "option": "bind,optional,create=file"
+ }
+ ]
+ },
+ "device": {
+ "static": [
+ {
+ "type": "devdir",
+ "from": "/dev/dri",
+ "to": "dev/dri",
+ "devnode": "/dev/dri/card0",
+ "optional": 0,
+ "wideallow": 1,
+ "exclusive": 0
+ },
+ {
+ "type": "devnode",
+ "from": "/dev/pvr_sync",
+ "to": "dev/pvr_sync",
+ "devnode": "/dev/pvr_sync",
+ "optional": 0,
+ "wideallow": 0,
+ "exclusive": 0
+ }
+ ]
+ },
+ "network": {
+ "static": [
+ {
+ "type": "veth",
+ "param": {
+ "name": "veth0",
+ "link": "lxcbr0",
+ "flags": "up",
+ "hwaddr": "00:16:3e:xx:xx:xx",
+ "mode": "bridge"
+ }
+ }
+ ]
+ }
+}
diff --git a/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-cluster-demo/system.conf.cluster-demo.in b/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-cluster-demo/system.conf.cluster-demo.in
new file mode 100644
index 00000000..28028997
--- /dev/null
+++ b/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-cluster-demo/system.conf.cluster-demo.in
@@ -0,0 +1,8 @@
+[Manager]
+DefaultEnvironment = DLM_RUNTIME_PATH=/var/display/drm-lease-manager
+DefaultEnvironment = DRM_LEASE_DEVICE=card0-HDMI-A-2
+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
diff --git a/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-cluster-demo_%.bbappend b/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-cluster-demo_%.bbappend
new file mode 100644
index 00000000..eca0cbc2
--- /dev/null
+++ b/meta-agl-ic-container/dynamic-layers/meta-rcar-gen3/recipes-container/container-manager-config/cm-config-cluster-demo_%.bbappend
@@ -0,0 +1,2 @@
+# Container Manager config for cluster demo on R-Car Gen3
+FILESEXTRAPATHS:prepend := "${THISDIR}/cm-config-cluster-demo:"