Update raspberrypi4 support for AGL IC container integration 97/28797/6
authorNaoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>
Fri, 5 May 2023 02:10:46 +0000 (11:10 +0900)
committerNaoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>
Mon, 8 May 2023 23:13:10 +0000 (08:13 +0900)
The raspberrypi4 and R-CarH3-refhw board is main supporting
board for AGL IC container integration.  The raspberrypi4 is
require few patches.

This patch update raspberrypi4 support for AGL IC container
integration.

Bug-AGL: SPEC-4777

Change-Id: I719e01aa8d603eced73e99fc54652b89d2d612b9
Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>
16 files changed:
meta-agl-ic-container/conf/include/drm-lease-multi-display.inc
meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/container-manager-config/cm-config-agl-flutter-ivi-demo/agl-flutter-ivi-demo.json [new file with mode: 0644]
meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/container-manager-config/cm-config-agl-flutter-ivi-demo_%.bbappend [new file with mode: 0644]
meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/container-manager-config/cm-config-agl-html5-ivi-demo/agl-html5-ivi-demo.json [new file with mode: 0644]
meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/container-manager-config/cm-config-agl-html5-ivi-demo_%.bbappend [new file with mode: 0644]
meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/container-manager-config/cm-config-agl-momi-ivi-demo/agl-momi-ivi-demo.json [new file with mode: 0644]
meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/container-manager-config/cm-config-agl-momi-ivi-demo_%.bbappend [new file with mode: 0644]
meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/container-manager-config/cm-config-agl-qt-ivi-demo/agl-qt-ivi-demo.json [new file with mode: 0644]
meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/container-manager-config/cm-config-agl-qt-ivi-demo_%.bbappend [new file with mode: 0644]
meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/container-manager-config/cm-config-cluster-demo/cluster-demo.json [new file with mode: 0644]
meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/container-manager-config/cm-config-cluster-demo_%.bbappend [new file with mode: 0644]
meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/lxc-config-cluster-demo_1.0.bbappend
meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/lxc-config-ivi-demo_1.0.bbappend
meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/multi-display.inc [deleted file]
meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-platform/images/agl-instrument-cluster-container-demo.bbappend [new file with mode: 0644]
meta-agl-ic-container/wic/agl-ic-container-bootpart-uuid.wks [new file with mode: 0644]

index 96a3e29..d07d6a5 100644 (file)
@@ -1,3 +1,4 @@
 HAS_MULTI_DISPLAY ?= ""
 HAS_MULTI_DISPLAY += "${@bb.utils.contains("AGL_FEATURES", "kingfisher", "1", "" ,d)}"
 HAS_MULTI_DISPLAY += "${@bb.utils.contains("AGL_FEATURES", "agl-refhw-h3", "1", "" ,d)}"
