## 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/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`. -->