summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNaoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>2024-09-20 00:18:39 +0900
committerNaoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>2024-09-20 00:42:00 +0900
commit659668d51f1c358527f4f289739dced6fb96feb9 (patch)
tree6fde9b1331fccd6e1b9d5891871c6a6d362788c6
parent11a48992beee0dbb8e1f85d7a795a76e4b7b4638 (diff)
Add Rockchip board support to IC container integration
AGL got new board support that based on Rockchip SoC. Initial patch support AGL demo IVI only. This patch add Rockchip board support to IC container integration. Bug-AGL: SPEC-5246 Change-Id: I6203bb9e2b7cd3cad7604da45c744e88a21d1454 Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>
-rw-r--r--meta-agl-ic-container/conf/layer.conf2
-rw-r--r--meta-agl-ic-container/dynamic-layers/meta-rockchip/recipes-core/systemd/systemd_%.bbappend8
-rw-r--r--meta-agl-ic-container/dynamic-layers/meta-rockchip/recipes-graphics/rockchip-libmali/rockchip-libmali.bbappend7
-rw-r--r--meta-agl-ic-container/dynamic-layers/meta-rockchip/recipes-platform/images/agl-instrument-cluster-container-demo.bbappend10
-rw-r--r--meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-flutter-ivi-demo/nanopct6/agl-flutter-ivi-demo.json203
-rw-r--r--meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-momi-ivi-demo/nanopct6/agl-momi-ivi-demo.json202
-rw-r--r--meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-qt-ivi-demo/nanopct6/agl-qt-ivi-demo.json204
-rw-r--r--meta-agl-ic-container/recipes-container/container-manager-config/cm-config-cluster-demo/nanopct6/cluster-demo.json121
-rw-r--r--meta-agl-ic-container/recipes-graphics/drm-lease-manager/drm-lease-manager-init/nanopct6/drm-lease-manager.ini7
-rw-r--r--meta-agl-ic-container/wic/agl-ic-container-rockchip-demo.wks13
-rw-r--r--meta-agl-ic-container/wic/agl-ic-container-rockchip.wks13
11 files changed, 790 insertions, 0 deletions
diff --git a/meta-agl-ic-container/conf/layer.conf b/meta-agl-ic-container/conf/layer.conf
index 47000a76..7b715454 100644
--- a/meta-agl-ic-container/conf/layer.conf
+++ b/meta-agl-ic-container/conf/layer.conf
@@ -14,6 +14,8 @@ BBFILES_DYNAMIC += " \
rcar-gen3:${LAYERDIR}/dynamic-layers/meta-rcar-gen3/*/*/*.bbappend \
raspberrypi:${LAYERDIR}/dynamic-layers/meta-raspberrypi/*/*/*.bb \
raspberrypi:${LAYERDIR}/dynamic-layers/meta-raspberrypi/*/*/*.bbappend \
+ rockchip:${LAYERDIR}/dynamic-layers/meta-rockchip/*/*/*.bb \
+ rockchip:${LAYERDIR}/dynamic-layers/meta-rockchip/*/*/*.bbappend \
selinux:${LAYERDIR}/dynamic-layers/meta-selinux/*/*/*.bb \
selinux:${LAYERDIR}/dynamic-layers/meta-selinux/*/*/*.bbappend \
"
diff --git a/meta-agl-ic-container/dynamic-layers/meta-rockchip/recipes-core/systemd/systemd_%.bbappend b/meta-agl-ic-container/dynamic-layers/meta-rockchip/recipes-core/systemd/systemd_%.bbappend
new file mode 100644
index 00000000..e0008a71
--- /dev/null
+++ b/meta-agl-ic-container/dynamic-layers/meta-rockchip/recipes-core/systemd/systemd_%.bbappend
@@ -0,0 +1,8 @@
+do_install:append() {
+ # Disable network IF renaming
+ ln -s /dev/null ${D}${sysconfdir}/systemd/network/99-default.link
+}
+
+FILES:udev:append = " \
+ ${sysconfdir}/systemd/network/99-default.link \
+ "
diff --git a/meta-agl-ic-container/dynamic-layers/meta-rockchip/recipes-graphics/rockchip-libmali/rockchip-libmali.bbappend b/meta-agl-ic-container/dynamic-layers/meta-rockchip/recipes-graphics/rockchip-libmali/rockchip-libmali.bbappend
new file mode 100644
index 00000000..6b0f69aa
--- /dev/null
+++ b/meta-agl-ic-container/dynamic-layers/meta-rockchip/recipes-graphics/rockchip-libmali/rockchip-libmali.bbappend
@@ -0,0 +1,7 @@
+PACKAGES:prepend = "\
+ ${PN}-firmware \
+"
+
+FILES:${PN}-firmware = " \
+ ${nonarch_base_libdir}/firmware/* \
+"
diff --git a/meta-agl-ic-container/dynamic-layers/meta-rockchip/recipes-platform/images/agl-instrument-cluster-container-demo.bbappend b/meta-agl-ic-container/dynamic-layers/meta-rockchip/recipes-platform/images/agl-instrument-cluster-container-demo.bbappend
new file mode 100644
index 00000000..4a849c03
--- /dev/null
+++ b/meta-agl-ic-container/dynamic-layers/meta-rockchip/recipes-platform/images/agl-instrument-cluster-container-demo.bbappend
@@ -0,0 +1,10 @@
+WKS_FILES:remove = "agl-ic-container-noloader.wks agl-ic-container-noloader-demo.wks"
+WKS_FILES:prepend = " \
+ ${@oe.utils.conditional('OUT_OF_TREE_CONTAINER_IMAGE_DEPLOY_DIR', '', 'agl-ic-container-rockchip.wks ', 'agl-ic-container-rockchip-demo.wks ', d)} \
+"
+
+IMAGE_INSTALL:append = " \
+ linux-firmware-rtl8822 \
+ linux-firmware-rtl8125 \
+ rockchip-libmali-firmware \
+"
diff --git a/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-flutter-ivi-demo/nanopct6/agl-flutter-ivi-demo.json b/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-flutter-ivi-demo/nanopct6/agl-flutter-ivi-demo.json
new file mode 100644
index 00000000..3066c4da
--- /dev/null
+++ b/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-flutter-ivi-demo/nanopct6/agl-flutter-ivi-demo.json
@@ -0,0 +1,203 @@
+{
+ "name": "agl-flutter-ivi-demo",
+ "role": "ivi",
+ "base": {
+ "autoboot": true,
+ "bootpriority": 20,
+ "rootfs": {
+ "path": "/opt/container/guests/agl-flutter-ivi-demo/rootfs",
+ "filesystem": "ext4",
+ "mode": "rw",
+ "blockdev": [
+ "/dev/mmcblk0p7",
+ "/dev/mmcblk0p7"
+ ]
+ },
+ "extended": {
+ "shmounts": "/opt/container/guests/agl-flutter-ivi-demo/shmounts"
+ },
+ "lifecycle": {
+ "halt": "SIGRTMIN+3",
+ "reboot": "SIGTERM"
+ },
+ "cap": {
+ "drop": "sys_module mac_admin mac_override",
+ "keep": ""
+ },
+ "environment": [
+ "HOME=/home/root"
+ ]
+ },
+ "resource": [
+ {
+ "type": "cgroup",
+ "object": "cpuset.cpus",
+ "value": "0-6"
+ },
+ {
+ "type": "prlimit",
+ "object": "rtprio",
+ "value": "50"
+ }
+ ],
+ "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/dlt",
+ "to": "run/dlt",
+ "fstype": "none",
+ "option": "bind,optional,create=dir"
+ },
+ {
+ "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": "devdir",
+ "from": "/dev/snd",
+ "to": "dev/snd",
+ "devnode": "/dev/snd/controlC0",
+ "optional": 1,
+ "wideallow": 1,
+ "exclusive": 0
+ },
+ {
+ "type": "devnode",
+ "from": "/dev/mali0",
+ "to": "dev/mali0",
+ "devnode": "/dev/mali0",
+ "optional": 0,
+ "wideallow": 0,
+ "exclusive": 0
+ }
+ ],
+ "dynamic": [
+ {
+ "devpath": "/devices/platform/usbdrd3_0/fc000000.usb/",
+ "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/usbdrd3_0/fc000000.usb/",
+ "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"
+ }
+ }
+ ],
+ "dynamic": [
+ {
+ "ifname": "vxcan2"
+ }
+ ]
+ }
+}
diff --git a/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-momi-ivi-demo/nanopct6/agl-momi-ivi-demo.json b/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-momi-ivi-demo/nanopct6/agl-momi-ivi-demo.json
new file mode 100644
index 00000000..25caed4a
--- /dev/null
+++ b/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-momi-ivi-demo/nanopct6/agl-momi-ivi-demo.json
@@ -0,0 +1,202 @@
+{
+ "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-6"
+ },
+ {
+ "type": "prlimit",
+ "object": "rtprio",
+ "value": "50"
+ }
+ ],
+ "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/dlt",
+ "to": "run/dlt",
+ "fstype": "none",
+ "option": "bind,optional,create=dir"
+ },
+ {
+ "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": "devdir",
+ "from": "/dev/snd",
+ "to": "dev/snd",
+ "devnode": "/dev/snd/controlC0",
+ "optional": 1,
+ "wideallow": 1,
+ "exclusive": 0
+ },
+ {
+ "type": "devnode",
+ "from": "/dev/mali0",
+ "to": "dev/mali0",
+ "devnode": "/dev/mali0",
+ "optional": 0,
+ "wideallow": 0,
+ "exclusive": 0
+ }
+ ],
+ "dynamic": [
+ {
+ "devpath": "/devices/platform/usbdrd3_0/fc000000.usb/",
+ "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/usbdrd3_0/fc000000.usb/",
+ "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"
+ }
+ }
+ ],
+ "dynamic": [
+ {
+ "ifname": "vxcan2"
+ }
+ ]
+ }
+}
diff --git a/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-qt-ivi-demo/nanopct6/agl-qt-ivi-demo.json b/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-qt-ivi-demo/nanopct6/agl-qt-ivi-demo.json
new file mode 100644
index 00000000..b74170ef
--- /dev/null
+++ b/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-agl-qt-ivi-demo/nanopct6/agl-qt-ivi-demo.json
@@ -0,0 +1,204 @@
+{
+ "name": "agl-qt-ivi-demo",
+ "role": "ivi",
+ "base": {
+ "autoboot": false,
+ "bootpriority": 20,
+ "rootfs": {
+ "path": "/opt/container/guests/agl-qt-ivi-demo/rootfs",
+ "filesystem": "ext4",
+ "mode": "rw",
+ "blockdev": [
+ "/dev/mmcblk0p6",
+ "/dev/mmcblk0p6"
+ ]
+ },
+ "extended": {
+ "shmounts": "/opt/container/guests/agl-qt-ivi-demo/shmounts"
+ },
+ "lifecycle": {
+ "halt": "SIGRTMIN+3",
+ "reboot": "SIGTERM",
+ "timeout": 15000
+ },
+ "cap": {
+ "drop": "sys_module mac_admin mac_override",
+ "keep": ""
+ },
+ "environment": [
+ "HOME=/home/root"
+ ]
+ },
+ "resource": [
+ {
+ "type": "cgroup",
+ "object": "cpuset.cpus",
+ "value": "0-6"
+ },
+ {
+ "type": "prlimit",
+ "object": "rtprio",
+ "value": "50"
+ }
+ ],
+ "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/dlt",
+ "to": "run/dlt",
+ "fstype": "none",
+ "option": "bind,optional,create=dir"
+ },
+ {
+ "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": "devdir",
+ "from": "/dev/snd",
+ "to": "dev/snd",
+ "devnode": "/dev/snd/controlC0",
+ "optional": 1,
+ "wideallow": 1,
+ "exclusive": 0
+ },
+ {
+ "type": "devnode",
+ "from": "/dev/mali0",
+ "to": "dev/mali0",
+ "devnode": "/dev/mali0",
+ "optional": 0,
+ "wideallow": 0,
+ "exclusive": 0
+ }
+ ],
+ "dynamic": [
+ {
+ "devpath": "/devices/platform/usbdrd3_0/fc000000.usb/",
+ "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/usbdrd3_0/fc000000.usb/",
+ "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"
+ }
+ }
+ ],
+ "dynamic": [
+ {
+ "ifname": "vxcan2"
+ }
+ ]
+ }
+}
diff --git a/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-cluster-demo/nanopct6/cluster-demo.json b/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-cluster-demo/nanopct6/cluster-demo.json
new file mode 100644
index 00000000..90a9b0a8
--- /dev/null
+++ b/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-cluster-demo/nanopct6/cluster-demo.json
@@ -0,0 +1,121 @@
+{
+ "name": "cluster-demo",
+ "role": "cluster",
+ "base": {
+ "autoboot": true,
+ "bootpriority": 1,
+ "rootfs": {
+ "path": "/opt/container/guests/cluster-demo/rootfs",
+ "filesystem": "ext4",
+ "mode": "rw",
+ "blockdev": [
+ "/dev/mmcblk0p4",
+ "/dev/mmcblk0p4"
+ ]
+ },
+ "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": "0"
+ },
+ {
+ "type": "prlimit",
+ "object": "rtprio",
+ "value": "50"
+ }
+ ],
+ "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/dlt",
+ "to": "run/dlt",
+ "fstype": "none",
+ "option": "bind,optional,create=dir"
+ },
+ {
+ "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/mali0",
+ "to": "dev/mali0",
+ "devnode": "/dev/mali0",
+ "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"
+ }
+ }
+ ],
+ "dynamic": [
+ {
+ "ifname": "vxcan0"
+ }
+ ]
+ }
+}
diff --git a/meta-agl-ic-container/recipes-graphics/drm-lease-manager/drm-lease-manager-init/nanopct6/drm-lease-manager.ini b/meta-agl-ic-container/recipes-graphics/drm-lease-manager/drm-lease-manager-init/nanopct6/drm-lease-manager.ini
new file mode 100644
index 00000000..45ecfc27
--- /dev/null
+++ b/meta-agl-ic-container/recipes-graphics/drm-lease-manager/drm-lease-manager-init/nanopct6/drm-lease-manager.ini
@@ -0,0 +1,7 @@
+[[lease]]
+name="lease-ivi"
+connectors=["HDMI-A-1"]
+
+[[lease]]
+name="lease-cluster"
+connectors=["HDMI-A-2"]
diff --git a/meta-agl-ic-container/wic/agl-ic-container-rockchip-demo.wks b/meta-agl-ic-container/wic/agl-ic-container-rockchip-demo.wks
new file mode 100644
index 00000000..6339a876
--- /dev/null
+++ b/meta-agl-ic-container/wic/agl-ic-container-rockchip-demo.wks
@@ -0,0 +1,13 @@
+# short-description: Single partition rootfs with UUID and no bootloader
+# long-description: Creates a partitioned image with a single partition in
+# use and does not contain a bootloader.
+
+bootloader --ptable gpt
+part --source rawcopy --sourceparams="file=idblock.img" --align 32 --no-table
+part --source rawcopy --sourceparams="file=uboot.img" --part-name uboot --align 8192
+part --source rawcopy --sourceparams="file=boot.img" --part-name boot
+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 --source rawcopy --sourceparams="file=agl-ivi-demo-qt.ext4"
+part --source rawcopy --sourceparams="file=agl-ivi-demo-flutter.ext4"
diff --git a/meta-agl-ic-container/wic/agl-ic-container-rockchip.wks b/meta-agl-ic-container/wic/agl-ic-container-rockchip.wks
new file mode 100644
index 00000000..5e7fe73e
--- /dev/null
+++ b/meta-agl-ic-container/wic/agl-ic-container-rockchip.wks
@@ -0,0 +1,13 @@
+# short-description: Single partition rootfs with UUID and no bootloader
+# long-description: Creates a partitioned image with a single partition in
+# use and does not contain a bootloader.
+
+bootloader --ptable gpt
+part --source rawcopy --sourceparams="file=idblock.img" --align 32 --no-table
+part --source rawcopy --sourceparams="file=uboot.img" --part-name uboot --align 8192
+part --source rawcopy --sourceparams="file=boot.img" --part-name boot
+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