+HAS_MULTI_DISPLAY += "${@bb.utils.contains("MACHINE", "raspberrypi4-64", "1", "" ,d)}"
diff --git a/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/container-manager-config/cm-config-agl-flutter-ivi-demo/agl-flutter-ivi-demo.json b/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/container-manager-config/cm-config-agl-flutter-ivi-demo/agl-flutter-ivi-demo.json
new file mode 100644 (file)
index 0000000..f97d2c9
--- /dev/null
@@ -0,0 +1,173 @@
+{
+       "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/mmcblk0p7",
+                               "/dev/mmcblk0p7"
+                       ]
+               },
+               "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
+                       }
+               ],
+               "dynamic": [
+                       {
+                               "devpath": "/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/",
+                               "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/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/",
+                               "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-raspberrypi/recipes-container/container-manager-config/cm-config-agl-flutter-ivi-demo_%.bbappend b/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/container-manager-config/cm-config-agl-flutter-ivi-demo_%.bbappend
new file mode 100644 (file)
index 0000000..bd73278
--- /dev/null
@@ -0,0 +1,2 @@
+# Container Manager config for AGL flutter IVI demo on R-Car Gen3
+FILESEXTRAPATHS:prepend := "${THISDIR}/cm-config-agl-flutter-ivi-demo:"
diff --git a/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/container-manager-config/cm-config-agl-html5-ivi-demo/agl-html5-ivi-demo.json b/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/container-manager-config/cm-config-agl-html5-ivi-demo/agl-html5-ivi-demo.json
new file mode 100644 (file)
index 0000000..34033ec
--- /dev/null
@@ -0,0 +1,174 @@
+{
+       "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/mmcblk0p8",
+                               "/dev/mmcblk0p8"
+                       ]
+               },
+               "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
+                       }
+               ],
+               "dynamic": [
+                       {
+                               "devpath": "/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/",
+                               "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/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/",
+                               "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-raspberrypi/recipes-container/container-manager-config/cm-config-agl-html5-ivi-demo_%.bbappend b/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/container-manager-config/cm-config-agl-html5-ivi-demo_%.bbappend
new file mode 100644 (file)
index 0000000..e810a7f
--- /dev/null
@@ -0,0 +1,2 @@
+# Container Manager config for AGL HTML5 IVI demo on R-Car Gen3
+FILESEXTRAPATHS:prepend := "${THISDIR}/cm-config-agl-html5-ivi-demo:"
diff --git a/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/container-manager-config/cm-config-agl-momi-ivi-demo/agl-momi-ivi-demo.json b/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/container-manager-config/cm-config-agl-momi-ivi-demo/agl-momi-ivi-demo.json
new file mode 100644 (file)
index 0000000..e533467
--- /dev/null
@@ -0,0 +1,174 @@
+{
+       "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/mmcblk0p5",
+                               "/dev/mmcblk0p5"
+                       ]
+               },
+               "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
+                       }
+               ],
+               "dynamic": [
+                       {
+                               "devpath": "/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/",
+                               "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/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/",
+                               "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-raspberrypi/recipes-container/container-manager-config/cm-config-agl-momi-ivi-demo_%.bbappend b/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/container-manager-config/cm-config-agl-momi-ivi-demo_%.bbappend
new file mode 100644 (file)
index 0000000..8f22983
--- /dev/null
@@ -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-raspberrypi/recipes-container/container-manager-config/cm-config-agl-qt-ivi-demo/agl-qt-ivi-demo.json b/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/container-manager-config/cm-config-agl-qt-ivi-demo/agl-qt-ivi-demo.json
new file mode 100644 (file)
index 0000000..0e77589
--- /dev/null
@@ -0,0 +1,174 @@
+{
+       "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/mmcblk0p6",
+                               "/dev/mmcblk0p6"
+                       ]
+               },
+               "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
+                       }
+               ],
+               "dynamic": [
+                       {
+                               "devpath": "/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/",
+                               "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/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/",
+                               "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-raspberrypi/recipes-container/container-manager-config/cm-config-agl-qt-ivi-demo_%.bbappend b/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/container-manager-config/cm-config-agl-qt-ivi-demo_%.bbappend
new file mode 100644 (file)
index 0000000..9c0ff8c
--- /dev/null
@@ -0,0 +1,2 @@
+# Container Manager config for AGL Qt IVI demo on R-Car Gen3
+FILESEXTRAPATHS:prepend := "${THISDIR}/cm-config-agl-qt-ivi-demo:"
diff --git a/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/container-manager-config/cm-config-cluster-demo/cluster-demo.json b/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/container-manager-config/cm-config-cluster-demo/cluster-demo.json
new file mode 100644 (file)
index 0000000..6f1d354
--- /dev/null
@@ -0,0 +1,102 @@
+{
+       "name": "cluster-demo",
+       "role": "cluster",
+       "base": {
+               "autoboot": true,
+               "bootpriority": 1,
+               "rootfs": {
+                       "path": "/opt/container/guests/cluster-demo/rootfs",
+                       "filesystem":   "ext4",
+                       "mode":         "rw",
+                       "blockdev": [
+                               "/dev/mmcblk0p3",
+                               "/dev/mmcblk0p3"
+                       ]
+               },
+               "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
+                       }
+               ]
+       },
+       "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-raspberrypi/recipes-container/container-manager-config/cm-config-cluster-demo_%.bbappend b/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/container-manager-config/cm-config-cluster-demo_%.bbappend
new file mode 100644 (file)
index 0000000..0a487ad
--- /dev/null
@@ -0,0 +1,7 @@
+# Container Manager config for cluster demo on R-Car Gen3
+FILESEXTRAPATHS:prepend := "${THISDIR}/cm-config-cluster-demo:"
+
+require conf/include/drm-lease-multi-display.inc
+
+# If you want to change display assign in your board, please change this line in your recipe.
+DRM_LEASE_DEVICE ?= "${@bb.utils.contains("HAS_MULTI_DISPLAY", "1", "card0-HDMI-A-2", "card0-HDMI-A-1" ,d)}"
diff --git a/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/multi-display.inc b/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/multi-display.inc
deleted file mode 100644 (file)
index f6856db..0000000
+++ /dev/null
@@ -1 +0,0 @@
-HAS_MULTI_DISPLAY ?= "1"
diff --git a/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-platform/images/agl-instrument-cluster-container-demo.bbappend b/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-platform/images/agl-instrument-cluster-container-demo.bbappend
new file mode 100644 (file)
index 0000000..68505c0
--- /dev/null
@@ -0,0 +1,2 @@
+WKS_FILES:remove = "agl-ic-container-noloader.wks"
+WKS_FILES:prepend = "agl-ic-container-bootpart-uuid.wks "
diff --git a/meta-agl-ic-container/wic/agl-ic-container-bootpart-uuid.wks b/meta-agl-ic-container/wic/agl-ic-container-bootpart-uuid.wks
new file mode 100644 (file)
index 0000000..b56e80e
--- /dev/null
@@ -0,0 +1,11 @@
+# short-description: Create SD card image with a boot partition
+# long-description: Creates a partitioned SD card image. Boot files
+# are located in the first vfat partition.
+
+part /boot --source bootimg-partition --fstype=vfat --label boot --use-uuid --active --align 4 --size 16
+part / --source rootfs --fstype=ext4 --label host --align 4096 --size 1024
+part --source rawcopy --sourceparams="file=guest-image-cluster-demo.ext4"
+part --source rawcopy --sourceparams="file=guest-image-ivi-demo.ext4"
+part --fstype=ext4 --label agl-qt-ivi --align 4096  --size 3072
+part --fstype=ext4 --label agl-flutter-ivi --align 4096  --size 3072
+part --fstype=ext4 --label agl-html5-ivi --align 4096  --size 3072