From 13169c3265ba75d783eb3723504298a08e768110 Mon Sep 17 00:00:00 2001 From: Jan-Simon Moeller Date: Tue, 9 Aug 2022 11:33:17 +0200 Subject: Rename Instrument Cluster Container layer meta-agl-lxc is no longer reflecting the actual content and use of the layer. Rename it to 'meta-agl-ic-container' and the feature to 'agl-ic-container'. Also rename the main image to 'agl-cluster-demo-lxc-host' to match the pattern used by all other images e.g. agl--demo-* . But keep the names of the underlying images as-is. Bug-AGL: SPEC-4464 Signed-off-by: Jan-Simon Moeller Change-Id: I898c786ca884331b302a3be8e150379fcf5bdc9b --- .../lxc-config/lxc-config-cluster-demo/basic.in | 9 ++++++++ .../lxc-config-cluster-demo/environment.in | 7 ++++++ .../lxc-config/lxc-config-cluster-demo/misc.in | 3 +++ .../lxc-config/lxc-config-cluster-demo/mount.in | 14 ++++++++++++ .../lxc-config/lxc-config-cluster-demo/network.in | 3 +++ .../system.conf.cluster-demo.in | 8 +++++++ .../lxc-config/lxc-config-cluster-demo_1.0.bb | 7 ++++++ .../lxc-config/lxc-config-dummy/basic.in | 9 ++++++++ .../lxc-config/lxc-config-dummy/environment.in | 2 ++ .../lxc-config/lxc-config-dummy/misc.in | 3 +++ .../lxc-config/lxc-config-dummy/mount.in | 7 ++++++ .../lxc-config/lxc-config-dummy/network.in | 3 +++ .../lxc-config-dummy/system.conf.dummy.in | 2 ++ .../lxc-config/lxc-config-dummy_1.0.bb | 5 +++++ .../lxc-config/lxc-config-ivi-demo/basic.in | 9 ++++++++ .../lxc-config/lxc-config-ivi-demo/environment.in | 8 +++++++ .../lxc-config/lxc-config-ivi-demo/misc.in | 3 +++ .../lxc-config/lxc-config-ivi-demo/mount.in | 17 +++++++++++++++ .../lxc-config/lxc-config-ivi-demo/network.in | 3 +++ .../lxc-config-ivi-demo/system.conf.ivi-demo.in | 9 ++++++++ .../lxc-config/lxc-config-ivi-demo_1.0.bb | 7 ++++++ .../recipes-container/lxc/files/lxc-net.service | 15 +++++++++++++ .../recipes-container/lxc/files/lxc.service | 19 ++++++++++++++++ .../recipes-container/lxc/lxc_%.bbappend | 25 ++++++++++++++++++++++ 24 files changed, 197 insertions(+) create mode 100644 meta-agl-ic-container/recipes-container/lxc-config/lxc-config-cluster-demo/basic.in create mode 100644 meta-agl-ic-container/recipes-container/lxc-config/lxc-config-cluster-demo/environment.in create mode 100644 meta-agl-ic-container/recipes-container/lxc-config/lxc-config-cluster-demo/misc.in create mode 100644 meta-agl-ic-container/recipes-container/lxc-config/lxc-config-cluster-demo/mount.in create mode 100644 meta-agl-ic-container/recipes-container/lxc-config/lxc-config-cluster-demo/network.in create mode 100644 meta-agl-ic-container/recipes-container/lxc-config/lxc-config-cluster-demo/system.conf.cluster-demo.in create mode 100644 meta-agl-ic-container/recipes-container/lxc-config/lxc-config-cluster-demo_1.0.bb create mode 100644 meta-agl-ic-container/recipes-container/lxc-config/lxc-config-dummy/basic.in create mode 100644 meta-agl-ic-container/recipes-container/lxc-config/lxc-config-dummy/environment.in create mode 100644 meta-agl-ic-container/recipes-container/lxc-config/lxc-config-dummy/misc.in create mode 100644 meta-agl-ic-container/recipes-container/lxc-config/lxc-config-dummy/mount.in create mode 100644 meta-agl-ic-container/recipes-container/lxc-config/lxc-config-dummy/network.in create mode 100644 meta-agl-ic-container/recipes-container/lxc-config/lxc-config-dummy/system.conf.dummy.in create mode 100644 meta-agl-ic-container/recipes-container/lxc-config/lxc-config-dummy_1.0.bb create mode 100644 meta-agl-ic-container/recipes-container/lxc-config/lxc-config-ivi-demo/basic.in create mode 100644 meta-agl-ic-container/recipes-container/lxc-config/lxc-config-ivi-demo/environment.in create mode 100644 meta-agl-ic-container/recipes-container/lxc-config/lxc-config-ivi-demo/misc.in create mode 100644 meta-agl-ic-container/recipes-container/lxc-config/lxc-config-ivi-demo/mount.in create mode 100644 meta-agl-ic-container/recipes-container/lxc-config/lxc-config-ivi-demo/network.in create mode 100644 meta-agl-ic-container/recipes-container/lxc-config/lxc-config-ivi-demo/system.conf.ivi-demo.in create mode 100644 meta-agl-ic-container/recipes-container/lxc-config/lxc-config-ivi-demo_1.0.bb create mode 100644 meta-agl-ic-container/recipes-container/lxc/files/lxc-net.service create mode 100644 meta-agl-ic-container/recipes-container/lxc/files/lxc.service create mode 100644 meta-agl-ic-container/recipes-container/lxc/lxc_%.bbappend (limited to 'meta-agl-ic-container/recipes-container') diff --git a/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-cluster-demo/basic.in b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-cluster-demo/basic.in new file mode 100644 index 00000000..22a8f8de --- /dev/null +++ b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-cluster-demo/basic.in @@ -0,0 +1,9 @@ +# lxc basic setting +lxc.rootfs.path = dir:/var/lib/machines/cluster-demo +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-cluster-demo/environment.in b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-cluster-demo/environment.in new file mode 100644 index 00000000..374b9c03 --- /dev/null +++ b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-cluster-demo/environment.in @@ -0,0 +1,7 @@ +# 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 + diff --git a/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-cluster-demo/misc.in b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-cluster-demo/misc.in new file mode 100644 index 00000000..9b4f4883 --- /dev/null +++ b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-cluster-demo/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-cluster-demo/mount.in b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-cluster-demo/mount.in new file mode 100644 index 00000000..a87322ba --- /dev/null +++ b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-cluster-demo/mount.in @@ -0,0 +1,14 @@ +# lxc mount setting +lxc.mount.entry = /var/lib/lxc/cluster-demo/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.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-cluster var/display/drm-lease-manager/lease none bind,create=file + +lxc.mount.entry = /run/pipewire/icipc-0 var/icipc-0 none bind,optional,create=file + diff --git a/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-cluster-demo/network.in b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-cluster-demo/network.in new file mode 100644 index 00000000..573f4796 --- /dev/null +++ b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-cluster-demo/network.in @@ -0,0 +1,3 @@ +# lxc network setting +lxc.net.0.type = empty + diff --git a/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-cluster-demo/system.conf.cluster-demo.in b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-cluster-demo/system.conf.cluster-demo.in new file mode 100644 index 00000000..29a49b6c --- /dev/null +++ b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-cluster-demo/system.conf.cluster-demo.in @@ -0,0 +1,8 @@ +[Manager] +DefaultEnvironment = DLM_RUNTIME_PATH=/var/display/drm-lease-manager +DefaultEnvironment = DRM_LEASE_DEVICE=@DRM_LEASE_DEVICE@ +DefaultEnvironment = QT_QPA_PLATFORM=wayland +DefaultEnvironment = QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/plugins/ +DefaultEnvironment = QML_IMPORT_PATH=/usr/lib/qml/ +DefaultEnvironment = QML2_IMPORT_PATH=/usr/lib/qml/ +DefaultEnvironment = QT_WAYLAND_SHELL_INTEGRATION=xdg-shell diff --git a/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-cluster-demo_1.0.bb b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-cluster-demo_1.0.bb new file mode 100644 index 00000000..a30505e9 --- /dev/null +++ b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-cluster-demo_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-dummy/basic.in b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-dummy/basic.in new file mode 100644 index 00000000..603e902e --- /dev/null +++ b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-dummy/basic.in @@ -0,0 +1,9 @@ +# lxc basic setting +lxc.rootfs.path = dir:/var/lib/machines/dummy +lxc.signal.halt = SIGRTMIN+3 +lxc.signal.reboot = SIGTERM +lxc.uts.name = "guest-dummy" +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-dummy/environment.in b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-dummy/environment.in new file mode 100644 index 00000000..b7cde1c8 --- /dev/null +++ b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-dummy/environment.in @@ -0,0 +1,2 @@ +# lxc environment variable setting + diff --git a/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-dummy/misc.in b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-dummy/misc.in new file mode 100644 index 00000000..9b4f4883 --- /dev/null +++ b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-dummy/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-dummy/mount.in b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-dummy/mount.in new file mode 100644 index 00000000..686fdcb9 --- /dev/null +++ b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-dummy/mount.in @@ -0,0 +1,7 @@ +# lxc mount setting +lxc.mount.entry = /var/lib/lxc/dummy/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 + diff --git a/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-dummy/network.in b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-dummy/network.in new file mode 100644 index 00000000..573f4796 --- /dev/null +++ b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-dummy/network.in @@ -0,0 +1,3 @@ +# lxc network setting +lxc.net.0.type = empty + diff --git a/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-dummy/system.conf.dummy.in b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-dummy/system.conf.dummy.in new file mode 100644 index 00000000..f496c589 --- /dev/null +++ b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-dummy/system.conf.dummy.in @@ -0,0 +1,2 @@ +[Manager] +#DefaultEnvironment = diff --git a/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-dummy_1.0.bb b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-dummy_1.0.bb new file mode 100644 index 00000000..41246391 --- /dev/null +++ b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-dummy_1.0.bb @@ -0,0 +1,5 @@ +DESCRIPTION = "AGL dummy container LXC config" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9" + +inherit lxc-config diff --git a/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-ivi-demo/basic.in b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-ivi-demo/basic.in new file mode 100644 index 00000000..1fd9f347 --- /dev/null +++ b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-ivi-demo/basic.in @@ -0,0 +1,9 @@ +# lxc basic setting +lxc.rootfs.path = dir:/var/lib/machines/ivi-demo +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-ivi-demo/environment.in b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-ivi-demo/environment.in new file mode 100644 index 00000000..632252d5 --- /dev/null +++ b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-ivi-demo/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-ivi-demo/misc.in b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-ivi-demo/misc.in new file mode 100644 index 00000000..9b4f4883 --- /dev/null +++ b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-ivi-demo/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-ivi-demo/mount.in b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-ivi-demo/mount.in new file mode 100644 index 00000000..262f09bd --- /dev/null +++ b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-ivi-demo/mount.in @@ -0,0 +1,17 @@ +# lxc mount setting +lxc.mount.entry = /var/lib/lxc/ivi-demo/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-ivi-demo/network.in b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-ivi-demo/network.in new file mode 100644 index 00000000..573f4796 --- /dev/null +++ b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-ivi-demo/network.in @@ -0,0 +1,3 @@ +# lxc network setting +lxc.net.0.type = empty + diff --git a/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-ivi-demo/system.conf.ivi-demo.in b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-ivi-demo/system.conf.ivi-demo.in new file mode 100644 index 00000000..de7c6cdd --- /dev/null +++ b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-ivi-demo/system.conf.ivi-demo.in @@ -0,0 +1,9 @@ +[Manager] +DefaultEnvironment = DLM_RUNTIME_PATH=/var/display/drm-lease-manager +DefaultEnvironment = DRM_LEASE_DEVICE=@DRM_LEASE_DEVICE@ +DefaultEnvironment = QT_QPA_PLATFORM=wayland +DefaultEnvironment = QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/plugins/ +DefaultEnvironment = QML_IMPORT_PATH=/usr/lib/qml/ +DefaultEnvironment = QML2_IMPORT_PATH=/usr/lib/qml/ +DefaultEnvironment = QT_WAYLAND_SHELL_INTEGRATION=xdg-shell +DefaultEnvironment = PIPEWIRE_RUNTIME_DIR=/var diff --git a/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-ivi-demo_1.0.bb b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-ivi-demo_1.0.bb new file mode 100644 index 00000000..0bc7e11c --- /dev/null +++ b/meta-agl-ic-container/recipes-container/lxc-config/lxc-config-ivi-demo_1.0.bb @@ -0,0 +1,7 @@ +DESCRIPTION = "AGL simple IVI 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 ??= "0" diff --git a/meta-agl-ic-container/recipes-container/lxc/files/lxc-net.service b/meta-agl-ic-container/recipes-container/lxc/files/lxc-net.service new file mode 100644 index 00000000..1b6e8451 --- /dev/null +++ b/meta-agl-ic-container/recipes-container/lxc/files/lxc-net.service @@ -0,0 +1,15 @@ +[Unit] +Description=LXC network bridge setup +After=network-online.target systemd-resolved.service +Before=lxc.service +Documentation=man:lxc +ConditionVirtualization=!lxc + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=@LIBEXECDIR@/lxc/lxc-net start +ExecStop=@LIBEXECDIR@/lxc/lxc-net stop + +[Install] +WantedBy=multi-user.target diff --git a/meta-agl-ic-container/recipes-container/lxc/files/lxc.service b/meta-agl-ic-container/recipes-container/lxc/files/lxc.service new file mode 100644 index 00000000..acf8da39 --- /dev/null +++ b/meta-agl-ic-container/recipes-container/lxc/files/lxc.service @@ -0,0 +1,19 @@ +[Unit] +Description=LXC Container Initialization and Autoboot Code +After=network.target lxc-net.service remote-fs.target drm-lease-manager.service +Wants=lxc-net.service +Documentation=man:lxc-autostart man:lxc + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStartPre=@LIBEXECDIR@/lxc/lxc-apparmor-load +ExecStart=@LIBEXECDIR@/lxc/lxc-containers start +ExecStop=@LIBEXECDIR@/lxc/lxc-containers stop +ExecReload=@LIBEXECDIR@/lxc/lxc-apparmor-load +# Environment=BOOTUP=serial +# Environment=CONSOLETYPE=serial +Delegate=yes + +[Install] +WantedBy=multi-user.target diff --git a/meta-agl-ic-container/recipes-container/lxc/lxc_%.bbappend b/meta-agl-ic-container/recipes-container/lxc/lxc_%.bbappend new file mode 100644 index 00000000..75ab98c0 --- /dev/null +++ b/meta-agl-ic-container/recipes-container/lxc/lxc_%.bbappend @@ -0,0 +1,25 @@ +PACKAGECONFIG:remove = "templates" + +SYSTEMD_AUTO_ENABLE:${PN} = "enable" + +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" + +SRC_URI += " \ + file://lxc.service \ + file://lxc-net.service \ + " + +do_install:append () { + for service in lxc.service lxc-net.service; do + install -D -m 0644 ${WORKDIR}/$service ${D}${systemd_system_unitdir}/$service + sed -i -e 's,@LIBEXECDIR@,${libexecdir},g' ${D}${systemd_system_unitdir}/$service + done +} + +# NOTE: +# This needs to be replaced with a rework of the upstream packaging +# to do a proper split of core from the template support. +RDEPENDS:${PN} = "" + + + -- cgit 1.2.3-korg