Meta-agl: Added new layer files and updated book file.
[AGL/meta-agl.git] / meta-agl.md
diff --git a/meta-agl.md b/meta-agl.md
new file mode 100755 (executable)
index 0000000..59167ad
--- /dev/null
@@ -0,0 +1,142 @@
+## 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`](./meta-agl-extra.html) 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/2.4.4/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).
+
+<!--
+* packagegroup-ivi-common*
+
+        packagegroup-ivi-common-core-automotive.bb
+        packagegroup-ivi-common-core.bb
+        packagegroup-ivi-common-core-connectivity.bb
+        packagegroup-ivi-common-core-graphics.bb
+        packagegroup-ivi-common-core-kernel.bb
+        packagegroup-ivi-common-core-multimedia.bb
+        packagegroup-ivi-common-core-navi-lbs.bb
+        packagegroup-ivi-common-core-os-commonlibs.bb
+        packagegroup-ivi-common-core-security.bb
+        packagegroup-ivi-common-core-speech-services.bb
+        packagegroup-ivi-common-test.bb
+
+The previous Packagegroups pick up some packages from upstream
+locations such as
+[GENIVI Alliance](https://www.genivi.org/) and others.
+The `meta-ivi-common` layer produces no image.
+All the Packagegroups in this layer are aggregated to `packagegroup-ivi-common-core`,
+which is included by the images and the two recipes  `agl-image-ivi.bb` and `agl-demo-platform.bb`.
+-->