meta-agl-demo: Fixed broken link to "AGL Features" section.
[AGL/meta-agl-demo.git] / meta-agl-demo.md
1 ## Introduction
2
3 The `meta-agl-demo` layer is the reference user interface layer for the DEMO
4 platform of Automotive Grade Linux (AGL).
5 The layer provides a reference platform and applications.
6 The BitBake target name for the DEMO platform is `agl-demo-platform`, which is
7 the full DEMO platform image.
8
9 ## Layer Dependencies
10
11 This section describes dependencies for the `meta-agl-demo` layer.
12 Dependencies are grouped into base, hardware, and feature dependencies.
13
14 ### Base Dependencies
15
16 The `meta-agl-demo` layer has the following base dependencies:
17
18 * Yocto Project Release:
19
20   - URI: git://git.yoctoproject.org/poky
21   - Branch: "thud"
22   - Tested Revision: See the [`default.xml`](https://github.com/leon-anavi/AGL-repo/blob/master/default.xml)
23     manifest file for the `AGL-repo` repository for revision
24     information.
25
26 * AGL `meta-agl` Layer:
27
28   - URI: https://gerrit.automotivelinux.org/gerrit/AGL/meta-agl
29   - Branch: "flounder"
30
31 * OpenEmbedded `meta-openembedded` Layer:
32
33   - Branch: "thud"
34   - Tested Revision: See the [`default.xml`](https://github.com/leon-anavi/AGL-repo/blob/master/default.xml)
35     manifest file for the `AGL-repo` repository for revision
36     information.
37
38     Specifically, out of `meta-openembedded`, these sub-layers are used:
39
40     - `meta-oe`
41     - `meta-multimedia`
42     - `meta-efl`
43     - `meta-networking`
44     - `meta-python`
45     - `meta-ruby`
46
47 * Yocto Project `meta-qt5` Layer from the
48   [OpenEmbedded Layer Index](https://layers.openembedded.org/layerindex/branch/master/layers/):
49
50   - URI: https://github.com/meta-qt5/meta-qt5.git
51   - Branch:   "thud"
52   - Tested Revision: See the [`default.xml`](https://github.com/leon-anavi/AGL-repo/blob/master/default.xml)
53     manifest file for the `AGL-repo` repository for revision
54     information.
55
56 ### Hardware Dependencies
57
58 Aside from the previously listed base dependencies, if you are using a
59 [supported Renesas board](../../../../getting_started/en/dev/reference/machines/renesas.html)
60 supported Renesas board, these dependencies exist:
61
62 * AGL's `meta-renesas` Layer:
63
64   - URI: https://gerrit.automotivelinux.org/gerrit/AGL/meta-renesas
65   - Branch: "agl-1.0-bsp-1.8.0"
66   - Tested Revision: 82611ccadef36ab0b8a6fd6fb1cf055e115f1ef5 (or later)
67
68 ### Feature Dependencies
69
70 The `meta-agl-demo` layer has the following AGL
71 [feature](../getting_started/reference/getting-started/image-workflow-initialize-build-environment.html#agl-features)
72 dependencies:
73
74 * Yocto Project `meta-security` Layer:
75
76   - URI: https://git.yoctoproject.org/cgit/cgit.cgi/meta-security
77   - Branch: "master"
78   - Tested Revision: See the [`default.xml`](https://github.com/leon-anavi/AGL-repo/blob/master/default.xml)
79     manifest file for the `AGL-repo` repository for revision
80     information.
81
82 * AGL's `meta-app-framework` Layer Within the `meta-agl-extra` Layer:
83
84   - URI: https://gerrit.automotivelinux.org/gerrit/gitweb?p=AGL/meta-agl-extra.git
85   - Branch: "master"
86
87 **The `agl-sota` Feature:**
88
89 * AGL's `meta-sota` Layer Within the `meta-agl-extra` Layer:
90
91   - URI: https://gerrit.automotivelinux.org/gerrit/gitweb?p=AGL/meta-agl-extra.git
92   - Branch: "master"
93
94 * OpenEmbedded's `meta-openembedded` Layer:
95
96   - URI: https://github.com/openembedded/meta-openembedded
97   - Branch: "thud"
98   - Tested Revision: See the [`default.xml`](https://github.com/leon-anavi/AGL-repo/blob/master/default.xml)
99     manifest file for the `AGL-repo` repository for revision
100     information.
101
102     In particular, the `meta-openembedded` layer depends on the following
103     sub-layers:
104
105       - `meta-filesystems`
106       - `meta-ruby`
107
108 * OpenEmbedded's `meta-rust` Layer:
109
110   - URI: https://github.com/meta-rust/meta-rust
111   - Branch: "thud"
112   - Tested Revision: See the `[default.xml](https://github.com/leon-anavi/AGL-repo/blob/master/default.xml)`
113     manifest file for the `AGL-repo` repository for revision
114     information.
115
116 **The `agl-netboot` Feature:**
117
118 * AGL's `meta-netboot` Layer Within the `meta-agl` Layer:
119
120   - URI: https://gerrit.automotivelinux.org/gerrit/gitweb?p=AGL/meta-agl.git
121   - Branch: "master"
122
123
124 ## Packagegroups
125
126 AGL DEMO Platform's 
127 [packagegroups](https://www.yoctoproject.org/docs/2.4.4/dev-manual/dev-manual.html#usingpoky-extend-customimage-customtasks)
128 consist of the following:
129
130 ### packagegroup-agl-demo-platform
131
132 This packagegroup is used for generating the `agl-demo-platform` image,
133 which is the full image for the AGL distributions IVI profile.
134 You can see the recipe (i.e. `agl-demo-platform.bb`) that installs 
135 the `packagegroup-agl-demo-platform` packagegroup
136 [here](https://git.automotivelinux.org/AGL/meta-agl-demo/tree/recipes-platform/images/agl-demo-platform.bb).
137
138 As meta-agl's design of packagegroups, the `agl-demo-platform.bb` recipe installs
139 only `packagegroup-agl-demo-platform` and the packages of the DEMO applications.
140
141 ``agl-demo-platform`` contains the following four packagegroups:
142
143   * `packagegroup-agl-image-minimal`
144   * `packagegroup-agl-image-ivi`
145   * `packagegroup-ivi-common-core`
146   * `packagegroup-agl-demo-platform`
147
148 ### packagegroup-agl-appfw*
149
150 These packagegroups contain packages for the AGL distribution's
151 Application Framework.
152 Subsystem should maintain `packagegroup-agl-appfw-[subsystem].bb`, which
153 should hold sufficient packages for the Application Framework.
154
155 Subsystems also can maintain their own packagegroups using appropriate
156 `recipes-*/`.
157 For example, Qt5 has two packagegroups in `meta-agl-demo`:
158 `packagegroup-agl-appfw-native-qt5` and `packagegroup-agl-demo-qt-examples`,
159 which are under `recipes-qt/`.
160
161 The `packagegroup-agl-appfw-native-qt5` is included by
162 `packagegroup-agl-appfw-native` because Qt5 belongs to native application
163 framework of AGL Distro.
164
165 Because the `packagegroup-agl-demo-qt-examples` is not mandatory for
166 the AGL Application Framework and the AGL DEMO, the packagegroup is added
167 to the layer's `local.conf` file only when needed.
168