diff options
author | Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp> | 2021-10-07 07:22:31 +0900 |
---|---|---|
committer | Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp> | 2021-11-22 15:38:05 +0900 |
commit | 2df877da915944438a13eb2ce269be7b603ede21 (patch) | |
tree | 8c5a22f893ce1c0968b84f7c29c9479c15ffdd73 | |
parent | 361e2d2d5fa10ad3385460035dde4b597b69156d (diff) |
Create new image for ivi container demo
AGL IC integration will have two guests, one of the cluster demo,
one of the simple ivi demo.
This patch add initial support for ivi container for demo.
Bug-AGL: SPEC-4099
Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>
Change-Id: I4a1da6e30aee99e8ce2e2c404da78a413c647fd2
10 files changed, 89 insertions, 3 deletions
diff --git a/meta-agl-lxc/conf/multiconfig/agl-container-ivi.conf b/meta-agl-lxc/conf/multiconfig/agl-container-ivi.conf new file mode 100644 index 00000000..d5bc5c41 --- /dev/null +++ b/meta-agl-lxc/conf/multiconfig/agl-container-ivi.conf @@ -0,0 +1,23 @@ +OVERRIDES:append = ":aglcontainerivi" + +TMPDIR = "${TOPDIR}/tmp-${BB_CURRENT_MC}" + +# Can be blank as container image type results in a .tar.bz2 +AGL_DEFAULT_IMAGE_FSTYPES:aglcontainerivi = "" +AGL_EXTRA_IMAGE_FSTYPES:aglcontainerivi = "" + +IMAGE_FSTYPES:aglcontainerivi = "container" + +IMAGE_LINGUAS:append:aglcontainerivi = " en-us" + +PREFERRED_PROVIDER_virtual/kernel_aglcontainerguest = "linux-dummy" +KERNEL_DEVICETREE:aglcontainerivi = "" + +# Disable serial consoles +SERIAL_CONSOLES:aglcontainerivi = "" + +# Remove unneeded firmware packages +EXTRA_IMAGEDEPENDS:remove:aglcontainerivi = "arm-trusted-firmware optee-os u-boot" + +# We assume rngd is running on the host, so unnecessary in container +VIRTUAL-RUNTIME_rngd = "" diff --git a/meta-agl-lxc/dynamic-layers/meta-rcar-gen3/recipes-container/lxc-config/lxc-config-cluster-demo_1.0.bbappend b/meta-agl-lxc/dynamic-layers/meta-rcar-gen3/recipes-container/lxc-config/lxc-config-cluster-demo_1.0.bbappend index 63c45261..b795a9bf 100644 --- a/meta-agl-lxc/dynamic-layers/meta-rcar-gen3/recipes-container/lxc-config/lxc-config-cluster-demo_1.0.bbappend +++ b/meta-agl-lxc/dynamic-layers/meta-rcar-gen3/recipes-container/lxc-config/lxc-config-cluster-demo_1.0.bbappend @@ -1,2 +1,3 @@ +# If you want to change display assign in your board, please change this line in your recipe. DRM_LEASE_DEVICE ?= "${@bb.utils.contains("AGL_FEATURES", "kingfisher", "card0-HDMI-A-2", "card0-HDMI-A-1" ,d)}" diff --git a/meta-agl-lxc/dynamic-layers/meta-rcar-gen3/recipes-container/lxc-config/lxc-config-ivi-demo_1.0.bbappend b/meta-agl-lxc/dynamic-layers/meta-rcar-gen3/recipes-container/lxc-config/lxc-config-ivi-demo_1.0.bbappend new file mode 100644 index 00000000..d38dd3ef --- /dev/null +++ b/meta-agl-lxc/dynamic-layers/meta-rcar-gen3/recipes-container/lxc-config/lxc-config-ivi-demo_1.0.bbappend @@ -0,0 +1,3 @@ + +# If you want to change display assign in your board, please change this line in your recipe. +DRM_LEASE_DEVICE ?= "${@bb.utils.contains("AGL_FEATURES", "kingfisher", "card0-HDMI-A-1", "card0-HDMI-A-1" ,d)}" diff --git a/meta-agl-lxc/recipes-container/lxc-config/files/config.ivi-demo.in b/meta-agl-lxc/recipes-container/lxc-config/files/config.ivi-demo.in new file mode 100644 index 00000000..01b42802 --- /dev/null +++ b/meta-agl-lxc/recipes-container/lxc-config/files/config.ivi-demo.in @@ -0,0 +1,33 @@ +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 + +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.cgroup.devices.allow = c 226:* rwm +lxc.mount.entry = /dev/dri dev/dri none bind,optional,create=dir + +#lxc.mount.entry = /lxc/share lxc/share none bind,optional,create=dir +lxc.mount.entry = /run/drm-lease-manager/@DRM_LEASE_DEVICE@ var/display/drm-lease-manager/@DRM_LEASE_DEVICE@ none bind,create=file + +lxc.cgroup.devices.allow = c 10:* rwm +lxc.mount.entry = /dev/pvr_sync dev/pvr_sync none bind,optional,create=file + +lxc.net.0.type = empty + +lxc.environment = QT_QPA_PLATFORM=wayland +lxc.environment = QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/plugins/ +#lxc.environment = QT_DEBUG_PLUGINS=1 +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.start.auto = @LXC_AUTO_START@ diff --git a/meta-agl-lxc/recipes-container/lxc-config/files/system.conf.ivi-demo.in b/meta-agl-lxc/recipes-container/lxc-config/files/system.conf.ivi-demo.in new file mode 100644 index 00000000..29a49b6c --- /dev/null +++ b/meta-agl-lxc/recipes-container/lxc-config/files/system.conf.ivi-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-lxc/recipes-container/lxc-config/lxc-config-cluster-demo_1.0.bb b/meta-agl-lxc/recipes-container/lxc-config/lxc-config-cluster-demo_1.0.bb index 5657785b..57101f7a 100644 --- a/meta-agl-lxc/recipes-container/lxc-config/lxc-config-cluster-demo_1.0.bb +++ b/meta-agl-lxc/recipes-container/lxc-config/lxc-config-cluster-demo_1.0.bb @@ -1,4 +1,4 @@ -DESCRIPTION = "AGL demo container LXC config" +DESCRIPTION = "AGL cluster demo container LXC config" LICENSE = "BSD" LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD;md5=3775480a712fc46a69647678acb234cb" diff --git a/meta-agl-lxc/recipes-container/lxc-config/lxc-config-ivi-demo_1.0.bb b/meta-agl-lxc/recipes-container/lxc-config/lxc-config-ivi-demo_1.0.bb new file mode 100644 index 00000000..6c387def --- /dev/null +++ b/meta-agl-lxc/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" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD;md5=3775480a712fc46a69647678acb234cb" + +inherit lxc-config + +LXC_AUTO_START = "0" diff --git a/meta-agl-lxc/recipes-platform/images/guest-image-ivi-demo.bb b/meta-agl-lxc/recipes-platform/images/guest-image-ivi-demo.bb new file mode 100644 index 00000000..0eb73102 --- /dev/null +++ b/meta-agl-lxc/recipes-platform/images/guest-image-ivi-demo.bb @@ -0,0 +1,9 @@ +SUMMARY = "LXC ivi demo guest image" +LICENSE = "MIT" + +require guest-image-minimal.bb + +IMAGE_INSTALL += " \ + weston \ + weston-init-guest \ +" diff --git a/meta-agl-lxc/recipes-platform/images/lxc-host-image-demo.bb b/meta-agl-lxc/recipes-platform/images/lxc-host-image-demo.bb index f4d263e9..89b08aca 100644 --- a/meta-agl-lxc/recipes-platform/images/lxc-host-image-demo.bb +++ b/meta-agl-lxc/recipes-platform/images/lxc-host-image-demo.bb @@ -3,7 +3,9 @@ LICENSE = "MIT" require lxc-host-image-minimal.bb -CONTAINER_IMAGES ?= "agl-container-guest:guest-image-cluster-demo" +CONTAINER_IMAGES ?= "agl-container-guest:guest-image-cluster-demo \ + agl-container-ivi:guest-image-ivi-demo \ + " IMAGE_INSTALL += " \ kernel-modules \ diff --git a/templates/feature/agl-lxc/50_local.conf.inc b/templates/feature/agl-lxc/50_local.conf.inc index 964376de..37076877 100644 --- a/templates/feature/agl-lxc/50_local.conf.inc +++ b/templates/feature/agl-lxc/50_local.conf.inc @@ -1,4 +1,4 @@ -BBMULTICONFIG = "agl-container-guest" +BBMULTICONFIG = "agl-container-guest agl-container-ivi" # Disable the meta-virtualization configuration support enabled by # agl-virt. This should be revisited when upgrading past dunfell, |