Re-enable drm lease test image 54/30554/3
authorNaoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>
Mon, 25 Nov 2024 17:27:23 +0000 (02:27 +0900)
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>
Fri, 29 Nov 2024 17:17:03 +0000 (17:17 +0000)
This patch enable drm-lease-test image that based on container manager.

Bug-AGL: SPEC-5308

Change-Id: I7301901d2ab0331a70dc031363c4133cea0bc532
Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>
14 files changed:
meta-agl-ic-container/dynamic-layers/meta-rockchip/recipes-platform/images/agl-host-image-drm-lease-test.bbappend [new file with mode: 0644]
meta-agl-ic-container/recipes-container/container-manager-config/cm-config-drm-lease-test-cluster/drm-lease-test-cluster.json [new file with mode: 0644]
meta-agl-ic-container/recipes-container/container-manager-config/cm-config-drm-lease-test-cluster/nanopct6/drm-lease-test-cluster.json [new file with mode: 0644]
meta-agl-ic-container/recipes-container/container-manager-config/cm-config-drm-lease-test-cluster/system.conf.drm-lease-test-cluster.in [new file with mode: 0644]
meta-agl-ic-container/recipes-container/container-manager-config/cm-config-drm-lease-test-cluster_1.0.bb [new file with mode: 0644]
meta-agl-ic-container/recipes-container/container-manager-config/cm-config-drm-lease-test-ivi/drm-lease-test-ivi.json [new file with mode: 0644]
meta-agl-ic-container/recipes-container/container-manager-config/cm-config-drm-lease-test-ivi/nanopct6/drm-lease-test-ivi.json [new file with mode: 0644]
meta-agl-ic-container/recipes-container/container-manager-config/cm-config-drm-lease-test-ivi/system.conf.drm-lease-test-ivi.in [new file with mode: 0644]
meta-agl-ic-container/recipes-container/container-manager-config/cm-config-drm-lease-test-ivi_1.0.bb [new file with mode: 0644]
meta-agl-ic-container/recipes-platform/drm-lease-test/image-mount-drm-lease-test-cluster/drm-lease-test-cluster.mount [new file with mode: 0644]
meta-agl-ic-container/recipes-platform/drm-lease-test/image-mount-drm-lease-test-cluster_1.0.bb [new file with mode: 0644]
meta-agl-ic-container/recipes-platform/drm-lease-test/image-mount-drm-lease-test-ivi/drm-lease-test-ivi.mount [new file with mode: 0644]
meta-agl-ic-container/recipes-platform/drm-lease-test/image-mount-drm-lease-test-ivi_1.0.bb [new file with mode: 0644]
meta-agl-ic-container/recipes-platform/images/agl-host-image-drm-lease-test.bb

