From 6884dcaf7cfd18d806e6d303892265ec5234f1a9 Mon Sep 17 00:00:00 2001
From: Shankho Boron Ghosh <shankhoghosh123@gmail.com>
Date: Mon, 30 Nov 2020 00:35:56 +0530
Subject: Added AGL Layers in Developer Guides

Revised and added AGL Layers as a part of Developer Guides.

Bug-AGL: [SPEC-3633]

Signed-off-by: Shankho Boron Ghosh <shankhoghosh123@gmail.com>
Change-Id: Ie66bd8bfd89d129c7fc49c20a83c331e069e4a46
Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/documentation/+/25661
Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
---
 docs/3_Developer_Guides/1_AGL_Layers/1_Overview.md |  29 ----
 docs/3_Developer_Guides/1_AGL_Layers/2_meta-agl.md | 124 ---------------
 .../1_AGL_Layers/3_meta-agl-demo.md                | 166 ---------------------
 .../1_AGL_Layers/4_meta-agl-devel.md               | 145 ------------------
 docs/3_Developer_Guides/6_AGL_Layers/1_Overview.md |  25 ++++
 docs/3_Developer_Guides/6_AGL_Layers/2_meta-agl.md | 124 +++++++++++++++
 .../6_AGL_Layers/3_meta-agl-demo.md                | 159 ++++++++++++++++++++
 .../6_AGL_Layers/4_meta-agl-devel.md               | 143 ++++++++++++++++++
 8 files changed, 451 insertions(+), 464 deletions(-)
 delete mode 100644 docs/3_Developer_Guides/1_AGL_Layers/1_Overview.md
 delete mode 100644 docs/3_Developer_Guides/1_AGL_Layers/2_meta-agl.md
 delete mode 100644 docs/3_Developer_Guides/1_AGL_Layers/3_meta-agl-demo.md
 delete mode 100644 docs/3_Developer_Guides/1_AGL_Layers/4_meta-agl-devel.md
 create mode 100644 docs/3_Developer_Guides/6_AGL_Layers/1_Overview.md
 create mode 100644 docs/3_Developer_Guides/6_AGL_Layers/2_meta-agl.md
 create mode 100644 docs/3_Developer_Guides/6_AGL_Layers/3_meta-agl-demo.md
 create mode 100644 docs/3_Developer_Guides/6_AGL_Layers/4_meta-agl-devel.md

