summaryrefslogtreecommitdiffstats
path: root/meta-agl-lxc
AgeCommit message (Collapse)AuthorFilesLines
2022-02-26Revert "Workaround for booting time crash in R-CarH3SK wth Kingfisher board"Naoto Yamaguchi2-64/+0
This reverts commit 59de37c489c605103b90924dbfa2c42b8eeda7d8. This patch is workaround for kernel-module-gles in BSP5.5. In BSP 5.9, this issue was resolved. GL-Bug : SPEC-4269 Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp> Change-Id: I8b4f0ea675a8d296d0489c0d5837be25173117fe
2022-02-12Input device support in ivi-demo guestNaoto Yamaguchi4-0/+14
When weston is running in guset, it can't find input device. It cause by udev data dependency for libinput. IC EG member investigate some input support plan now, but it require to long way. This patch is workaround for next release to support input device in ivi-demo guest. That based on CES2020 demo method. Bug-AGL: SPEC-4136 Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp> Change-Id: I622a53add8441374d3c3be6e905f46ee56d51dad
2021-12-06agl-lxc: rcar-gen3: Support agl-refhw-h3 in lxc demoHiroyuki Ishii3-5/+9
Added tentative mechanism for determining multi-display support and added agl-refhw-h3 into that multi-display group as same as kingfisher. After this change two demo containers (cluster and ivi) can be boot automatically on agl-refhw-h3 board by running lxc-host-image-demo. BUG-AGL: SPEC-4155 Signed-off-by: Hiroyuki Ishii <ishii.hiroyuki002@jp.panasonic.com> Change-Id: I3372a998ea7a073b10160831e969c949045ce6c2
2021-12-04Workaround for booting time crash in R-CarH3SK wth Kingfisher boardNaoto Yamaguchi2-0/+64
When I run AGL Instrument Cluster with IVI in R-CarH3SK wth Kingfisher board, it's frequently crash at booting time. RGX driver has race condition issue at firmware download time. This issue occur in multi compositor environment such as IC container integration. This issue will fix by renesas in next BSP update time, may be. This patch enable workaround for this race condition issue. AGL-Bug : SPEC-4164 Change-Id: I5ca3affdfd681fd08391805ee765b3252afe190f Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>
2021-11-22Improvement flexibility for lxc-configNaoto Yamaguchi25-63/+114
Existing lxc config creation recipe is supporting two type string replacing. The network interface setting has required to multi line replacing at aec683913cd645fcf18d7633a12a7b4b42215f69. These flexibility will support by container manager that is under developing. But we need quick solution for that now. This patch provide quick solution. This patch support any network interface usage in guest. Bug-AGL: SPEC-4132 Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp> Change-Id: I5da97492610124ddfe050660e0cc2c2c5559d5b9
2021-11-22Create image specific weston setting methodNaoto Yamaguchi7-11/+69
In patch of "Fix: weston is not running after BSP 5.5 merged in cluster-demo", I created common weston-init recipe for container guest. This patch add image specific weston setting method. Bug-AGL: SPEC-4099 Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp> Change-Id: I0a47749932dc384e8a983b43214aefd939ccd06e
2021-11-17Add automatic start support for IVI guest.Naoto Yamaguchi4-2/+6
Currently IVI guest doesn't start automatically. IVI guest shall not start in single display environment. IVI guest shall start in dual display environment such as kingfisher. This patch add automatic start support for IVI guest in dual display environment. Bug-AGL : SPEC-4135 Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp> Change-Id: Idcb8c7961f7d2e7f4bf77f1fb81065d16ed124a2
2021-11-17Change map style in momnaviNaoto Yamaguchi1-2/+2
Existing mominavi use light map style. On the other hand, other app coloring is dark. This patch adjust mominavi map style with other apps. Bug-AGL: SPEC-4095 Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp> Change-Id: I5b3b4013bfd7b0a69b1fa4680cf098e29f3019be
2021-11-17Add momiscreen into ivi guestNaoto Yamaguchi5-21/+94
The momiscreen is example home screen for IVI guest demo. This patch add momiscreen. Bug-AGL: SPEC-4101 Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp> Change-Id: If3e926dc01cab7dfb9062f001a765a0fcab26a2a
2021-11-17BUG FIX: mominavi is not showing mapNaoto Yamaguchi4-0/+63
Current ivi-demo is not showing map. It has some bugs. Not enabling the mapbox plugin in qtlocation. Not enabling the sqlite in qt-base. Not including the font in image. Not including the ca-certificates in image. This patch fix these issue. Bug-AGL: SPEC-4095 Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp> Change-Id: Icbc2378500a5230571a2f5a79e1e0ba0a1ddce97
2021-11-17Enable network connection in ivi guestNaoto Yamaguchi5-1/+31
In ivi guest, must require to internet connections. This patch enable network connection in ivi guest. Detaille: Bind eth0 device to ivi guest. Enable systemd-networkd to manage network connection. Add network interface setting to set IP address using dhcp. Bug-AGL: SPEC-4132 Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp> Change-Id: Icf0fb386d1efafb060a66e0cab727f93d5e8e7fd
2021-11-17Install demo apps to ivi demo imageNaoto Yamaguchi1-0/+7
This patch add mominavi and momiplay to guest-image-ivi-demo with dependent packages. Bug-AGL: SPEC-4099 Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp> Change-Id: Iee29d651f522a3a7f851191c86d60bddc2296eb0
2021-11-16Re-structure for guestsNaoto Yamaguchi4-6/+41
In previously patch, I created new guest image for ivi demo. As a trial result using initial patch, I think so need to common OVERRIDES keyword and specific OVERRIDES keyword. This patch create cluster specific config and modify OVERRIDES keyword. Bug-AGL: SPEC-4099 Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp> Change-Id: I8c39f2a1fade2e0cc920a2efe9625678b07fb37b
2021-11-16Create new image for ivi container demoNaoto Yamaguchi9-2/+88
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
2021-11-16Change cluster display from HDMI-A-1 to HDMI-A-2 in r-car gen3 with kfNaoto Yamaguchi1-0/+2
AGL IC integration use two display, one of the ivi, one of the cluster in R-Car H3/M3 with Kingfisher environment. This patch change cluster display from HDMI-A-1 to HDMI-A-2 only a R-Car H3/M3 with Kingfisher environment. Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp> Change-Id: Idf1db5daba668e62a05bc7795da2e9d4a3e7e7cf
2021-11-16Fix recipe style error at momiplay recipeNaoto Yamaguchi1-12/+24
The bitbake recipe has style guide at https://www.openembedded.org/wiki/Styleguide Existing momiplay recipe does not fit this style guide. This patch fix this issue. Bug-AGL: SPEC-4094 Change-Id: Icb28faa991c8dd66807fcaadac77318c66dd77aa Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>
2021-11-16Fix recipe style error at mominavi recipeNaoto Yamaguchi1-20/+31
The bitbake recipe has style guide at https://www.openembedded.org/wiki/Styleguide Existing mominavi recipe does not fit this style guide. This patch fix this issue. Bug-AGL: SPEC-4095 Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp> Change-Id: I150ab671248be800c1d955c5e47a1792510ea4c7
2021-11-16Add automatically App Key setting methodNaoto Yamaguchi1-0/+9
When we want to use mapbox map drawing that use in mominavi, we have to set App Key. This App Key need to get oneself from mapbox developer site. This patch add automatically App Key setting method. How to do. at local.conf/site.conf MOMIMAP_MAPBOX_ACCESS_TOKEN = "mapbox App Key" Bug-AGL: SPEC-4095 Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp> Change-Id: Iaa87798b8794dd5bf409df2f3bf3a585fec506d8
2021-11-16Fix boot up issue for guest appsNaoto Yamaguchi4-4/+6
The mominavi and momiplay have boot up issue such as service dependency and environment variable. This patch fix this issue. Bug-AGL: SPEC-4099 Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp> Change-Id: Ia276c40e47a010bc2f93482aa0be5ce7416642d8
2021-11-16Importing the mediaplayer demo appNaoto Yamaguchi3-0/+54
The momiplay is a mediaplayer example based on AGL sample app at CC release. Existing agl-appfw is difficult to integrate into linux container guest, because agl-appfw strongly depend SMACK label in host. The mominavi is not require agl-appfw. It's temporally solution for MM release. This patch import momiplay to create ivi guest for demo. Bug-AGL: SPEC-4094 Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp> Change-Id: Ic0213f50ba570db56282d07b3f4f775664f05f78
2021-11-16Importing the navigation demo appNaoto Yamaguchi3-0/+54
The mominavi is a navigation example based on mapbox. It's based on aglqtnavigation, that initial version of existing AGL demo navigation app. Existing agl-appfw is difficult to integrate into linux container guest, because agl-appfw strongly depend SMACK label in host. The mominavi is not require agl-appfw. It's temporally solution for MM release. This patch import mominavi to create ivi guest for demo. Bug-AGL: SPEC-4095 Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp> Change-Id: Ia84a291b6f9f50075a3dfe5e5dc2c6ff5bca4672
2021-11-13Create simple layout manager recipeNaoto Yamaguchi3-0/+103
The ivi guest for demo use wayland-ivi-extension. That need to window manager. This patch add tiny window manager for demo. Bug-AGL: SPEC-4097 Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp> Change-Id: I8392db39a7e2de5d8c61d511421afea9586d7922
2021-11-12Fix url and recipe style error in wayland-ivi-extension recipeNaoto Yamaguchi1-18/+16
The recipe of wayland-ivi-extension has some issue. 1. GENIVI was rebrands as COVESA. As a resule, Github organization name change to COVESA from GENIVI. 2. Original recipe has some error for recipe style. 3. Using http protocol at downloading. This patch fix these issue. Bug-AGL: SPEC-4096 Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp> Change-Id: Ic961ddecf7f2f30a024a4caef0c444391e493224
2021-11-12Add patch to fix weston crash in no input device sceneNaoto Yamaguchi2-1/+57
The weston with ivi-extention crash in no input device scene. This patch add staging patch to wayland-ivi-extention to fix this issue. Bug-AGL: SPEC-4096 Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp> Change-Id: I8d3e6627c073213b2fe20df634889a19a730a4d5
2021-11-10Import wayland-ivi-extensionNaoto Yamaguchi4-0/+120
The ivi guest for demo require wayland-ivi-extension on weston. Current AGL is already removed it. This patch import wayland-ivi-extension for weston-8 from meta-arago. git://arago-project.org/git/meta-arago.git Bug-AGL: SPEC-4096 Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp> Change-Id: Ib2c47e603334ae4ab590fdf48b8723956f73022b
2021-11-10Fix: weston is not running after BSP 5.5 merged in cluster-demoNaoto Yamaguchi6-4/+79
weston is not running after BSP 5.5 merged. This patch create new weston-init for gest usage. Bug-AGL: SPEC-4131 Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp> Change-Id: I9b6edc1c45aad0f985a307f3ffb0fe6a47195dd5
2021-11-10Divide firmware from gles-user-moduleNaoto Yamaguchi2-0/+22
The powervr firmware is including in gles-user-module in R-Car Gen3. Typical container integration, gles-user-module only to installing in guest, powervr kernel module only to installing in host. In this case, powerver firemware is only to installing in guest, but it is required by powervr kernel module. This patch divide powervr firmware from gles-user-module, creating new package gles-user-module-firmware. In addition, this patch add runtime dependency of that firmware package to powervr kernel module. Bug-AGL: SPEC-4130 Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp> Change-Id: Ie8751bd618d076c9617870c367dacb3a9fdf1e7b
2021-11-09Fix the lxc-host-image-demo build error with R-Car BSP 5.5Naoto Yamaguchi1-0/+4
The lxc-host-image-demo can't build after BSP 5.5 merged. Error message as a follow: ERROR: Nothing PROVIDES 'linux-renesas' (but mc:agl-container-guest: /../gstreamer1.0-plugins-bad_1.16.3.bb DEPENDS on or otherwise requires it) linux-renesas was skipped: Set PREFERRED_PROVIDER_virtual/kernel to linux-renesas to enable it Missing or unbuildable dependency chain was: ['cluster-refgui', 'qtmultimedia', 'gstreamer1.0-plugins-bad', 'linux-renesas'] ERROR: Required build target 'guest-image-cluster-demo' has no buildable providers. Missing or unbuildable dependency chain was: ['guest-image-cluster-demo', 'cluster-refgui', 'qtmultimedia', 'gstreamer1.0-plugins-bad', 'linux-renesas'] This patch fix this build error. Bug-AGL: SPEC-4129 Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp> Change-Id: I0284a70aa38f855eb21e83e8c91e2df5a36cd7ef
2021-11-01Fix cmake issue for libclusterapi and libclusteripc.Naoto Yamaguchi2-10/+2
Previously, libclusterapi and libclusteripc require to HACK in cross building time. This issue was fixed by Hiroyuki Ishii at https://gerrit.automotivelinux.org/gerrit/c/src/libcluster-ipc/+/26744 https://gerrit.automotivelinux.org/gerrit/c/src/libcluster-api/+/26745 This patch update revision to fixing point. Bug-AGL: SPEC-4092 Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp> Change-Id: I317db0612243c87530388eabf54e4fdd9c6abca0
2021-11-01Fix multiple container installation failingNaoto Yamaguchi1-1/+1
When new container image add into lxc-host-image-demo, existing image will not build. In case of: CONTAINER_IMAGES ?= "agl-container-cluster:guest-image-cluster-demo \ agl-container-ivi:guest-image-ivi-demo \ " agl-container-ivi:guest-image-ivi-demo will be building, but agl-container-cluster:guest-image-cluster-demo will not be building. This patch fix issue for the build dependency creation to guests. Bug-AGL: SPEC-4109 Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp> Change-Id: I2ed6f91f0d4db90f337a6148d6630f85c1b5c97d
2021-11-01Fix multiple container installation issueNaoto Yamaguchi1-1/+1
When I build lxc-host-image-demo, that out error message; Nothing RPROVIDES 'lxc-config-cluster-demolxc-config-ivi-demo' (but ~/meta-agl-devel/meta-agl-lxc/recipes-platform/images/ lxc-host-image-demo.bb RDEPENDS on or otherwise requires it) The 'lxc-config-cluster-demolxc-config-ivi-demo' is must describe to 'lxc-config-cluster-demo lxc-config-ivi-demo', that need space between image name and image name. This patch fix this issue. Bug-AGL: SPEC-4109 Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp> Change-Id: I3e3f057264c0e05872a1f04f9bf5c72af54115e1
2021-11-01Create AGL Instrument Cluster core package groupNaoto Yamaguchi2-0/+20
AGL Instrument Cluster has common api library and framework. This patch create package group for instrument cluster core packages. Bug-AGL: SPEC-4092 Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp> Change-Id: Id9ec55dfc22cc7135f0973ef8a3421f8a614383d
2021-11-01Import cluster api and ipc library recipe from EG repoNaoto Yamaguchi2-0/+38
The cluster api and ipc library was contributed by Nippon Seiki at SPEC-3952. Original recipe of these was created by Tetsuro Komatsu from Panasonic. https://github.com/agl-ic-eg/meta-agl/commit/476497689794ec37d5cbfd1f1797dfa060b0bd9b This patch import these recipe from experimental repository. Bug-AGL: SPEC-4092 Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp> Change-Id: I25cb9773753e18621d2ee0e44f54ab9e9f1b4aaf
2021-10-26Fix some issue for the cluster-refgui recipeNaoto Yamaguchi3-6/+6
Cluster refgui upstreamd at SPEC-3942. But recipe was not changed. Current refgui recipe has some issue. * Referring to github repository now. * Not changed recipe name from refgui to cluster-refgui. * License description is old, that is already changed from MIT to Apach-2.0. This patch fix these issue. Bug-AGL: SPEC-4090 Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp> Change-Id: I2742caf36ed50a2dbf41274d172a11be33708841
2021-10-26meta-agl-lxc: Support rcar3 kernel module headers in guestsScott Murray7-0/+63
Add a bbclass that can be used to disable compilation in module.bbclass based recipes, and dynamically activated bbappends for the rcar3 kernel module recipes that use it and guest-build-specific do_install overrides to get the userspace API headers installed transparently to the userspace recipes. This avoids the complications that would arise from using a full linux-renesas kernel build for guest container images. Bug-AGL: SPEC-4089 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I917e66ca024a2a507e615ba3a2a58c603a691142
2021-08-20Convert to new override syntaxScott Murray14-36/+36
This is mostly the result of running a slightly customized version of the convert-overrides.py script from poky with additional overrides added. A few minor fixups were done by hand afterwards during a review of the changes. The intent of these changes is to minimize the effort to keep the "next" branch that builds against poky master up to date and tested in preparation for the switch to the next Yocto LTS release in early 2022. Bug-AGL: SPEC-4052 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I0bbae97331abee1367b368ce54ab39e3162a12ec
2021-07-30lxc-host-image-minimal: Handle Kingfisher image namesScott Murray1-1/+4
To handle the Kingfisher supporting ULCB builds modifying the IMAGE_LINK_NAME variable, add a MACHINE_SUFFIX variable that is defined based on a new "kingfisher" feature being present in AGL_FEATURES. Since so far only one platform has this issue, this simple approach seems better than attempting to derive the suffix from IMAGE_LINK_NAME using anonymous Python. Bug-AGL: SPEC-4023 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Ida769fbeb57208934f738dc5d1c867ab63c40bff
2021-07-30meta-agl-lxc: integrate pipewire-ic-ipc and pull in agl-pipewireGeorge Kiagiadakis4-1/+43
pipewire-ic-ipc offers a small unix socket server that listens for the SUSPEND & RESUME requests from its clients and sets the "suspend.playback" metadata on pipewire. This allows wireplumber instances to catch changes to this metadata property and suspend or resume playback from applications appropriately. The purpose of this is to allow Instrument Cluster applications to suspend audio from other containers and play certain sounds exclusively. The server-side is implemented as a pipewire module that gets loaded in a separate pipewire process and behaves as a client to the actual pipewire daemon. It is not affected by pipewire daemon's stops & reloads, as it re-connects automatically to pipewire and synchronizes the "suspend.playback" status. The icipc-client application is an example that is not meant to be used in production. IC applications are expected to use the library directly. It is provided for testing & demo purposes. v2: - removed the client from the host image - updated the pipewire-ic-ipc git URI to point to AGL's gerrit Bug-AGL: SPEC-4027 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com> Change-Id: I9e326797ce899c2579a0d7794202091e455c6c98
2021-06-29meta-agl-lxc: Update host kernel configurationmarlin_12.90.0marlin/12.90.012.90.0Scott Murray4-8/+36
Add a generic kernel bbappend and associated conditional include file that uses the new AGL_KCONFIG_FRAGMENTS to disable all other AGL provided kernel configuration, replacing it with a local fragment to enable minimal required features for LXC support. The previous linux-renesas bbappend to leverage the meta-virtualization provided kernel configuration has been removed, and the agl-lxc template has been updated to drop the "virtualization" distro feature (thus disabling all meta-virtualization additions). Bug-AGL: SPEC-3983 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Iea91c3e273fe01d764adb644efc212f92e4a92fe
2021-06-29meta-agl-lxc: Fix lack of gles modules in demo imageHiroyuki Ishii1-0/+2
With current integration of lxc-host-image-demo for rcar-gen3, weston fails to start due to lack of gles modules so that demo application doesn't come up. This change fixes it with adding kernel-module-gles into lxc-host-image-demo image, only for rcar-gen3 boards as of this moment (since lxc-host-image-demo is maintained only for h3/m3 ulcb boards currently). Signed-off-by: Hiroyuki Ishii <ishii.hiroyuki002@jp.panasonic.com> Change-Id: I7874b125e6937c43bc706f63c971cb33d1a47a6c
2021-06-24meta-agl-lxc: add packagegroup-core-tools-profile bbappendScott Murray1-0/+8
Add a bbappend for packagegroup-core-tools-profile to disable the LTTng related tools and perf when building for container guests to avoid issues with kernel source dependencies. Bug-AGL: SPEC-3983 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I394495bcc36505103066c62dd075edd1c5c360b0
2021-06-14meta-agl-lxc: add initial rcar3 supportScott Murray5-1/+27
Note that these changes do allow building and booting the lxc-host-image-demo image, and the cluster-demo container does get autostarted, but currently Weston fails to start in the container. Changes: - Add a meta-rcar-gen3 dynamic layer with some bbappends to disable problematic kernel module dependencies when building for the container guest configuration. The ones used are based on the ones in the IC EG container-bsp github repo, but fewer are needed due to the use of linux-dummy, and the changes are done via aglcontainerguest overrides. - Add linux-renesas bbappend that disables the problematic default addition of virtio.scc to KERNEL_FEATURES done in the meta-virtualization layer, which currently is dependent on the file coming from the linux-yocto kernel metadata, which is not the case with linux-renesas. Upstream have been engaged on this being a problem, so this may not be required in the future. - Add lxc.scc to KERNEL_FEATURES in linux-renesas bbappend to leverage the .cfg from meta-virtualization. - Borrow a couple of tweaks from the IC EG container-bsp github repo to disable firmware and disable the serial consoles in the container guest build. Bug-AGL: SPEC-3953 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I30fe6a940c5c44ee2ad71410a97a4495829c0b45
2021-06-07Add meta-agl-lxcScott Murray20-0/+355
Add meta-agl-lxc layer with LXC container integration recipes, and "agl-lxc" feature to enable its use. The changes are based on the previous prototypes by Tadao Tanikawa and the updates done for the trial integration layers on the agl-ic-eg github by Naoto Yamaguchi, Hiroyuki Ishii, and Jan-Simon Moeller. The layer can be used by running aglsetup.sh with just the "agl-lxc" feature, then building lxc-host-image-demo with bitbake. Notes: - The agl-lxc feature enables a "agl-container-guest" multiconfig configuration for building the guest image(s). This suffices for demonstrating integrated builds with multiconfig, but may change in the future with extension of aglsetup.sh to add more flexibility. - There are guest-image-minimal and guest-image-cluster-demo recipes that are intended as a base container template and a demo of its use. The cluster-demo image contains the demo cluster reference UI application, and is roughly equivalent to what is named cluster-guest in the agl-ic-eg trial integration configuration. - There are likewise lxc-host-image-minimal and lxc-host-image-demo images. The host demo is configured to pull in the cluster-demo guest image, and configuration has been added such that it will automatically boot and start the cluster reference UI application. - Unlike previous work where the guest container image is added to the host image via a recipe that packages up the guest image's contents, a more direct scheme is used where the guest image is unpacked inside the host image rootfs via the use of the ROOTFS_POSTPROCESS_COMMAND mechanism. This avoids some hassles around potentially mismatched user and group id lists in the host and guest images, with the additional benefit of being faster. However, using this scheme is to some degree only necessary due to the use of LXC with unpacked guest image hierarchies. With other container tooling that uses e.g. OCI images, a revert to using packages may be preferable. - The reusable logic in the lxc-host-image-minimal recipe makes some assumptions wrt naming. They are: - guest image names have the format guest-image-<name> - guest images have a corresponding LXC configuration file recipe with the name lxc-config-<name> The intent is to simplify reuse of the base minimal recipes, but this can be reworked if deemed too restrictive. - packagegroups for e.g. pipewire and weston have purposefully not been defined at this time. It seems better to wait until it is more obvious how useful they would be. Limitations: - The host image is currently rebuilt every time to work around an issue with multiconfig dependencies that is being investigated upstream. This can hopefully be removed in the near future. - The demo images are currently in meta-agl-lxc for convenience. It may make more sense for them to reside in another location to ease shifting some things into meta-agl. - At the moment, only qemux86-64 has been tested. The changes to enable host and guest configuration tweaks for the rcar3 BSP need further investigation and discussion on where they should be maintained. Bug-AGL: SPEC-3953, SPEC-3955 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I69d41f1d1c736f05cf3b4997dbda147879e2e25d