diff --git a/meta-agl-ic-container/dynamic-layers/meta-rockchip/recipes-platform/images/agl-host-image-drm-lease-test.bbappend b/meta-agl-ic-container/dynamic-layers/meta-rockchip/recipes-platform/images/agl-host-image-drm-lease-test.bbappend
new file mode 100644 (file)
index 0000000..138ee52
--- /dev/null
@@ -0,0 +1,5 @@
+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-drm-lease-test-cluster/drm-lease-test-cluster.json b/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-drm-lease-test-cluster/drm-lease-test-cluster.json
new file mode 100644 (file)
index 0000000..fc173b8
--- /dev/null
@@ -0,0 +1,3 @@
+{
+       "name": "cluster-demo"
+}
diff --git a/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-drm-lease-test-cluster/nanopct6/drm-lease-test-cluster.json b/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-drm-lease-test-cluster/nanopct6/drm-lease-test-cluster.json
new file mode 100644 (file)
index 0000000..c8f7e8d
--- /dev/null
@@ -0,0 +1,95 @@
+{
+       "name": "drm-lease-test-cluster",
+       "role": "cluster",
+       "base": {
+               "autoboot": true,
+               "bootpriority": 1,
+               "rootfs": {
+                       "path": "/opt/container/guests/drm-lease-test-cluster/rootfs",
+                       "mode":         "rw",
+                       "hostpath": [
+                               "/var/lib/machines/guest1"
+                       ]
+               },
+               "lifecycle": {
+                       "halt": "SIGRTMIN+3",
+                       "reboot": "SIGTERM",
+                       "timeout": 5000
+               },
+               "cap": {
+                       "drop": "sys_module mac_admin mac_override sys_time",
+                       "keep": ""
+               },
+               "environment": [
+                       "HOME=/home/root"
+               ]
+       },
+       "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"
+                       }
+               ]
+       },
+       "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"
+                               }
+                       }
+               ]
+       }
+}
diff --git a/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-drm-lease-test-cluster/system.conf.drm-lease-test-cluster.in b/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-drm-lease-test-cluster/system.conf.drm-lease-test-cluster.in
new file mode 100644 (file)
index 0000000..f496c58
--- /dev/null
@@ -0,0 +1,2 @@
+[Manager]
+#DefaultEnvironment =
diff --git a/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-drm-lease-test-cluster_1.0.bb b/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-drm-lease-test-cluster_1.0.bb
new file mode 100644 (file)
index 0000000..80a794f
--- /dev/null
@@ -0,0 +1,25 @@
+DESCRIPTION = "Container Manager config for drm lease test cluster"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
+
+
+SRC_URI = "file://drm-lease-test-cluster.json \
+           file://system.conf.drm-lease-test-cluster.in \
+          "
+
+inherit cm-config
+
+do_install:append() {
+    install -Dm644 ${WORKDIR}/drm-lease-test-cluster.json ${D}/opt/container/conf/drm-lease-test-cluster.json
+    install -d ${D}/opt/container/guests/drm-lease-test-cluster/rootfs
+    install -d ${D}/opt/container/guests/drm-lease-test-cluster/nv
+    install -d ${D}/opt/container/guests/drm-lease-test-cluster/shmounts
+}
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+FILES:${PN} += " \
+    /opt/container/conf/* \
+    /opt/container/guests/drm-lease-test-cluster/* \
+    "
+
diff --git a/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-drm-lease-test-ivi/drm-lease-test-ivi.json b/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-drm-lease-test-ivi/drm-lease-test-ivi.json
new file mode 100644 (file)
index 0000000..b9828b6
--- /dev/null
@@ -0,0 +1,3 @@
+{
+       "name": "agl-momi-ivi-demo"
+}
diff --git a/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-drm-lease-test-ivi/nanopct6/drm-lease-test-ivi.json b/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-drm-lease-test-ivi/nanopct6/drm-lease-test-ivi.json
new file mode 100644 (file)
index 0000000..cc0748b
--- /dev/null
@@ -0,0 +1,121 @@
+{
+       "name": "drm-lease-test-ivi",
+       "role": "ivi",
+       "base": {
+               "autoboot": true,
+               "bootpriority": 10,
+               "rootfs": {
+                       "path": "/opt/container/guests/drm-lease-test-ivi/rootfs",
+                       "mode":         "rw",
+                       "hostpath": [
+                               "/var/lib/machines/guest2"
+                       ]
+               },
+               "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"
+               ]
+       },
+       "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"
+                       }
+               ]
+       },
+       "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
+                       }
+               ]
+       },
+       "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/recipes-container/container-manager-config/cm-config-drm-lease-test-ivi/system.conf.drm-lease-test-ivi.in b/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-drm-lease-test-ivi/system.conf.drm-lease-test-ivi.in
new file mode 100644 (file)
index 0000000..f496c58
--- /dev/null
@@ -0,0 +1,2 @@
+[Manager]
+#DefaultEnvironment =
diff --git a/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-drm-lease-test-ivi_1.0.bb b/meta-agl-ic-container/recipes-container/container-manager-config/cm-config-drm-lease-test-ivi_1.0.bb
new file mode 100644 (file)
index 0000000..9d2d62f
--- /dev/null
@@ -0,0 +1,23 @@
+DESCRIPTION = "Container Manager config for drm lease test ivi"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
+
+SRC_URI = "file://drm-lease-test-ivi.json \
+           file://system.conf.drm-lease-test-ivi.in \
+          "
+
+inherit cm-config
+
+do_install:append() {
+    install -Dm644 ${WORKDIR}/drm-lease-test-ivi.json ${D}/opt/container/conf/drm-lease-test-ivi.json
+    install -d ${D}/opt/container/guests/drm-lease-test-ivi/rootfs
+    install -d ${D}/opt/container/guests/drm-lease-test-ivi/nv
+    install -d ${D}/opt/container/guests/drm-lease-test-ivi/shmounts
+}
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+FILES:${PN} += " \
+    /opt/container/conf/* \
+    /opt/container/guests/drm-lease-test-ivi/* \
+    "
diff --git a/meta-agl-ic-container/recipes-platform/drm-lease-test/image-mount-drm-lease-test-cluster/drm-lease-test-cluster.mount b/meta-agl-ic-container/recipes-platform/drm-lease-test/image-mount-drm-lease-test-cluster/drm-lease-test-cluster.mount
new file mode 100644 (file)
index 0000000..8415cd8
--- /dev/null
@@ -0,0 +1,11 @@
+[Unit]
+Description=Image mount for drl-lease-test-cluster
+
+[Mount]
+What=/var/lib/machines/guest-image-drm-lease-test-cluster.ext4
+Where=/var/lib/machines/guest1
+Type=ext4
+Options=rw
+
+[Install]
+WantedBy=local-fs.target
diff --git a/meta-agl-ic-container/recipes-platform/drm-lease-test/image-mount-drm-lease-test-cluster_1.0.bb b/meta-agl-ic-container/recipes-platform/drm-lease-test/image-mount-drm-lease-test-cluster_1.0.bb
new file mode 100644 (file)
index 0000000..7ab0174
--- /dev/null
@@ -0,0 +1,24 @@
+SUMMARY = "AGL CI guest image mounter for drm-lease-test-cluster."
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+SRC_URI += " \
+    file://drm-lease-test-cluster.mount \
+"
+
+inherit systemd
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE:${PN} = "var-lib-machines-guest1.mount"
+SYSTEMD_AUTO_ENABLE:${PN} = "enable"
+
+do_install:append () {
+    install -d ${D}${systemd_system_unitdir}
+    install -m 0644 ${WORKDIR}/drm-lease-test-cluster.mount  ${D}${systemd_system_unitdir}/var-lib-machines-guest1.mount
+    install -d ${D}/var/lib/machines/guest1
+}
+
+FILES:${PN} += " \
+    ${systemd_system_unitdir} \
+    /var/lib/machines/* \
+"
diff --git a/meta-agl-ic-container/recipes-platform/drm-lease-test/image-mount-drm-lease-test-ivi/drm-lease-test-ivi.mount b/meta-agl-ic-container/recipes-platform/drm-lease-test/image-mount-drm-lease-test-ivi/drm-lease-test-ivi.mount
new file mode 100644 (file)
index 0000000..252dc61
--- /dev/null
@@ -0,0 +1,11 @@
+[Unit]
+Description=Image mount for drl-lease-test-cluster
+
+[Mount]
+What=/var/lib/machines/guest-image-drm-lease-test-ivi.ext4
+Where=/var/lib/machines/guest2
+Type=ext4
+Options=rw
+
+[Install]
+WantedBy=local-fs.target
diff --git a/meta-agl-ic-container/recipes-platform/drm-lease-test/image-mount-drm-lease-test-ivi_1.0.bb b/meta-agl-ic-container/recipes-platform/drm-lease-test/image-mount-drm-lease-test-ivi_1.0.bb
new file mode 100644 (file)
index 0000000..2c0607f
--- /dev/null
@@ -0,0 +1,24 @@
+SUMMARY = "AGL CI guest image mounter for drm-lease-test-ivi."
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+SRC_URI += " \
+    file://drm-lease-test-ivi.mount \
+"
+
+inherit systemd
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE:${PN} = "var-lib-machines-guest2.mount"
+SYSTEMD_AUTO_ENABLE:${PN} = "enable"
+
+do_install:append () {
+    install -d ${D}${systemd_system_unitdir}
+    install -m 0644 ${WORKDIR}/drm-lease-test-ivi.mount ${D}${systemd_system_unitdir}/var-lib-machines-guest2.mount
+    install -d ${D}/var/lib/machines/guest2
+}
+
+FILES:${PN} += " \
+    ${systemd_system_unitdir} \
+    /var/lib/machines/* \
+"
index 09b6dda..5b751c0 100644 (file)
@@ -2,8 +2,7 @@ SUMMARY = "DRM Lease LXC test host image"
 LICENSE = "MIT"
 
 require lxc-host-image-minimal.bb
