From 3bdbed71338a7b1570a8b3d7b30ebae92f80e4e5 Mon Sep 17 00:00:00 2001 From: Naoto Yamaguchi Date: Tue, 31 Jan 2023 01:31:34 +0900 Subject: Initial support for raspberry pi 4 AGL IC container is supporting R-Car board. This patch add raspberry pi4 support that aim to easy use hobbyists. Bug-AGL: SPEC-4678 Change-Id: Ia0175d57b956d763f1ac8a81ae624a4b93b5f727 Signed-off-by: Naoto Yamaguchi (cherry picked from commit 675c6a95ee065607c011be15eafe2098bc38d052) --- meta-agl-ic-container/conf/layer.conf | 2 ++ .../lxc-config/lxc-config-cluster-demo/mount.in | 13 +++++++++++++ .../lxc-config/lxc-config-cluster-demo_1.0.bbappend | 8 ++++++++ .../lxc-config/lxc-config-ivi-demo/mount.in | 18 ++++++++++++++++++ .../lxc-config/lxc-config-ivi-demo/network.in | 5 +++++ .../lxc-config/lxc-config-ivi-demo_1.0.bbappend | 5 +++++ .../recipes-container/lxc-config/multi-display.inc | 1 + .../drm-lease-manager/drm-lease-manager-init.bbappend | 2 ++ .../drm-lease-manager-init/drm-lease-manager.ini | 7 +++++++ 9 files changed, 61 insertions(+) create mode 100644 meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/lxc-config-cluster-demo/mount.in create mode 100644 meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/lxc-config-cluster-demo_1.0.bbappend create mode 100644 meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/lxc-config-ivi-demo/mount.in create mode 100644 meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/lxc-config-ivi-demo/network.in create mode 100644 meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/lxc-config-ivi-demo_1.0.bbappend create mode 100644 meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/multi-display.inc create mode 100644 meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-graphics/drm-lease-manager/drm-lease-manager-init.bbappend create mode 100644 meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-graphics/drm-lease-manager/drm-lease-manager-init/drm-lease-manager.ini diff --git a/meta-agl-ic-container/conf/layer.conf b/meta-agl-ic-container/conf/layer.conf index acf7dbbe..7b4552a5 100644 --- a/meta-agl-ic-container/conf/layer.conf +++ b/meta-agl-ic-container/conf/layer.conf @@ -12,6 +12,8 @@ BBFILE_PRIORITY_aglcontainermc = "100" BBFILES_DYNAMIC += " \ rcar-gen3:${LAYERDIR}/dynamic-layers/meta-rcar-gen3/*/*/*.bb \ rcar-gen3:${LAYERDIR}/dynamic-layers/meta-rcar-gen3/*/*/*.bbappend \ + raspberrypi:${LAYERDIR}/dynamic-layers/meta-raspberrypi/*/*/*.bb \ + raspberrypi:${LAYERDIR}/dynamic-layers/meta-raspberrypi/*/*/*.bbappend \ " LAYERSERIES_COMPAT_aglcontainermc = "kirkstone" diff --git a/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/lxc-config-cluster-demo/mount.in b/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/lxc-config-cluster-demo/mount.in new file mode 100644 index 00000000..fdb51877 --- /dev/null +++ b/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/lxc-config-cluster-demo/mount.in @@ -0,0 +1,13 @@ +# 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 = /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/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/lxc-config-cluster-demo_1.0.bbappend b/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/lxc-config-cluster-demo_1.0.bbappend new file mode 100644 index 00000000..92888ba8 --- /dev/null +++ b/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/lxc-config-cluster-demo_1.0.bbappend @@ -0,0 +1,8 @@ +require multi-display.inc + +FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:" + +# If you want to change display assign in your board, please change this line in your recipe. +DRM_LEASE_DEVICE ?= "${@bb.utils.contains("HAS_MULTI_DISPLAY", "1", "card0-HDMI-A-2", "card0-HDMI-A-1" ,d)}" + +LXC_AUTO_START ?= "1" diff --git a/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/lxc-config-ivi-demo/mount.in b/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/lxc-config-ivi-demo/mount.in new file mode 100644 index 00000000..ab6f7540 --- /dev/null +++ b/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/lxc-config-ivi-demo/mount.in @@ -0,0 +1,18 @@ +# 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 = /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/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/lxc-config-ivi-demo/network.in b/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/lxc-config-ivi-demo/network.in new file mode 100644 index 00000000..6545b1ad --- /dev/null +++ b/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/lxc-config-ivi-demo/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/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/lxc-config-ivi-demo_1.0.bbappend b/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/lxc-config-ivi-demo_1.0.bbappend new file mode 100644 index 00000000..f58fe2cb --- /dev/null +++ b/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/lxc-config-ivi-demo_1.0.bbappend @@ -0,0 +1,5 @@ +require multi-display.inc + +FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:" + +LXC_AUTO_START ?= "${@bb.utils.contains("HAS_MULTI_DISPLAY", "1", "1", "0" ,d)}" diff --git a/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/multi-display.inc b/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/multi-display.inc new file mode 100644 index 00000000..f6856db8 --- /dev/null +++ b/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-container/lxc-config/multi-display.inc @@ -0,0 +1 @@ +HAS_MULTI_DISPLAY ?= "1" diff --git a/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-graphics/drm-lease-manager/drm-lease-manager-init.bbappend b/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-graphics/drm-lease-manager/drm-lease-manager-init.bbappend new file mode 100644 index 00000000..371f6539 --- /dev/null +++ b/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-graphics/drm-lease-manager/drm-lease-manager-init.bbappend @@ -0,0 +1,2 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" +SRC_URI = "file://drm-lease-manager.ini" diff --git a/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-graphics/drm-lease-manager/drm-lease-manager-init/drm-lease-manager.ini b/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-graphics/drm-lease-manager/drm-lease-manager-init/drm-lease-manager.ini new file mode 100644 index 00000000..45ecfc27 --- /dev/null +++ b/meta-agl-ic-container/dynamic-layers/meta-raspberrypi/recipes-graphics/drm-lease-manager/drm-lease-manager-init/drm-lease-manager.ini @@ -0,0 +1,7 @@ +[[lease]] +name="lease-ivi" +connectors=["HDMI-A-1"] + +[[lease]] +name="lease-cluster" +connectors=["HDMI-A-2"] -- cgit 1.2.3-korg