diff --git a/docs/3_Developer_Guides/1_AGL_Layers/1_Overview.md b/docs/3_Developer_Guides/1_AGL_Layers/1_Overview.md
deleted file mode 100644
index 5df8217..0000000
--- a/docs/3_Developer_Guides/1_AGL_Layers/1_Overview.md
+++ /dev/null
@@ -1,29 +0,0 @@
----
-title: Overview
----
-
-Overview
-========
-
-The
-[AGL Project](https://www.automotivelinux.org/) is an automotive-specific
-development environment that provides a Linux distribution
-[(AGL UCB](https://www.automotivelinux.org/software/unified-code-base)).
-
-AGL uses layers designed to be compatible with the
-[Yocto Project](https://www.yoctoproject.org) and the
-[OpenEmbedded Project (OE)](https://www.openembedded.org/wiki/Main_Page).
-
-This section provides information about the layers used by the AGL Project:
-
-* **`meta-agl`**: Minimal set of software needed to create an AGL distribution
-  used to boot a system.
-  AGL profiles are built on top of this minimal set of software.
-
-* **`meta-agl-demo`**: Provides a reference or demo platform and applications
-  for the AGL Distribution.
-  The reference UI is part of the `meta-agl-demo` layer.
-
-* **`meta-agl-devel`**: Contains components under development or being tested.
-  This layer also contains software packages that OEMs need but do not exist
-  in AGL.
diff --git a/docs/3_Developer_Guides/1_AGL_Layers/2_meta-agl.md b/docs/3_Developer_Guides/1_AGL_Layers/2_meta-agl.md
deleted file mode 100644
index 0a8ab83..0000000
--- a/docs/3_Developer_Guides/1_AGL_Layers/2_meta-agl.md
+++ /dev/null
@@ -1,124 +0,0 @@
----
-title: meta-agl
----
-
-## Introduction
-
-The `meta-agl` layer provides the minimal set of software
-to boot an AGL Distribution system.
-You use this layer as the minimal core on which to build AGL profiles.
-
-**NOTE:** The `meta-agl` layer does not include a reference UI.
-  The reference UI is included as part of the
-  [`meta-agl-demo`](./meta-agl-demo.html) layer.
-  Furthermore, `meta-agl` does not include additional components, such
-  as security, which are part of the
-  `meta-agl-extra` layer.
-
-## Sub-Layers
-
-The `meta-agl` layer itself contains many sub-layers and files.
-Following is a "tree" look at the layer:
-
-```
-.
-├── 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-netboot
-├── meta-security
-├── README-AGL.md
-├── README.md
-├── scripts
-├── templates
-```
-
-This list provides some overview information on the files and sub-layers
-in `meta-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-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.
-* `scripts`: AGL development setup and support scripts.
-* `templates`: Base, feature, and machine templates used in the AGL development
-  environment.
-
-## Packagegroups
-
-This section describes the AGL
-[packagegroup](https://yoctoproject.org/docs/ 3.1.2/dev-manual/dev-manual.html#usingpoky-extend-customimage-customtasks)
-design:
-
-* packagegroup-agl-image-minimal
-
-        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
-
-  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.
-
-  Subsystem should maintain packagegroup-agl-core-[subsystem].bb which should
-  hold sufficient packages to build `agl-image-minimal`.
-
-* packagegroup-agl-image-ivi
-
-        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
-
-  Additional tools used in QA tests (for agl-image*-qa).
-
diff --git a/docs/3_Developer_Guides/1_AGL_Layers/3_meta-agl-demo.md b/docs/3_Developer_Guides/1_AGL_Layers/3_meta-agl-demo.md
deleted file mode 100644
index df412ae..0000000
--- a/docs/3_Developer_Guides/1_AGL_Layers/3_meta-agl-demo.md
+++ /dev/null
@@ -1,166 +0,0 @@
----
-title: meta-agl-demo
----
-
-<!-- WARNING: This file is generated by fetch_docs.js using /home/boron/Documents/AGL/docs-webtemplate/site/_data/tocs/devguides/master/meta-agl-demo-guides-devguides-book.yml -->
-
-## Introduction
-
-The `meta-agl-demo` layer is the reference user interface layer for the DEMO
-platform of Automotive Grade Linux (AGL).
-The layer provides a reference platform and applications.
-The BitBake target name for the DEMO platform is `agl-demo-platform`, which is
-the full DEMO platform image.
-
-## Layer Dependencies
-
-This section describes dependencies for the `meta-agl-demo` layer.
-Dependencies are grouped into base, hardware, and feature dependencies.
-
-### Base Dependencies
-
-The `meta-agl-demo` layer has the following base dependencies:
-
-* Yocto Project Release:
-
-  - URI: git://git.yoctoproject.org/poky
-  - Branch: "thud"
-  - 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.<br/><br/>
-
-* AGL `meta-agl` Layer:
-
-  - URI: https://gerrit.automotivelinux.org/gerrit/AGL/meta-agl
-  - Branch: "master"<br/><br/>
-
-* OpenEmbedded `meta-openembedded` Layer:
-
-  - Branch: "thud"
-  - 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.
-
-    Specifically, out of `meta-openembedded`, these sub-layers are used:
-
-    - `meta-oe`
-    - `meta-multimedia`
-    - `meta-networking`
-    - `meta-python`<br/><br/>
-
-* Yocto Project `meta-qt5` Layer from the
-  [OpenEmbedded Layer Index](https://layers.openembedded.org/layerindex/branch/master/layers/):
-
-  - URI: https://github.com/meta-qt5/meta-qt5.git
-  - Branch:   "thud"
-  - 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.<br/><br/>
-
-### Hardware Dependencies
-
-Aside from the previously listed base dependencies, if you are using a
-[supported Renesas board](../getting_started/reference/getting-started/machines/renesas.html)
-supported Renesas board, these dependencies exist:
-
-* AGL's `meta-renesas` Layer:
-
-  - URI: https://gerrit.automotivelinux.org/gerrit/AGL/meta-renesas
-
-### Feature Dependencies
-
-The `meta-agl-demo` layer has the following AGL
-[feature](../getting_started/reference/getting-started/image-workflow-initialize-build-environment.html#agl-features)
-dependencies:
-
-* Yocto Project `meta-security` Layer:
-
-  - URI: https://git.yoctoproject.org/cgit/cgit.cgi/meta-security
-  - Branch: "master"
-  - 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.<br/><br/>
-
-* AGL's `meta-app-framework` Layer within the `meta-agl` Layer:
-
-  - URI: https://gerrit.automotivelinux.org/gerrit/gitweb?p=AGL/meta-agl.git
-  - Branch: "master"<br/><br/>
-
-**The `agl-sota` Feature:**
-
-* Here Technologies' `meta-updater` Layer:
-
-  - URI: https://github.com/advancedtelematic/meta-updater/
-  - Branch: "thud"<br/><br/>
-
-* Here Technologies' `meta-updater-qemux86-64` Layer:
-
-  - URI: https://github.com/advancedtelematic/meta-updater-qemux86-64/
-  - Branch: "thud"<br/><br/>
-
-* OpenEmbedded's `meta-openembedded` Layer:
-
-  - URI: https://github.com/openembedded/meta-openembedded
-  - Branch: "thud"
-  - 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.
-
-    Specifically, out of `meta-openembedded`, these sub-layers are used:
-
-    - `meta-filesystems`
-    - `meta-oe`
-    - `meta-python`<br/><br/>
-
-**The `agl-netboot` Feature:**
-
-* AGL's `meta-netboot` Layer within the `meta-agl` Layer:
-
-  - URI: https://gerrit.automotivelinux.org/gerrit/gitweb?p=AGL/meta-agl.git
-  - Branch: "master"
-
-
-## Packagegroups
-
-AGL DEMO Platform's
-[packagegroups](https://www.yoctoproject.org/docs/3.1.2/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`
-
-### packagegroup-agl-appfw*
-
-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.
-
-Subsystems also can maintain their own packagegroups using appropriate
-`recipes-*/`.
-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.
-
-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.
-
diff --git a/docs/3_Developer_Guides/1_AGL_Layers/4_meta-agl-devel.md b/docs/3_Developer_Guides/1_AGL_Layers/4_meta-agl-devel.md
deleted file mode 100644
index 859d958..0000000
--- a/docs/3_Developer_Guides/1_AGL_Layers/4_meta-agl-devel.md
+++ /dev/null
@@ -1,145 +0,0 @@
----
-title: meta-agl-devel
----
-
-<!-- WARNING: This file is generated by fetch_docs.js using /home/boron/Documents/AGL/docs-webtemplate/site/_data/tocs/devguides/master/meta-agl-devel-guides-devguides-book.yml -->
-
-## Introduction
-
-The `meta-agl-devel` layer contains components that are being tested or
-still in development.
-The layer also contains software packages that Original Equipment
-Manufacturers (OEMs) need but are not included in the AGL software.
-
-## Sub-Layers
-
-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
-├── README.md
-├── 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-audio-4a-framework`: A collection of recipes used for the
-  first integration of 4A (i.e. Advanced AGL Audio Architecture).
-
-* `meta-pipewire`: A collection of recipes used for the integration
-  of the pipewire sound system.
-
-* `meta-audio-soundmanager-framework`: Supports the Soundmanager
-  Audio Framework features, which maps to the `agl-audio-soundmanager-framework`
-  AGL feature.
-
-* `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-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-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.
-
-* `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](../getting_started/reference/getting-started/image-workflow-initialize-build-environment.html)"
-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](../getting_started/reference/getting-started/image-workflow-initialize-build-environment.html)"
-section.
-
-Once you have included the AGL feature, you can build your image.
diff --git a/docs/3_Developer_Guides/6_AGL_Layers/1_Overview.md b/docs/3_Developer_Guides/6_AGL_Layers/1_Overview.md
new file mode 100644
index 0000000..dec8054
--- /dev/null
+++ b/docs/3_Developer_Guides/6_AGL_Layers/1_Overview.md
@@ -0,0 +1,25 @@
+---
+title: Overview
+---
+
+The [AGL Project](https://www.automotivelinux.org/) is an automotive-specific
+development environment that provides a Linux distribution
+([AGL UCB](https://www.automotivelinux.org/software/unified-code-base)).
+
+AGL uses layers designed to be compatible with the
+[Yocto Project](https://www.yoctoproject.org) and the
+[OpenEmbedded Project (OE)](https://www.openembedded.org/wiki/Main_Page).
+
+This section provides information about the layers used by the AGL Project:
+
+* **`meta-agl`**: Minimal set of software needed to create an AGL distribution
+  used to boot a system.
+  AGL profiles are built on top of this minimal set of software.
+
+* **`meta-agl-demo`**: Provides a reference or demo platform and applications
+  for the AGL Distribution.
+  The reference UI is part of the `meta-agl-demo` layer.
+
+* **`meta-agl-devel`**: Contains components under development or being tested.
+  This layer also contains software packages that OEMs need but do not exist
+  in AGL.
diff --git a/docs/3_Developer_Guides/6_AGL_Layers/2_meta-agl.md b/docs/3_Developer_Guides/6_AGL_Layers/2_meta-agl.md
new file mode 100644
index 0000000..03134b0
--- /dev/null
+++ b/docs/3_Developer_Guides/6_AGL_Layers/2_meta-agl.md
@@ -0,0 +1,124 @@
+---
+title: meta-agl
+---
+
+## Introduction
+
+The `meta-agl` layer provides the minimal set of software
+to boot an AGL Distribution system.
+You use this layer as the minimal core on which to build AGL profiles.
+
+**NOTE:** The `meta-agl` layer does not include a reference UI.
+  The reference UI is included as part of the
+  [`meta-agl-demo`](3_meta-agl-demo.md) layer.
+  Furthermore, `meta-agl` does not include additional components, such
+  as security, which are part of the
+  `meta-agl-extra` layer.
+
+## Sub-Layers
+
+The `meta-agl` layer itself contains many sub-layers and files.
+Following is a "tree" look at the layer:
+
+```
+.
+├── 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-netboot
+├── meta-security
+├── README-AGL.md
+├── README.md
+├── scripts
+├── templates
+```
+
+This list provides some overview information on the files and sub-layers
+in `meta-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-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.
+* `scripts`: AGL development setup and support scripts.
+* `templates`: Base, feature, and machine templates used in the AGL development
+  environment.
+
+## Packagegroups
+
+This section describes the AGL
+[packagegroup](https://yoctoproject.org/docs/3.1.2/dev-manual/dev-manual.html#usingpoky-extend-customimage-customtasks)
+design:
+
+* packagegroup-agl-image-minimal
+
+        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
+
+  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.
+
+  Subsystem should maintain packagegroup-agl-core-[subsystem].bb which should
+  hold sufficient packages to build `agl-image-minimal`.
+
+* packagegroup-agl-image-ivi
+
+        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
+
+  Additional tools used in QA tests (for agl-image*-qa).
+
diff --git a/docs/3_Developer_Guides/6_AGL_Layers/3_meta-agl-demo.md b/docs/3_Developer_Guides/6_AGL_Layers/3_meta-agl-demo.md
new file mode 100644
index 0000000..a38f7ba
--- /dev/null
+++ b/docs/3_Developer_Guides/6_AGL_Layers/3_meta-agl-demo.md
@@ -0,0 +1,159 @@
+---
+title: meta-agl-demo
+---
+
+## Introduction
+
+The `meta-agl-demo` layer is the reference user interface layer for the DEMO
+platform of Automotive Grade Linux (AGL).
+The layer provides a reference platform and applications.
+The BitBake target name for the DEMO platform is `agl-demo-platform`, which is
+the full DEMO platform image.
+
+## Layer Dependencies
+
+This section describes dependencies for the `meta-agl-demo` layer.
+Dependencies are grouped into base, hardware, and feature dependencies.
+
+### Base Dependencies
+
+The `meta-agl-demo` layer has the following base dependencies:
+
+- Yocto Project Release:
+
+    - URI: git://git.yoctoproject.org/poky
+    - Branch: "thud"
+    - 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.
+
+- AGL `meta-agl` Layer:
+
+    - URI: https://gerrit.automotivelinux.org/gerrit/AGL/meta-agl
+    - Branch: "master"
+
+- OpenEmbedded `meta-openembedded` Layer:
+
+    - Branch: "thud"
+    - 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.
+
+    Specifically, out of `meta-openembedded`, these sub-layers are used:
+
+    - `meta-oe`
+    - `meta-multimedia`
+    - `meta-networking`
+    - `meta-python`
+
+- Yocto Project `meta-qt5` Layer from the
+  [OpenEmbedded Layer Index](https://layers.openembedded.org/layerindex/branch/master/layers/):
+
+    - URI: https://github.com/meta-qt5/meta-qt5.git
+    - Branch: "thud"
+    - 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.
+
+### Hardware Dependencies
+
+Aside from the previously listed base dependencies, if you are using a
+[supported Renesas board](../../0_Getting_Started/2_Building_AGL_Image/5_3_RCar_Gen_3.md)
+supported Renesas board, these dependencies exist:
+
+- AGL's `meta-renesas` Layer:
+
+    - URI: https://gerrit.automotivelinux.org/gerrit/AGL/meta-renesas
+
+### Feature Dependencies
+
+The `meta-agl-demo` layer has the following AGL [feature](../../0_Getting_Started/2_Building_AGL_Image/3_Initializing_Your_Build_Environment.md#agl-features)
+dependencies:
+
+- Yocto Project `meta-security` Layer:
+
+    - URI: https://git.yoctoproject.org/cgit/cgit.cgi/meta-security
+    - Branch: "master"
+    - 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.
+
+- AGL's `meta-app-framework` Layer within the `meta-agl` Layer:
+
+    - URI: https://gerrit.automotivelinux.org/gerrit/gitweb?p=AGL/meta-agl.git
+    - Branch: "master"
+
+**The `agl-sota` Feature:**
+
+- Here Technologies' `meta-updater` Layer:
+
+    - URI: https://github.com/advancedtelematic/meta-updater/
+    - Branch: "thud"
+
+- Here Technologies' `meta-updater-qemux86-64` Layer:
+
+    - URI: https://github.com/advancedtelematic/meta-updater-qemux86-64/
+    - Branch: "thud"
+
+- OpenEmbedded's `meta-openembedded` Layer:
+
+    - URI: https://github.com/openembedded/meta-openembedded
+    - Branch: "thud"
+    - 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.
+
+    Specifically, out of `meta-openembedded`, these sub-layers are used:
+
+    - `meta-filesystems`
+    - `meta-oe`
+    - `meta-python`
+
+**The `agl-netboot` Feature:**
+
+- AGL's `meta-netboot` Layer within the `meta-agl` Layer:
+
+    - URI: https://gerrit.automotivelinux.org/gerrit/gitweb?p=AGL/meta-agl.git
+    - Branch: "master"
+
+
+## Packagegroups
+
+AGL DEMO Platform's [packagegroups](https://www.yoctoproject.org/docs/3.1.2/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`
+
+- packagegroup-agl-appfw*
+
+    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.
+
+    Subsystems also can maintain their own packagegroups using appropriate
+    `recipes-*/`.
+
+    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.
+
+    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.
\ No newline at end of file
diff --git a/docs/3_Developer_Guides/6_AGL_Layers/4_meta-agl-devel.md b/docs/3_Developer_Guides/6_AGL_Layers/4_meta-agl-devel.md
new file mode 100644
index 0000000..8932b82
--- /dev/null
+++ b/docs/3_Developer_Guides/6_AGL_Layers/4_meta-agl-devel.md
@@ -0,0 +1,143 @@
+---
+title: meta-agl-devel
+---
+
+## Introduction
+
+The `meta-agl-devel` layer contains components that are being tested or
+still in development.
+The layer also contains software packages that Original Equipment
+Manufacturers (OEMs) need but are not included in the AGL software.
+
+## Sub-Layers
+
+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
+├── README.md
+├── 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-audio-4a-framework`: A collection of recipes used for the
+  first integration of 4A (i.e. Advanced AGL Audio Architecture).
+
+* `meta-pipewire`: A collection of recipes used for the integration
+  of the pipewire sound system.
+
+* `meta-audio-soundmanager-framework`: Supports the Soundmanager
+  Audio Framework features, which maps to the `agl-audio-soundmanager-framework`
+  AGL feature.
+
+* `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-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-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.
+
+* `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](../../0_Getting_Started/2_Building_AGL_Image/3_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](../../0_Getting_Started/2_Building_AGL_Image/3_Initializing_Your_Build_Environment.md)"
+section.
+
+Once you have included the AGL feature, you can build your image.
\ No newline at end of file
-- 
cgit