-require recipes-platform/images/agl-lxc-install-single-image.inc
-require recipes-platform/images/agl-lxc-autostart.inc
+require recipes-platform/images/agl-lxc-multiconfig-build.inc
 
 CONTAINER_IMAGES ?= "agl-container-ivi:guest-image-drm-lease-test-ivi \
                      agl-container-cluster:guest-image-drm-lease-test-cluster \
@@ -15,6 +14,9 @@ IMAGE_INSTALL += " \
 
 # packages required for network bridge settings via lxc-net
 IMAGE_INSTALL += " \
+    container-manager \
+    cm-config-drm-lease-test-cluster image-mount-drm-lease-test-cluster \
+    cm-config-drm-lease-test-ivi image-mount-drm-lease-test-ivi \
     lxc-networking \
     iptables-modules \
     dnsmasq \
@@ -23,5 +25,19 @@ IMAGE_INSTALL += " \
     kernel-module-xt-multiport \
 "
 
+install_container_images() {
+    for c in ${CONTAINER_IMAGES}; do
+        config=${c%:*}
+        image=${c#*:}
+        name=${image#guest-image-}
+        src="${TOPDIR}/tmp-${config}/deploy/images/${MACHINE}/${image}-${MACHINE}${MACHINE_SUFFIX}${IMAGE_NAME_SUFFIX}.ext4"
+        bbnote "Installing ${src}"
+        install -Dm644 ${src} ${IMAGE_ROOTFS}/var/lib/machines/${image}.ext4
+    done
+}
+
+ROOTFS_POSTPROCESS_COMMAND += "install_container_images; "
+
+
 # Under the this line, shall describe machine specific package.
 IMAGE_INSTALL:append:rcar-gen3 = " kernel-module-gles gles-user-module-firmware"