summaryrefslogtreecommitdiffstats
path: root/meta-agl.md
blob: 19f80ee3e149b3b530c9d04a45fcd95c85508220 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99

@media only all and (prefers-color-scheme: dark) {
.highlight .hll { background-color: #49483e }
.highlight .c { color: #75715e } /* Comment */
.highlight .err { color: #960050; background-color: #1e0010 } /* Error */
.highlight .k { color: #66d9ef } /* Keyword */
.highlight .l { color: #ae81ff } /* Literal */
.highlight .n { color: #f8f8f2 } /* Name */
.highlight .o { color: #f92672 } /* Operator */
.highlight .p { color: #f8f8f2 } /* Punctuation */
.highlight .ch { color: #75715e } /* Comment.Hashbang */
.highlight .cm { color: #75715e } /* Comment.Multiline */
.highlight .cp { color: #75715e } /* Comment.Preproc */
.highlight .cpf { color: #75715e } /* Comment.PreprocFile */
.highlight .c1 { color: #75715e } /* Comment.Single */
.highlight .cs { color: #75715e } /* Comment.Special */
.highlight .gd { color: #f92672 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gi { color: #a6e22e } /* Generic.Inserted */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #75715e } /* Generic.Subheading */
.highlight .kc { color: #66d9ef } /* Keyword.Constant */
.highlight .kd { color: #66d9ef } /* Keyword.Declaration */
.highlight .kn { color: #f92672 } /* Keyword.Namespace */
.highlight .kp { color: #66d9ef } /* Keyword.Pseudo */
.highlight .kr { color: #66d9ef } /* Keyword.Reserved */
.highlight .kt { color: #66d9ef } /* Keyword.Type */
.highlight .ld { color: #e6db74 } /* Literal.Date */
.highlight .m {
## 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`.
-->