summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVinod Ahuja <vahuja@unomaha.edu>2023-03-16 18:18:55 -0500
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2023-03-23 14:28:17 +0000
commitf0b23d2cb866ec069e25914eb942c16ea1815a60 (patch)
treeb4f9985f61304fdf318ad1243841a565b37d7504
parent43d72f831b7e61f8c5e010cc1ef416685e07d165 (diff)
Updating AGL Layer documentation
As per the guidance on Jira Ticket 3247 I have updated the AGL layer documentation. Bug-AGL: [SPEC-3247] Signed-off-by: Vinod Ahuja <vahuja@unomaha.edu> Change-Id: Ibc97a5841b128da7dac7be314474dfb57ae7acd0 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/documentation/+/28575 Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> (cherry picked from commit 4cc7f73109602bfe4fe05397a73afa585d3cc92d) Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/documentation/+/28495
-rw-r--r--docs/04_Developer_Guides/02_AGL_Layers/02_meta_agl.md120
-rw-r--r--docs/04_Developer_Guides/02_AGL_Layers/03_meta_agl_demo.md53
-rw-r--r--docs/04_Developer_Guides/02_AGL_Layers/04_meta_agl_devel.md136
-rw-r--r--docs/04_Developer_Guides/02_AGL_Layers/05_conf_notes.md43
4 files changed, 136 insertions, 216 deletions
diff --git a/docs/04_Developer_Guides/02_AGL_Layers/02_meta_agl.md b/docs/04_Developer_Guides/02_AGL_Layers/02_meta_agl.md
index b8813a1..0f5d57e 100644
--- a/docs/04_Developer_Guides/02_AGL_Layers/02_meta_agl.md
+++ b/docs/04_Developer_Guides/02_AGL_Layers/02_meta_agl.md
@@ -22,23 +22,21 @@ Following is a "tree" look at the layer:
```
.
+├── LICENSE
+├── LICENSE.GPL-2.0-only
+├── LICENSE.MIT
+├── README-AGL.md
+├── README.md -> meta-agl.md
+├── agl-layers-overview.md
├── docs
-├── meta-agl
├── meta-agl-bsp
-├── meta-agl-distro
-├── meta-agl-profile-cluster
-├── meta-agl-profile-cluster-qt5
-├── meta-agl-profile-core
-├── meta-agl-profile-graphical
-├── meta-agl-profile-graphical-html5
-├── meta-agl-profile-graphical-qt5
-├── meta-agl-profile-hud
-├── meta-agl-profile-telematics
-├── meta-app-framework
+├── meta-agl-core
+├── meta-agl-core-test
+├── meta-agl-ic
+├── meta-agl-ivi
+├── meta-agl.md
├── meta-netboot
-├── meta-security
-├── README-AGL.md
-├── README.md
+├── meta-pipewire
├── scripts
├── templates
```
@@ -46,34 +44,20 @@ Following is a "tree" look at the layer:
This list provides some overview information on the files and sub-layers
in `meta-agl`:
+* LICENSE* : licenses of the various components.
+* README* : RTFM
+* agl-layers-overview.md: references to the various layers that make up AGL
* `docs`: Contains files that support AGL documentation.
-* `meta-agl`: Contains layer configuration for the `meta-agl` layer.
* `meta-agl-bsp`: Contains adaptations for recipes and required packages
to boot an AGL distribution on targeted hardware and emulation (i.e. QEMU).
-* `meta-agl-distro`: Contains distro configuration and supporting scripts.
-* `meta-agl-profile-cluster`: The middleware for the AGL cluster profile.
- The set of packages required for AGL Cluster Distribution.
- Profiles include support for Wayland images.
-* `meta-agl-profile-cluster-qt5`: The middleware for the AGL Qt5-based cluster profile.
- The set of packages required for AGL Qt5-based Cluster Distribution.
- Profiles include support for Wayland images with Qt5.
-* `meta-agl-profile-core`: Configuration and recipes for the AGL core profiles.
-* `meta-agl-profile-graphical`: Configuration and recipes supporting graphical user
- interfaces.
-* `meta-agl-profile-graphical-html5`: Configuration and recipes supporting profiles
- with HTML user interface support.
-* `meta-agl-profile-graphical-qt5`: Configuration and recipes supporting profiles
- with Qt5-based user interface support.
-* `meta-agl-profile-hud`: Configuration and recipes supporting profiles with
- Head-Up-Display (HUD) support.
-* `meta-agl-profile-telematics`: Configuration and recipes supporting profiles with
- telematics support.
-* `meta-app-framework`: Configuration and recipes supporting the AGL Application
- Framework.
+* `meta-agl-core`: This is the core layer with essential recipes and the distro.
+* `meta-agl-core-test`: recipes supporting qa images (separate layer due to external dependencies)
+* `meta-agl-ic`: Instrument Cluster platform
+* `meta-agl-ivi`: IVI platform
* `meta-netboot`: Contains recipes and configuration adjustments to allow network
boot through network block device (NBD) since network file system (NFS) does not
support security labels.
-* `meta-security`: Configuration and recipes supporting security applications.
+* `meta-pipewire`: Configuration and recipes supporting pipewire as audio manager
* `scripts`: AGL development setup and support scripts.
* `templates`: Base, feature, and machine templates used in the AGL development
environment.
@@ -84,40 +68,46 @@ This section describes the AGL
[packagegroup](https://docs.yoctoproject.org/dev-manual/common-tasks.html#customizing-images-using-custom-package-groups)
design:
-* packagegroup-agl-image-minimal
+### core non-ui packagegroups
+* meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-connectivity.bb
+* meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-devel.bb
+* meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-security.bb
+* meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-os-commonlibs.bb
+
+### graphical subsystem
+* meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-profile-graphical.bb
+* meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-graphical-multimedia.bb
+* meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-graphical-weston.bb
+
+### image-related packagegroups
+* meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-boot.bb
+* meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-image-boot.bb
+* meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-image-minimal.bb
+
+### QA/Test related packagegroups
+* meta-agl-core-test/recipes-test/packagegroups
+* meta-agl-core-test/recipes-test/packagegroups/packagegroup-agl-test.bb
+
+## Images
+
+### (Barely) bootable image
+* meta-agl-core/recipes-platform/images/agl-image-boot.bb
- packagegroup-agl-core-automotive.bb
- packagegroup-agl-core-connectivity.bb
- packagegroup-agl-core-graphics.bb
- packagegroup-agl-core-kernel.bb
- packagegroup-agl-core-multimedia.bb
- packagegroup-agl-core-navi-lbs.bb
- packagegroup-agl-core-os-commonlibs.bb
- packagegroup-agl-core-security.bb
- packagegroup-agl-core-speech-services.bb
+### minimal image and SDK (console)
+* meta-agl-core/recipes-platform/images/agl-image-minimal.bb
+* meta-agl-core/recipes-platform/images/agl-image-minimal-crosssdk.bb
- The previous list of Packagegroups are used to create the `agl-image-minimal` image,
- which is a small image just capable of allowing a device to boot.
+### weston-based image for re-use
+* meta-agl-core/recipes-platform/images/agl-image-weston.bb
- Subsystem should maintain packagegroup-agl-core-[subsystem].bb which should
- hold sufficient packages to build `agl-image-minimal`.
+### image for use in the YP autobuilder
+* meta-agl-core/recipes-platform/images/agl-image-core-autobuilder.bb
-* packagegroup-agl-image-ivi
+### image with extra QA tooling (e.g. to run LTP)
+* meta-agl-core-test/images/agl-image-minimal-qa.bb
- packagegroup-agl-ivi-automotive.bb
- packagegroup-agl-ivi-connectivity.bb
- packagegroup-agl-ivi-graphics.bb
- packagegroup-agl-ivi-kernel.bb
- packagegroup-agl-ivi-multimedia.bb
- packagegroup-agl-ivi-navi-lbs.bb
- packagegroup-agl-ivi-os-commonlibs.bb
- packagegroup-agl-ivi-security.bb
- packagegroup-agl-ivi-speech-services.bb
- The previous list of Packagegroups are used to create the `agl-image-ivi`
- image, which is a baseline image (i.e. Service Layer and Operating System
- Layer defined in AGL Spec v1.0) for the AGL profiles.
-* packagegroup-agl-test.bb
+**Note:** For update details on this page please refer
- Additional tools used in QA tests (for agl-image*-qa).
+<https://git.automotivelinux.org/AGL/meta-agl/tree/meta-agl.md>
diff --git a/docs/04_Developer_Guides/02_AGL_Layers/03_meta_agl_demo.md b/docs/04_Developer_Guides/02_AGL_Layers/03_meta_agl_demo.md
index 446c347..8d5fc39 100644
--- a/docs/04_Developer_Guides/02_AGL_Layers/03_meta_agl_demo.md
+++ b/docs/04_Developer_Guides/02_AGL_Layers/03_meta_agl_demo.md
@@ -22,7 +22,7 @@ The `meta-agl-demo` layer has the following base dependencies:
- Yocto Project Release:
- URI: git://git.yoctoproject.org/poky
- - Branch: "thud"
+ - Branch: "kirkstone"
- Tested Revision: See the
[`default.xml`](https://github.com/leon-anavi/AGL-repo/blob/octopus/default.xml)
manifest file for the `AGL-repo` repository for revision information.
@@ -50,7 +50,7 @@ The `meta-agl-demo` layer has the following base dependencies:
[OpenEmbedded Layer Index](https://layers.openembedded.org/layerindex/branch/master/layers/):
- URI: https://github.com/meta-qt5/meta-qt5.git
- - Branch: "thud"
+ - Branch: "kirkstone"
- Tested Revision: See the
[`default.xml`](https://github.com/leon-anavi/AGL-repo/blob/master/default.xml)
manifest file for the `AGL-repo` repository for revision information.
@@ -87,17 +87,17 @@ dependencies:
- Here Technologies' `meta-updater` Layer:
- URI: https://github.com/advancedtelematic/meta-updater/
- - Branch: "thud"
+ - Branch: "kirkstone"
- Here Technologies' `meta-updater-qemux86-64` Layer:
- URI: https://github.com/advancedtelematic/meta-updater-qemux86-64/
- - Branch: "thud"
+ - Branch: "kirkstone"
- OpenEmbedded's `meta-openembedded` Layer:
- URI: https://github.com/openembedded/meta-openembedded
- - Branch: "thud"
+ - Branch: "kirkstone"
- Tested Revision: See the
[`default.xml`](https://github.com/leon-anavi/AGL-repo/blob/master/default.xml)
manifest file for the `AGL-repo` repository for revision information.
@@ -115,44 +115,19 @@ dependencies:
- URI: https://gerrit.automotivelinux.org/gerrit/gitweb?p=AGL/meta-agl.git
- Branch: "octopus"
+## Maintenance
-## Packagegroups
-
-AGL DEMO Platform's [packagegroups](https://www.yoctoproject.org/docs/3.1.4/dev-manual/dev-manual.html#usingpoky-extend-customimage-customtasks)
-consist of the following:
-
-- packagegroup-agl-demo-platform
-
- This packagegroup is used for generating the `agl-demo-platform` image,
- which is the full image for the AGL distributions IVI profile. You can see the
- recipe (i.e. `agl-demo-platform.bb`) that installs the
- `packagegroup-agl-demo-platform` packagegroup [here](https://git.automotivelinux.org/AGL/meta-agl-demo/tree/recipes-platform/images/agl-demo-platform.bb).
-
- As meta-agl's design of packagegroups, the `agl-demo-platform.bb` recipe installs
- only `packagegroup-agl-demo-platform` and the packages of the DEMO applications.
-
- ``agl-demo-platform`` contains the following three packagegroups:
-
- * `packagegroup-agl-image-minimal`
- * `packagegroup-agl-image-ivi`
- * `packagegroup-agl-demo-platform`
+All patches must be submitted via the AGL Gerrit instance at
+<https://gerrit.automotivelinux.org>. See this wiki page for
+details:
-- packagegroup-agl-appfw*
+<https://wiki.automotivelinux.org/agl-distro/contributing>
- These packagegroups contain packages for the AGL distribution's
- Application Framework. Subsystem should maintain
- `packagegroup-agl-appfw-[subsystem].bb`, which should hold sufficient packages
- for the Application Framework.
+Layer maintainers:
- Subsystems also can maintain their own packagegroups using appropriate
- `recipes-*/`.
+* Jan-Simon Möller <jsmoeller@linuxfoundation.org>
- For example, Qt5 has two packagegroups in `meta-agl-demo`:
- `packagegroup-agl-appfw-native-qt5` and `packagegroup-agl-demo-qt-examples`,
- which are under `recipes-qt/`.
- The `packagegroup-agl-appfw-native-qt5` is included by `packagegroup-agl-appfw-native` because Qt5 belongs to native application framework of AGL Distro.
+**Note:** For update details on this page please refer
- Because the `packagegroup-agl-demo-qt-examples` is not mandatory for the AGL
- Application Framework and the AGL DEMO, the packagegroup is added to the layer's
- `local.conf` file only when needed.
+<https://git.automotivelinux.org/AGL/meta-agl-demo/tree/meta-agl-demo.md>
diff --git a/docs/04_Developer_Guides/02_AGL_Layers/04_meta_agl_devel.md b/docs/04_Developer_Guides/02_AGL_Layers/04_meta_agl_devel.md
index d662ed5..79ec58a 100644
--- a/docs/04_Developer_Guides/02_AGL_Layers/04_meta_agl_devel.md
+++ b/docs/04_Developer_Guides/02_AGL_Layers/04_meta_agl_devel.md
@@ -15,129 +15,41 @@ The `meta-agl-devel` layer contains the following files and sub-layers:
```
.
-├── meta-agl-telemetry
-├── meta-audio-4a-framework
-├── meta-audio-soundmanager-framework
-├── meta-egvirt
-├── meta-gstrecorder-rcar-gen3
-├── meta-hmi-framework
-├── meta-oem-extra-libs
+├── docs
+├── LICENSE
+├── LICENSE.GPL-2.0-only
+├── LICENSE.MIT
+├── meta-agl-devel.md
+├── meta-agl-jailhouse
+├── meta-agl-lxc
+├── meta-agl-ros2
+├── meta-oem-production-readiness
+├── meta-speech-framework
├── README.md
-├── templates
+└── templates
```
The following list provides a summary of these sub-layers:
-* `meta-agl-telemetry`: Provides the smallest AGL image.
- The image is designed to be used when a device requires restricted
- scope of responsibilites (e.g. collecting vehicle telemetry).
+* `meta-speech-framework`: Provides libraries and software packages needed by
+ for speech recognition.
-* `meta-audio-4a-framework`: A collection of recipes used for the
- first integration of 4A (i.e. Advanced AGL Audio Architecture).
+* `meta-agl-jailhouse`: Provides Jailhouse partitioning hypervisor and
+ supporting packages.
-* `meta-pipewire`: A collection of recipes used for the integration
- of the pipewire sound system.
+* `meta-agl-lxc`: Provides LXC container support and example images.
-* `meta-audio-soundmanager-framework`: Supports the Soundmanager
- Audio Framework features, which maps to the `agl-audio-soundmanager-framework`
- AGL feature.
+* `meta-agl-ros2`: Provides ROS2 and additional YDLIDAR support.
-* `meta-egvirt`: The AGL Virtualization Expert Group (EG-VIRT) layer.
- This layer supports the design, test, implementation, and assessment
- of virtualization technologies (e.g. containers, hypervisors, system
- partitioners, and so forth) aimed at AGL ARMv8 and Intel platforms.
+* `meta-oem-production-readiness`: Provides libraries and software packages of
+ IVI product readiness
-* `meta-gstrecorder-rcar-gen3`: Supports streaming audio and video for
- the Pro and Premier board kits (e.g.
- [Renesas R-Car Starter Kit Pro Board](https://www.elinux.org/R-Car/Boards/M3SK)
- and
- [Renesas R-Car Starter Kit Premier Board](https://www.elinux.org/R-Car/Boards/H3SK)).
+* `meta-agl-flutter`: Provides Flutter support.
-* `meta-hmi-framework`: Provides AGL's Human Machine Interface (HMI) framework
- through resource management consisting of sounds, windows, and input control.
- For more information, see the
- [HMI-Framework Page](https://wiki.automotivelinux.org/hmiframework) of the
- AGL Wiki.
+* `templates`: Feature templates that support the `meta-agl-devel` layer.
-* `meta-oem-extra-libs`: Provides libraries and software packages needed by
- OEMs but not provided by the AGL software.
-* `templates`: Feature templates that support the `meta-agl-devel` layer.
-## Additional Sub-Layer Information
-
-This section provides additional information for the `meta-egvirt`,
-`meta-oem-extra-libs`, and `meta-hmi-framework` layers.
-
-### Virtualization Support
-
-The `meta-egvirt` layer enables virtualization support in AGL.
-The AGL Virtualization Expert (EG-VIRT) group is responsible
-for design and implementation of AGL virtualization solutions
-(.e.g the Virtualization platform architecture of AGL).
-You can read about EG-VERT's efforts on the
-"[Virtualization Expert Group's](https://wiki.automotivelinux.org/eg-virt)"
-page of the AGL wiki.
-
-Additionally, you can learn more about virtualization as it applies to AGL
-by reading
-"[The Automotive Grade Linux Software Defined Connected Car Architecture](https://www.automotivelinux.org/wp-content/uploads/sites/4/2018/06/agl_software_defined_car_jun18.pdf)"
-whitepaper.
-
-### OEM Extra Libraries
-
-The `meta-oem-extra-libs` layer provides additional software packages many OEMs need
-but are not part of the AGL source.
-Following is the list of packages this layer provides:
-
- * boost
- * fixesproto
- * imagemagick
- * iptables
- * Xorg-macros
- * zlib
- * eglibc = glibc
- * libcurl
- * libgif
- * libneon
- * mongoose
- * fuse
- * protocol buffers
- * bsdiff
- * module-init-tools
- * libcroco
- * libtiff
- * librsvg
- * libpcap
-
-To add these packages to your library, you need to include the
-`agl-oem-extra-libs` AGL feature when you initialize your build
-environment using the `aglsetup.sh` script.
-
-For information on how to use the `aglsetup.sh` script to initialize
-your build environment, see the
-"[Initializing Your Build Environment](../../01_Getting_Started/02_Building_AGL_Image/04_Initializing_Your_Build_Environment.md)"
-section.
-
-Once you have included the AGL feature, you can build your image.
-
-### HMI Framework
-
-The `meta-hmi-framework` layer supports the Human-Machine Interface (HMI) Framework.
-The HMI-Framework is the User Interface (UI) to control the Infotainment System.
-Work continues to close the gap between the user experience of a smart phone
-and the Infotainment System in a vehicle, for example.
-
-You can find more out about HMI Framework progress on the
-"[HMI Framework](https://wiki.automotivelinux.org/hmiframework)" page on the AGL Wiki.
-
-To add HMI Framework support to your image, you need to include the
-`hmi-framework` AGL feature when you initialize your build
-environment using the `aglsetup.sh` script.
-
-For information on how to use the `aglsetup.sh` script to initialize
-your build environment, see the
-"[Initializing Your Build Environment](../../01_Getting_Started/02_Building_AGL_Image/04_Initializing_Your_Build_Environment.md)"
-section.
-
-Once you have included the AGL feature, you can build your image.
+**Note:** For update details on this page please refer
+
+<https://git.automotivelinux.org/AGL/meta-agl-devel/tree/meta-agl-devel.md>
diff --git a/docs/04_Developer_Guides/02_AGL_Layers/05_conf_notes.md b/docs/04_Developer_Guides/02_AGL_Layers/05_conf_notes.md
new file mode 100644
index 0000000..c0595bc
--- /dev/null
+++ b/docs/04_Developer_Guides/02_AGL_Layers/05_conf_notes.md
@@ -0,0 +1,43 @@
+---
+title: config-notes
+---
+
+Common targets are:
+- meta-agl layer:
+ - included by default
+ * agl-image-boot (just enough to boot)
+ * agl-image-minimal (minimal filesystem with APIs)
+ * agl-image-minimal-crosssdk (crosssdk for ^^)
+
+ * agl-image-weston (minimal filesystem with weston)
+
+- meta-agl-demo: (IVI demo with UI)
+ - with 'agl-demo'
+ * agl-image-ivi (base for IVI targets)
+ * agl-image-ivi-crosssdk (sdk for ^^)
+
+ * agl-image-graphical-qt5 (weston plus qt5 framework libs)
+ * agl-image-graphical-qt5-crosssdk (sdk for ^^)
+
+ * agl-image-graphical-html5 (weston plus chromium for html5)
+
+ * agl-image-cluster (minimal image with APIs for cluster)
+ * agl-image-cluster-qt5 (image with QT5 and APIs for cluster)
+
+ * agl-image-telematics (image with APIs for telematics)
+
+ * agl-demo-platform (* default IVI demo target *)
+ * agl-demo-platform-crosssdk (sdk for ^^)
+
+ * agl-cluster-demo-platform (cluster demo image)
+ * agl-cluster-demo-platform-crosssdk (sdk for ^^)
+ * agl-cluster-demo-qtcompositor (cluster demo using own compositor)
+
+ * agl-telematics-demo-platform (telematics demo image)
+ * agl-telematics-demo-platform-crosssdk (sdk for ^^)
+
+
+
+**Note:** For update details on this page please refer
+
+<https://git.automotivelinux.org/AGL/meta-agl/tree/templates/base/conf-notes.txt>