aboutsummaryrefslogtreecommitdiffstats
path: root/meta-agl-ic-container/recipes-container
diff options
context:
space:
mode:
Diffstat (limited to 'meta-agl-ic-container/recipes-container')
-rw-r--r--meta-agl-ic-container/recipes-container/lxc-config/lxc-config-cluster-demo/basic.in9
-rw-r--r--meta-agl-ic-container/recipes-container/lxc-config/lxc-config-cluster-demo/environment.in7
-rw-r--r--meta-agl-ic-container/recipes-container/lxc-config/lxc-config-cluster-demo/misc.in3
-rw-r--r--meta-agl-ic-container/recipes-container/lxc-config/lxc-config-cluster-demo/mount.in14
-rw-r--r--meta-agl-ic-container/recipes-container/lxc-config/lxc-config-cluster-demo/network.in3
-rw-r--r--meta-agl-ic-container/recipes-container/lxc-config/lxc-config-cluster-demo/system.conf.cluster-demo.in8
-rw-r--r--meta-agl-ic-container/recipes-container/lxc-config/lxc-config-cluster-demo_1.0.bb7
-rw-r--r--meta-agl-ic-container/recipes-container/lxc-config/lxc-config-dummy/basic.in9
-rw-r--r--meta-agl-ic-container/recipes-container/lxc-config/lxc-config-dummy/environment.in2
-rw-r--r--meta-agl-ic-container/recipes-container/lxc-config/lxc-config-dummy/misc.in3
-rw-r--r--meta-agl-ic-container/recipes-container/lxc-config/lxc-config-dummy/mount.in7
-rw-r--r--meta-agl-ic-container/recipes-container/lxc-config/lxc-config-dummy/network.in3
-rw-r--r--meta-agl-ic-container/recipes-container/lxc-config/lxc-config-dummy/system.conf.dummy.in2
-rw-r--r--meta-agl-ic-container/recipes-container/lxc-config/lxc-config-dummy_1.0.bb5
-rw-r--r--meta-agl-ic-container/recipes-container/lxc-config/lxc-config-ivi-demo/basic.in9
-rw-r--r--meta-agl-ic-container/recipes-container/lxc-config/lxc-config-ivi-demo/environment.in8
-rw-r--r--meta-agl-ic-container/recipes-container/lxc-config/lxc-config-ivi-demo/misc.in3
-rw-r--r--meta-agl-ic-container/recipes-container/lxc-config/lxc-config-ivi-demo/mount.in17
-rw-r--r--meta-agl-ic-container/recipes-container/lxc-config/lxc-config-ivi-demo/network.in3
-rw-r--r--meta-agl-ic-container/recipes-container/lxc-config/lxc-config-ivi-demo/system.conf.ivi-demo.in9
-rw-r--r--meta-agl-ic-container/recipes-container/lxc-config/lxc-config-ivi-demo_1.0.bb7
-rw-r--r--meta-agl-ic-container/recipes-container/lxc/files/lxc-net.service15
-rw-r--r--meta-agl-ic-container/recipes-container/lxc/files/lxc.service19
-rw-r--r--meta-agl-ic-container/recipes-container/lxc/lxc_%.bbappend25
24 files changed, 197 insertions, 0 deletions
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} = ""
+
+
+