From 43c2dac50d6c8a38b1d8a89a86d146ea9539140d Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Thu, 2 Nov 2023 16:13:39 -0400 Subject: Add initial DRM lease test images Add guest and host image as well as associated configuration recipes for simple DRM lease testing. The agl-host-image-drm-least-test image has two guests that each run Weston + desktop-shell with a different background color. A known issue at the moment is that networking is not functional in the guests, this will be investigated further. Bug-AGL: SPEC-4955 Change-Id: Ib69e627bb251180c2d7a1175de53d2fb1561aa61 Signed-off-by: Scott Murray --- .../lxc-config-drm-lease-test-cluster/basic.in | 9 +++++++++ .../lxc-config-drm-lease-test-cluster/environment.in | 8 ++++++++ .../lxc-config-drm-lease-test-cluster/misc.in | 3 +++ .../lxc-config-drm-lease-test-cluster/mount.in | 17 +++++++++++++++++ .../lxc-config-drm-lease-test-cluster/network.in | 5 +++++ .../system.conf.drm-lease-test-cluster.in | 2 ++ .../lxc-config/lxc-config-drm-lease-test-cluster_1.0.bb | 7 +++++++ .../lxc-config/lxc-config-drm-lease-test-ivi/basic.in | 9 +++++++++ .../lxc-config-drm-lease-test-ivi/environment.in | 8 ++++++++ .../lxc-config/lxc-config-drm-lease-test-ivi/misc.in | 3 +++ .../lxc-config/lxc-config-drm-lease-test-ivi/mount.in | 17 +++++++++++++++++ .../lxc-config/lxc-config-drm-lease-test-ivi/network.in | 5 +++++ .../system.conf.drm-lease-test-ivi.in | 2 ++ .../lxc-config/lxc-config-drm-lease-test-ivi_1.0.bb | 7 +++++++ 14 files changed, 102 insertions(+) create mode 100644 meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-cluster/basic.in create mode 100644 meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-cluster/environment.in create mode 100644 meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-cluster/misc.in create mode 100644 meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-cluster/mount.in create mode 100644 meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-cluster/network.in create mode 100644 meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-cluster/system.conf.drm-lease-test-cluster.in create mode 100644 meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-cluster_1.0.bb create mode 100644 meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-ivi/basic.in create mode 100644 meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-ivi/environment.in create mode 100644 meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-ivi/misc.in create mode 100644 meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-ivi/mount.in create mode 100644 meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-ivi/network.in create mode 100644 meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-ivi/system.conf.drm-lease-test-ivi.in create mode 100644 meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-ivi_1.0.bb (limited to 'meta-agl-ic-container/recipes-container/lxc-config') diff --git a/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-cluster/basic.in b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-cluster/basic.in new file mode 100644 index 00000000..d4a490ab --- /dev/null +++ b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-cluster/basic.in @@ -0,0 +1,9 @@ +# lxc basic setting +lxc.rootfs.path = dir:/var/lib/machines/drm-lease-test-cluster +lxc.signal.halt = SIGRTMIN+3 +lxc.signal.reboot = SIGTERM +lxc.uts.name = "cluster" +lxc.tty.max = 1 +lxc.pty.max = 1 +lxc.cap.drop = sys_module mac_admin mac_override sys_time + diff --git a/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-cluster/environment.in b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-cluster/environment.in new file mode 100644 index 00000000..632252d5 --- /dev/null +++ b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-cluster/environment.in @@ -0,0 +1,8 @@ +# lxc environment variable setting +lxc.environment = QT_QPA_PLATFORM=wayland +lxc.environment = QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/plugins/ +lxc.environment = QML_IMPORT_PATH=/usr/lib/qml/ +lxc.environment = QML2_IMPORT_PATH=/usr/lib/qml/ +lxc.environment = QT_WAYLAND_SHELL_INTEGRATION=xdg-shell +lxc.environment = PIPEWIRE_RUNTIME_DIR=/var + diff --git a/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-cluster/misc.in b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-cluster/misc.in new file mode 100644 index 00000000..9b4f4883 --- /dev/null +++ b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-cluster/misc.in @@ -0,0 +1,3 @@ +# lxc misc setting +lxc.start.auto = @LXC_AUTO_START@ + diff --git a/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-cluster/mount.in b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-cluster/mount.in new file mode 100644 index 00000000..0468866d --- /dev/null +++ b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-cluster/mount.in @@ -0,0 +1,17 @@ +# lxc mount setting +lxc.mount.entry = /var/lib/lxc/drm-lease-test-cluster/system.conf etc/systemd/system.conf.d/10-environment.conf none bind,optional,create=file + +lxc.mount.auto = cgroup:mixed proc:mixed sys:mixed +lxc.mount.entry = shm /dev/shm tmpfs defaults 0 0 +lxc.mount.entry = /sys/kernel/security sys/kernel/security none ro,bind,optional 0 0 +lxc.mount.entry = tmpfs run tmpfs defaults +lxc.mount.entry = /run/udev/data run/udev/data none ro,bind,optional,create=dir + +lxc.cgroup.devices.allow = c 226:* rwm +lxc.mount.entry = /dev/dri dev/dri none bind,optional,create=dir + +lxc.mount.entry = /run/drm-lease-manager/lease-ivi var/display/drm-lease-manager/lease none bind,create=file + +lxc.cgroup.devices.allow = c 13:* rwm +lxc.mount.entry = /dev/input dev/input none bind,optional,create=dir +lxc.mount.entry = /run/pipewire/pipewire-0 var/pipewire-0 none bind,optional,create=file diff --git a/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-cluster/network.in b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-cluster/network.in new file mode 100644 index 00000000..87fff1de --- /dev/null +++ b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-cluster/network.in @@ -0,0 +1,5 @@ +# lxc network setting +lxc.net.0.type = veth +lxc.net.0.link = lxcbr0 +lxc.net.0.flags = up +lxc.net.0.hwaddr = 00:16:3e:69:87:a5 diff --git a/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-cluster/system.conf.drm-lease-test-cluster.in b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-cluster/system.conf.drm-lease-test-cluster.in new file mode 100644 index 00000000..f496c589 --- /dev/null +++ b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-cluster/system.conf.drm-lease-test-cluster.in @@ -0,0 +1,2 @@ +[Manager] +#DefaultEnvironment = diff --git a/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-cluster_1.0.bb b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-cluster_1.0.bb new file mode 100644 index 00000000..a30505e9 --- /dev/null +++ b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-cluster_1.0.bb @@ -0,0 +1,7 @@ +DESCRIPTION = "AGL cluster demo container LXC config" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9" + +inherit lxc-config + +LXC_AUTO_START ??= "1" diff --git a/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-ivi/basic.in b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-ivi/basic.in new file mode 100644 index 00000000..186ab509 --- /dev/null +++ b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-ivi/basic.in @@ -0,0 +1,9 @@ +# lxc basic setting +lxc.rootfs.path = dir:/var/lib/machines/drm-lease-test-ivi +lxc.signal.halt = SIGRTMIN+3 +lxc.signal.reboot = SIGTERM +lxc.uts.name = "ivi" +lxc.tty.max = 1 +lxc.pty.max = 1 +lxc.cap.drop = sys_module mac_admin mac_override sys_time + diff --git a/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-ivi/environment.in b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-ivi/environment.in new file mode 100644 index 00000000..632252d5 --- /dev/null +++ b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-ivi/environment.in @@ -0,0 +1,8 @@ +# lxc environment variable setting +lxc.environment = QT_QPA_PLATFORM=wayland +lxc.environment = QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/plugins/ +lxc.environment = QML_IMPORT_PATH=/usr/lib/qml/ +lxc.environment = QML2_IMPORT_PATH=/usr/lib/qml/ +lxc.environment = QT_WAYLAND_SHELL_INTEGRATION=xdg-shell +lxc.environment = PIPEWIRE_RUNTIME_DIR=/var + diff --git a/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-ivi/misc.in b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-ivi/misc.in new file mode 100644 index 00000000..9b4f4883 --- /dev/null +++ b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-ivi/misc.in @@ -0,0 +1,3 @@ +# lxc misc setting +lxc.start.auto = @LXC_AUTO_START@ + diff --git a/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-ivi/mount.in b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-ivi/mount.in new file mode 100644 index 00000000..2026c577 --- /dev/null +++ b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-ivi/mount.in @@ -0,0 +1,17 @@ +# lxc mount setting +lxc.mount.entry = /var/lib/lxc/drm-lease-test-ivi/system.conf etc/systemd/system.conf.d/10-environment.conf none bind,optional,create=file + +lxc.mount.auto = cgroup:mixed proc:mixed sys:mixed +lxc.mount.entry = shm /dev/shm tmpfs defaults 0 0 +lxc.mount.entry = /sys/kernel/security sys/kernel/security none ro,bind,optional 0 0 +lxc.mount.entry = tmpfs run tmpfs defaults +lxc.mount.entry = /run/udev/data run/udev/data none ro,bind,optional,create=dir + +lxc.cgroup.devices.allow = c 226:* rwm +lxc.mount.entry = /dev/dri dev/dri none bind,optional,create=dir + +lxc.mount.entry = /run/drm-lease-manager/lease-ivi var/display/drm-lease-manager/lease none bind,create=file + +lxc.cgroup.devices.allow = c 13:* rwm +lxc.mount.entry = /dev/input dev/input none bind,optional,create=dir +lxc.mount.entry = /run/pipewire/pipewire-0 var/pipewire-0 none bind,optional,create=file diff --git a/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-ivi/network.in b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-ivi/network.in new file mode 100644 index 00000000..6545b1ad --- /dev/null +++ b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-ivi/network.in @@ -0,0 +1,5 @@ +# lxc network setting +lxc.net.0.type = veth +lxc.net.0.link = lxcbr0 +lxc.net.0.flags = up +lxc.net.0.hwaddr = 00:16:3e:69:87:a4 diff --git a/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-ivi/system.conf.drm-lease-test-ivi.in b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-ivi/system.conf.drm-lease-test-ivi.in new file mode 100644 index 00000000..f496c589 --- /dev/null +++ b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-ivi/system.conf.drm-lease-test-ivi.in @@ -0,0 +1,2 @@ +[Manager] +#DefaultEnvironment = diff --git a/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-ivi_1.0.bb b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-ivi_1.0.bb new file mode 100644 index 00000000..a30505e9 --- /dev/null +++ b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-drm-lease-test-ivi_1.0.bb @@ -0,0 +1,7 @@ +DESCRIPTION = "AGL cluster demo container LXC config" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9" + +inherit lxc-config + +LXC_AUTO_START ??= "1" -- cgit 1.2.3-korg