blob: 198c7b968915e974fd58f0d812ddd50af208ff42 [file] [log] [blame]
Brad Bishop316dfdd2018-06-25 12:45:53 -04001<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
2"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
3[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
Andrew Geisslerd25ed322020-06-27 00:28:28 -05004<!--SPDX-License-Identifier: CC-BY-2.0-UK-->
Brad Bishop316dfdd2018-06-25 12:45:53 -04005
6<article id='brief-yocto-project-qs-intro'>
7 <articleinfo>
8 <title>Yocto Project Quick Build</title>
9
10 <copyright>
11 <year>&COPYRIGHT_YEAR;</year>
12 <holder>Linux Foundation</holder>
13 </copyright>
14
15 <legalnotice>
16 <para>
17 Permission is granted to copy, distribute and/or modify this document under
18 the terms of the <ulink type="http" url="http://creativecommons.org/licenses/by-sa/2.0/uk/">Creative Commons Attribution-Share Alike 2.0 UK: England &amp; Wales</ulink> as published by Creative Commons.
19 </para>
20 </legalnotice>
21
22
23 <abstract>
24 <imagedata fileref="figures/yocto-project-transp.png"
25 width="6in" depth="1in"
26 align="right" scale="25" />
27 </abstract>
28 </articleinfo>
29
30 <section id='brief-welcome'>
31 <title>Welcome!</title>
32
33 <para>
34 Welcome!
35 This short document steps you through the process for a typical
36 image build using the Yocto Project.
37 The document also introduces how to configure a build for specific
38 hardware.
39 You will use Yocto Project to build a reference embedded OS
40 called Poky.
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080041 <note><title>Notes</title>
42 <itemizedlist>
43 <listitem><para>
44 The examples in this paper assume you are using a
45 native Linux system running a recent Ubuntu Linux
46 distribution.
47 If the machine you want to use Yocto Project on to
48 build an image
49 (<ulink url='&YOCTO_DOCS_REF_URL;#hardware-build-system-term'>build host</ulink>)
50 is not a native Linux system, you can
51 still perform these steps by using CROss PlatformS
52 (CROPS) and setting up a Poky container.
53 See the
54 <ulink url='&YOCTO_DOCS_DEV_URL;#setting-up-to-use-crops'>Setting Up to Use CROss PlatformS (CROPS)</ulink>"
55 section in the Yocto Project Development Tasks Manual for more
56 information.
57 </para></listitem>
58 <listitem><para>
Andrew Geissler82c905d2020-04-13 13:39:40 -050059 You may use Windows Subsystem For Linux v2 to set up a build
60 host using Windows 10.
61 <note>
62 The Yocto Project is not compatible with WSLv1, it is
63 compatible but not officially supported nor validated
64 with WSLv2, if you still decide to use WSL please upgrade
65 to WSLv2.
66 </note>
67 See the
68 <ulink url='&YOCTO_DOCS_DEV_URL;#setting-up-to-use-wsl'>Setting Up to Use Windows Subsystem For Linux</ulink>"
69 section in the Yocto Project Development Tasks Manual for more
70 information.
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080071 </para></listitem>
72 </itemizedlist>
Brad Bishop316dfdd2018-06-25 12:45:53 -040073 </note>
74 </para>
75
76 <para>
77 If you want more conceptual or background information on the
78 Yocto Project, see the
79 <ulink url='&YOCTO_DOCS_OM_URL;'>Yocto Project Overview and Concepts Manual</ulink>.
80 </para>
81 </section>
82
83 <section id='brief-compatible-distro'>
84 <title>Compatible Linux Distribution</title>
85
86 <para>
87 Make sure your
88 <ulink url='&YOCTO_DOCS_REF_URL;#hardware-build-system-term'>build host</ulink>
89 meets the following requirements:
90 <itemizedlist>
91 <listitem><para>
92 50 Gbytes of free disk space
93 </para></listitem>
94 <listitem><para>
95 Runs a supported Linux distribution (i.e. recent releases of
96 Fedora, openSUSE, CentOS, Debian, or Ubuntu). For a list of
97 Linux distributions that support the Yocto Project, see the
98 "<ulink url='&YOCTO_DOCS_REF_URL;#detailed-supported-distros'>Supported Linux Distributions</ulink>"
99 section in the Yocto Project Reference Manual.
Brad Bishop1a4b7ee2018-12-16 17:11:34 -0800100 For detailed information on preparing your build host, see
101 the
102 "<ulink url='&YOCTO_DOCS_DEV_URL;#dev-preparing-the-build-host'>Preparing the Build Host</ulink>"
103 section in the Yocto Project Development Tasks Manual.
Brad Bishop316dfdd2018-06-25 12:45:53 -0400104 </para></listitem>
105 <listitem><para>
106 <itemizedlist>
107 <listitem><para>
108 Git 1.8.3.1 or greater
109 </para></listitem>
110 <listitem><para>
Andrew Geissler82c905d2020-04-13 13:39:40 -0500111 tar 1.28 or greater
Brad Bishop316dfdd2018-06-25 12:45:53 -0400112 </para></listitem>
113 <listitem><para>
Andrew Geissler82c905d2020-04-13 13:39:40 -0500114 Python 3.5.0 or greater.
115 </para></listitem>
116 <listitem><para>
117 gcc 5.0 or greater.
118 </para></listitem>
Brad Bishop316dfdd2018-06-25 12:45:53 -0400119 </itemizedlist>
120 If your build host does not meet any of these three listed
121 version requirements, you can take steps to prepare the
122 system so that you can still use the Yocto Project.
123 See the
Andrew Geissler82c905d2020-04-13 13:39:40 -0500124 "<ulink url='&YOCTO_DOCS_REF_URL;#required-git-tar-python-and-gcc-versions'>Required Git, tar, Python and gcc Versions</ulink>"
Brad Bishop316dfdd2018-06-25 12:45:53 -0400125 section in the Yocto Project Reference Manual for information.
126 </para></listitem>
127 </itemizedlist>
128 </para>
129 </section>
130
131 <section id='brief-build-system-packages'>
132 <title>Build Host Packages</title>
133
134 <para>
135 You must install essential host packages on your
136 build host.
137 The following command installs the host packages based on an
138 Ubuntu distribution:
139 <note>
140 For host package requirements on all supported Linux
141 distributions, see the
Brad Bishop1a4b7ee2018-12-16 17:11:34 -0800142 "<ulink url='&YOCTO_DOCS_REF_URL;#required-packages-for-the-build-host'>Required Packages for the Build Host</ulink>"
Brad Bishop316dfdd2018-06-25 12:45:53 -0400143 section in the Yocto Project Reference Manual.
144 </note>
145 <literallayout class='monospaced'>
Brad Bishop19323692019-04-05 15:28:33 -0400146 $ sudo apt-get install &UBUNTU_HOST_PACKAGES_ESSENTIAL;
Brad Bishop316dfdd2018-06-25 12:45:53 -0400147 </literallayout>
148 </para>
149 </section>
150
151 <section id='brief-use-git-to-clone-poky'>
152 <title>Use Git to Clone Poky</title>
153
154 <para>
155 Once you complete the setup instructions for your machine,
156 you need to get a copy of the Poky repository on your build
157 host.
158 Use the following commands to clone the Poky
Scott Rifenbarkfa4cfe32019-01-11 11:55:06 -0800159 repository.
Brad Bishop316dfdd2018-06-25 12:45:53 -0400160 <literallayout class='monospaced'>
161 $ git clone git://git.yoctoproject.org/poky
162 Cloning into 'poky'...
Brad Bishop19323692019-04-05 15:28:33 -0400163 remote: Counting objects: 432160, done.
164 remote: Compressing objects: 100% (102056/102056), done.
165 remote: Total 432160 (delta 323116), reused 432037 (delta 323000)
166 Receiving objects: 100% (432160/432160), 153.81 MiB | 8.54 MiB/s, done.
167 Resolving deltas: 100% (323116/323116), done.
Brad Bishop316dfdd2018-06-25 12:45:53 -0400168 Checking connectivity... done.
Scott Rifenbarkfa4cfe32019-01-11 11:55:06 -0800169 </literallayout>
170 Move to the <filename>poky</filename> directory and take a look
171 at the tags:
172 <literallayout class='monospaced'>
173 $ cd poky
174 $ git fetch --tags
175 $ git tag
176 1.1_M1.final
177 1.1_M1.rc1
178 1.1_M1.rc2
179 1.1_M2.final
180 1.1_M2.rc1
181 .
182 .
183 .
184 yocto-2.5
185 yocto-2.5.1
186 yocto-2.5.2
187 yocto-2.6
Scott Rifenbarkb0466fb2019-01-22 10:21:44 -0800188 yocto-2.6.1
Brad Bishopc342db32019-05-15 21:57:59 -0400189 yocto-2.6.2
Brad Bishop19323692019-04-05 15:28:33 -0400190 yocto-2.7
Scott Rifenbarkfa4cfe32019-01-11 11:55:06 -0800191 yocto_1.5_M5.rc8
192 </literallayout>
193 For this example, check out the branch based on the
194 &DISTRO_REL_TAG; release:
195 <literallayout class='monospaced'>
196 $ git checkout tags/&DISTRO_REL_TAG; -b my-&DISTRO_REL_TAG;
197 Switched to a new branch 'my-&DISTRO_REL_TAG;'
Brad Bishop316dfdd2018-06-25 12:45:53 -0400198 </literallayout>
199 The previous Git checkout command creates a local branch
200 named my-&DISTRO_REL_TAG;. The files available to you in that
201 branch exactly match the repository's files in the
202 "&DISTRO_NAME_NO_CAP;" development branch at the time of the
Scott Rifenbarkfa4cfe32019-01-11 11:55:06 -0800203 Yocto Project &DISTRO_REL_TAG; release.
Brad Bishop316dfdd2018-06-25 12:45:53 -0400204 </para>
205
206 <para>
207 For more options and information about accessing Yocto
208 Project related repositories, see the
209 "<ulink url='&YOCTO_DOCS_DEV_URL;#locating-yocto-project-source-files'>Locating Yocto Project Source Files</ulink>"
210 section in the Yocto Project Development Tasks Manual.
211 </para>
212 </section>
213
214 <section id='brief-building-your-image'>
215 <title>Building Your Image</title>
216
217 <para>
218 Use the following steps to build your image.
219 The build process creates an entire Linux distribution, including
220 the toolchain, from source.
221 <note>
222 <itemizedlist>
223 <listitem><para>
224 If you are working behind a firewall and your build
225 host is not set up for proxies, you could encounter
226 problems with the build process when fetching source
227 code (e.g. fetcher failures or Git failures).
228 </para></listitem>
229 <listitem><para>
230 If you do not know your proxy settings, consult your
231 local network infrastructure resources and get that
232 information.
233 A good starting point could also be to check your
234 web browser settings.
235 Finally, you can find more information on the
236 "<ulink url='https://wiki.yoctoproject.org/wiki/Working_Behind_a_Network_Proxy'>Working Behind a Network Proxy</ulink>"
237 page of the Yocto Project Wiki.
238 </para></listitem>
239 </itemizedlist>
240 </note>
241 </para>
242
243 <para>
244 <orderedlist>
245 <listitem><para>
246 <emphasis>Initialize the Build Environment:</emphasis>
Scott Rifenbarkfa4cfe32019-01-11 11:55:06 -0800247 From within the <filename>poky</filename> directory, run the
Brad Bishop316dfdd2018-06-25 12:45:53 -0400248 <ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'><filename>&OE_INIT_FILE;</filename></ulink>
249 environment setup script to define Yocto Project's
250 build environment on your build host.
251 <literallayout class='monospaced'>
Scott Rifenbarkfa4cfe32019-01-11 11:55:06 -0800252 $ cd ~/poky
Brad Bishop316dfdd2018-06-25 12:45:53 -0400253 $ source &OE_INIT_FILE;
Scott Rifenbarkfa4cfe32019-01-11 11:55:06 -0800254 You had no conf/local.conf file. This configuration file has therefore been
255 created for you with some default values. You may wish to edit it to, for
256 example, select a different MACHINE (target hardware). See conf/local.conf
257 for more information as common configuration options are commented.
258
259 You had no conf/bblayers.conf file. This configuration file has therefore been
260 created for you with some default values. To add additional metadata layers
261 into your configuration please add entries to conf/bblayers.conf.
262
263 The Yocto Project has extensive documentation about OE including a reference
264 manual which can be found at:
265 http://yoctoproject.org/documentation
266
267 For more information about OpenEmbedded see their website:
268 http://www.openembedded.org/
269
270
271 ### Shell environment set up for builds. ###
272
273 You can now run 'bitbake &lt;target&gt;'
274
275 Common targets are:
276 core-image-minimal
277 core-image-sato
278 meta-toolchain
279 meta-ide-support
280
Andrew Geissler82c905d2020-04-13 13:39:40 -0500281 You can also run generated qemu images with a command like 'runqemu qemux86-64'
Brad Bishop316dfdd2018-06-25 12:45:53 -0400282 </literallayout>
283 Among other things, the script creates the
284 <ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory</ulink>,
285 which is <filename>build</filename> in this case
286 and is located in the
287 <ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink>.
288 After the script runs, your current working directory
289 is set to the Build Directory.
290 Later, when the build completes, the Build Directory
291 contains all the files created during the build.
292 </para></listitem>
293 <listitem><para id='conf-file-step'>
294 <emphasis>Examine Your Local Configuration File:</emphasis>
295 When you set up the build environment, a local
296 configuration file named
297 <filename>local.conf</filename> becomes available in
298 a <filename>conf</filename> subdirectory of the
299 Build Directory.
300 For this example, the defaults are set to build
301 for a <filename>qemux86</filename> target, which is
302 suitable for emulation.
303 The package manager used is set to the RPM package
304 manager.
305 <tip>
306 You can significantly speed up your build and guard
307 against fetcher failures by using mirrors.
308 To use mirrors, add these lines to your
309 <filename>local.conf</filename> file in the Build
310 directory:
311 <literallayout class='monospaced'>
312 SSTATE_MIRRORS = "\
313 file://.* http://sstate.yoctoproject.org/dev/PATH;downloadfilename=PATH \n \
314 file://.* http://sstate.yoctoproject.org/&YOCTO_DOC_VERSION_MINUS_ONE;/PATH;downloadfilename=PATH \n \
315 file://.* http://sstate.yoctoproject.org/&YOCTO_DOC_VERSION;/PATH;downloadfilename=PATH \n \
316 "
317 </literallayout>
318 The previous examples showed how to add sstate
319 paths for Yocto Project &YOCTO_DOC_VERSION_MINUS_ONE;,
320 &YOCTO_DOC_VERSION;, and a development area.
321 For a complete index of sstate locations, see
322 <ulink url='http://sstate.yoctoproject.org/'></ulink>.
323 </tip>
324 </para></listitem>
325 <listitem><para>
326 <emphasis>Start the Build:</emphasis>
327 Continue with the following command to build an OS image
328 for the target, which is
329 <filename>core-image-sato</filename> in this example:
330 <literallayout class='monospaced'>
331 $ bitbake core-image-sato
332 </literallayout>
333 For information on using the
334 <filename>bitbake</filename> command, see the
335 "<ulink url='&YOCTO_DOCS_OM_URL;#usingpoky-components-bitbake'>BitBake</ulink>"
336 section in the Yocto Project Overview and Concepts Manual,
337 or see the
338 "<ulink url='&YOCTO_DOCS_BB_URL;#bitbake-user-manual-command'>BitBake Command</ulink>"
339 section in the BitBake User Manual.
340 </para></listitem>
341 <listitem><para>
342 <emphasis>Simulate Your Image Using QEMU:</emphasis>
343 Once this particular image is built, you can start
344 QEMU, which is a Quick EMUlator that ships with
345 the Yocto Project:
346 <literallayout class='monospaced'>
Andrew Geissler82c905d2020-04-13 13:39:40 -0500347 $ runqemu qemux86-64
Brad Bishop316dfdd2018-06-25 12:45:53 -0400348 </literallayout>
349 If you want to learn more about running QEMU, see the
350 "<ulink url="&YOCTO_DOCS_DEV_URL;#dev-manual-qemu">Using the Quick EMUlator (QEMU)</ulink>"
351 chapter in the Yocto Project Development Tasks Manual.
352 </para></listitem>
353 <listitem><para>
354 <emphasis>Exit QEMU:</emphasis>
355 Exit QEMU by either clicking on the shutdown icon or by
356 typing <filename>Ctrl-C</filename> in the QEMU
357 transcript window from which you evoked QEMU.
358 </para></listitem>
359 </orderedlist>
360 </para>
361 </section>
362
363 <section id='customizing-your-build-for-specific-hardware'>
364 <title>Customizing Your Build for Specific Hardware</title>
365
366 <para>
367 So far, all you have done is quickly built an image suitable
368 for emulation only.
369 This section shows you how to customize your build for specific
370 hardware by adding a hardware layer into the Yocto Project
371 development environment.
372 </para>
373
374 <para>
375 In general, layers are repositories that contain related sets of
376 instructions and configurations that tell the Yocto Project what
377 to do.
378 Isolating related metadata into functionally specific layers
379 facilitates modular development and makes it easier to reuse the
380 layer metadata.
381 <note>
382 By convention, layer names start with the string "meta-".
383 </note>
384 </para>
385
386 <para>
387 Follow these steps to add a hardware layer:
388 <orderedlist>
389 <listitem><para>
390 <emphasis>Find a Layer:</emphasis>
391 Lots of hardware layers exist.
392 The Yocto Project
393 <ulink url='&YOCTO_GIT_URL;'>Source Repositories</ulink>
394 has many hardware layers.
395 This example adds the
396 <ulink url='https://github.com/kraj/meta-altera'>meta-altera</ulink>
397 hardware layer.
398 </para></listitem>
399 <listitem><para>
400 <emphasis>Clone the Layer</emphasis>
401 Use Git to make a local copy of the layer on your machine.
402 You can put the copy in the top level of the copy of the
403 Poky repository created earlier:
404 <literallayout class='monospaced'>
405 $ cd ~/poky
406 $ git clone https://github.com/kraj/meta-altera.git
407 Cloning into 'meta-altera'...
408 remote: Counting objects: 25170, done.
409 remote: Compressing objects: 100% (350/350), done.
410 remote: Total 25170 (delta 645), reused 719 (delta 538), pack-reused 24219
411 Receiving objects: 100% (25170/25170), 41.02 MiB | 1.64 MiB/s, done.
412 Resolving deltas: 100% (13385/13385), done.
413 Checking connectivity... done.
414 </literallayout>
415 The hardware layer now exists with other layers inside
416 the Poky reference repository on your build host as
417 <filename>meta-altera</filename> and contains all the
418 metadata needed to support hardware from Altera, which
419 is owned by Intel.
420 </para></listitem>
421 <listitem><para>
422 <emphasis>Change the Configuration to Build for a Specific Machine:</emphasis>
423 The
424 <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink>
425 variable in the <filename>local.conf</filename> file
426 specifies the machine for the build.
427 For this example, set the <filename>MACHINE</filename>
428 variable to "cyclone5".
429 These configurations are used:
430 <ulink url='https://github.com/kraj/meta-altera/blob/master/conf/machine/cyclone5.conf'></ulink>.
431 <note>
432 See the
433 "<link linkend='conf-file-step'>Examine Your Local Configuration File</link>"
434 step earlier for more information on configuring the
435 build.
436 </note>
437 </para></listitem>
438 <listitem><para>
439 <emphasis>Add Your Layer to the Layer Configuration File:</emphasis>
440 Before you can use a layer during a build, you must add it
441 to your <filename>bblayers.conf</filename> file, which
442 is found in the
443 <ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory's</ulink>
444 <filename>conf</filename> directory.</para>
445
446 <para>Use the <filename>bitbake-layers add-layer</filename>
447 command to add the layer to the configuration file:
448 <literallayout class='monospaced'>
449 $ cd ~/poky/build
450 $ bitbake-layers add-layer ../meta-altera
451 NOTE: Starting bitbake server...
452 Parsing recipes: 100% |##################################################################| Time: 0:00:32
453 Parsing of 918 .bb files complete (0 cached, 918 parsed). 1401 targets, 123 skipped, 0 masked, 0 errors.
454 </literallayout>
455 You can find more information on adding layers in the
456 "<ulink url='&YOCTO_DOCS_DEV_URL;#adding-a-layer-using-the-bitbake-layers-script'>Adding a Layer Using the <filename>bitbake-layers</filename> Script</ulink>"
457 section.
458 </para></listitem>
459 </orderedlist>
460 Completing these steps has added the
461 <filename>meta-altera</filename> layer to your Yocto Project
462 development environment and configured it to build for the
463 "cyclone5" machine.
464 <note>
465 The previous steps are for demonstration purposes only.
466 If you were to attempt to build an image for the
467 "cyclone5" build, you should read the Altera
468 <filename>README</filename>.
469 </note>
470 </para>
471 </section>
472
473 <section id='creating-your-own-general-layer'>
474 <title>Creating Your Own General Layer</title>
475
476 <para>
477 Maybe you have an application or specific set of behaviors you
478 need to isolate.
479 You can create your own general layer using the
480 <filename>bitbake-layers create-layer</filename> command.
481 The tool automates layer creation by setting up a
482 subdirectory with a <filename>layer.conf</filename>
483 configuration file, a <filename>recipes-example</filename>
484 subdirectory that contains an <filename>example.bb</filename>
485 recipe, a licensing file, and a <filename>README</filename>.
486 </para>
487
488 <para>
489 The following commands run the tool to create a layer named
490 <filename>meta-mylayer</filename> in the
491 <filename>poky</filename> directory:
492 <literallayout class='monospaced'>
493 $ cd ~/poky
494 $ bitbake-layers create-layer meta-mylayer
495 NOTE: Starting bitbake server...
496 Add your new layer with 'bitbake-layers add-layer meta-mylayer'
497 </literallayout>
498 For more information on layers and how to create them, see the
499 "<ulink url='&YOCTO_DOCS_DEV_URL;#creating-a-general-layer-using-the-bitbake-layers-script'>Creating a General Layer Using the <filename>bitbake-layers</filename> Script</ulink>"
500 section in the Yocto Project Development Tasks Manual.
501 </para>
502 </section>
503
504 <section id='brief-where-to-go-next'>
505 <title>Where To Go Next</title>
506
507 <para>
508 Now that you have experienced using the Yocto Project, you might
509 be asking yourself "What now?"
510 The Yocto Project has many sources of information including
511 the website, wiki pages, and user manuals:
512 <itemizedlist>
513 <listitem><para>
514 <emphasis>Website:</emphasis>
515 The
516 <ulink url='&YOCTO_HOME_URL;'>Yocto Project Website</ulink>
517 provides background information, the latest builds,
518 breaking news, full development documentation, and
519 access to a rich Yocto Project Development Community
520 into which you can tap.
521 </para></listitem>
522 <listitem><para>
523 <emphasis>Developer Screencast:</emphasis>
524 The
525 <ulink url='http://vimeo.com/36450321'>Getting Started with the Yocto Project - New Developer Screencast Tutorial</ulink>
526 provides a 30-minute video created for users unfamiliar
527 with the Yocto Project but familiar with Linux build
528 hosts.
529 While this screencast is somewhat dated, the
530 introductory and fundamental concepts are useful for
531 the beginner.
532 </para></listitem>
533 <listitem><para>
534 <emphasis>Yocto Project Overview and Concepts Manual:</emphasis>
535 The
536 <ulink url='&YOCTO_DOCS_OM_URL;'>Yocto Project Overview and Concepts Manual</ulink>
537 is a great place to start to learn about the
538 Yocto Project.
539 This manual introduces you to the Yocto Project and its
540 development environment.
541 The manual also provides conceptual information for
542 various aspects of the Yocto Project.
543 </para></listitem>
544 <listitem><para>
545 <emphasis>Yocto Project Wiki:</emphasis>
546 The
547 <ulink url='&YOCTO_WIKI_URL;'>Yocto Project Wiki</ulink>
548 provides additional information on where to go next
549 when ramping up with the Yocto Project, release
550 information, project planning, and QA information.
551 </para></listitem>
552 <listitem><para>
553 <emphasis>Yocto Project Mailing Lists:</emphasis>
554 Related mailing lists provide a forum for discussion,
555 patch submission and announcements.
556 Several mailing lists exist and are grouped according
557 to areas of concern.
558 See the
559 "<ulink url='&YOCTO_DOCS_REF_URL;#resources-mailinglist'>Mailing lists</ulink>"
560 section in the Yocto Project Reference Manual for a
561 complete list of Yocto Project mailing lists.
562 </para></listitem>
563 <listitem><para>
564 <emphasis>Comprehensive List of Links and Other Documentation:</emphasis>
565 The
566 "<ulink url='&YOCTO_DOCS_REF_URL;#resources-links-and-related-documentation'>Links and Related Documentation</ulink>"
567 section in the Yocto Project Reference Manual provides a
568 comprehensive list of all related links and other
569 user documentation.
570 </para></listitem>
571 </itemizedlist>
572 </para>
573 </section>
574</article>
575<!--
576vim: expandtab tw=80 ts=4
577-->