Updating AGL Layer documentation 75/28575/4
authorVinod Ahuja <vahuja@unomaha.edu>
Thu, 16 Mar 2023 23:18:55 +0000 (18:18 -0500)
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>
Thu, 23 Mar 2023 14:26:48 +0000 (14:26 +0000)
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>
docs/04_Developer_Guides/02_AGL_Layers/02_meta_agl.md
docs/04_Developer_Guides/02_AGL_Layers/03_meta_agl_demo.md
docs/04_Developer_Guides/02_AGL_Layers/04_meta_agl_devel.md
docs/04_Developer_Guides/02_AGL_Layers/05_conf_notes.md [new file with mode: 0644]

index b8813a1..0f5d57e 100644 (file)
@@ -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>
index dbfe374..f610a16 100644 (file)
@@ -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/master/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: "master"
 
+## 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>
index d662ed5..79ec58a 100644 (file)
@@ -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
\94\9c── templates
\94\94── 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 (file)
index 0000000..c0595bc
--- /dev/null
@@ -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>