summaryrefslogtreecommitdiffstats
path: root/documentation/brief-yoctoprojectqs/index.rst
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/brief-yoctoprojectqs/index.rst')
-rw-r--r--documentation/brief-yoctoprojectqs/index.rst110
1 files changed, 57 insertions, 53 deletions
diff --git a/documentation/brief-yoctoprojectqs/index.rst b/documentation/brief-yoctoprojectqs/index.rst
index 6a12b19ca0..61c5cbec36 100644
--- a/documentation/brief-yoctoprojectqs/index.rst
+++ b/documentation/brief-yoctoprojectqs/index.rst
@@ -25,18 +25,11 @@ build a reference embedded OS called Poky.
in the Yocto Project Development Tasks Manual for more
information.
- - You may use Windows Subsystem For Linux v2 to set up a build host
- using Windows 10.
-
- .. note::
-
- The Yocto Project is not compatible with WSLv1, it is
- compatible but not officially supported nor validated with
- WSLv2, if you still decide to use WSL please upgrade to WSLv2.
-
- See the :ref:`dev-manual/start:setting up to use windows
- subsystem for linux (wslv2)` section in the Yocto Project Development
- Tasks Manual for more information.
+ - You may use version 2 of Windows Subsystem For Linux (WSL 2) to set
+ up a build host using Windows 10 or later, Windows Server 2019 or later.
+ See the :ref:`dev-manual/start:setting up to use windows subsystem for
+ linux (wsl 2)` section in the Yocto Project Development Tasks Manual
+ for more information.
If you want more conceptual or background information on the Yocto
Project, see the :doc:`/overview-manual/index`.
@@ -47,7 +40,13 @@ Compatible Linux Distribution
Make sure your :term:`Build Host` meets the
following requirements:
-- 50 Gbytes of free disk space
+- At least &MIN_DISK_SPACE; Gbytes of free disk space, though
+ much more will help to run multiple builds and increase
+ performance by reusing build artifacts.
+
+- At least &MIN_RAM; Gbytes of RAM, though a modern modern build host with as
+ much RAM and as many CPU cores as possible is strongly recommended to
+ maximize build performance.
- Runs a supported Linux distribution (i.e. recent releases of Fedora,
openSUSE, CentOS, Debian, or Ubuntu). For a list of Linux
@@ -64,11 +63,12 @@ following requirements:
- tar &MIN_TAR_VERSION; or greater
- Python &MIN_PYTHON_VERSION; or greater.
- gcc &MIN_GCC_VERSION; or greater.
+ - GNU make &MIN_MAKE_VERSION; or greater
If your build host does not meet any of these three listed version
requirements, you can take steps to prepare the system so that you
can still use the Yocto Project. See the
-:ref:`ref-manual/system-requirements:required git, tar, python and gcc versions`
+:ref:`ref-manual/system-requirements:required git, tar, python, make and gcc versions`
section in the Yocto Project Reference Manual for information.
Build Host Packages
@@ -76,11 +76,9 @@ Build Host Packages
You must install essential host packages on your build host. The
following command installs the host packages based on an Ubuntu
-distribution:
+distribution::
-.. code-block:: shell
-
- $ sudo apt-get install &UBUNTU_HOST_PACKAGES_ESSENTIAL;
+ $ sudo apt install &UBUNTU_HOST_PACKAGES_ESSENTIAL;
.. note::
@@ -207,7 +205,7 @@ an entire Linux distribution, including the toolchain, from source.
https://docs.yoctoproject.org
For more information about OpenEmbedded see their website:
- http://www.openembedded.org/
+ https://www.openembedded.org/
### Shell environment set up for builds. ###
@@ -215,21 +213,28 @@ an entire Linux distribution, including the toolchain, from source.
Common targets are:
core-image-minimal
+ core-image-full-cmdline
core-image-sato
+ core-image-weston
meta-toolchain
meta-ide-support
You can also run generated QEMU images with a command like 'runqemu qemux86-64'
+ Other commonly useful commands are:
+ - 'devtool' and 'recipetool' handle common recipe tasks
+ - 'bitbake-layers' handles common layer tasks
+ - 'oe-pkgdata-util' handles common target package tasks
+
Among other things, the script creates the :term:`Build Directory`, which is
``build`` in this case and is located in the :term:`Source Directory`. After
- the script runs, your current working directory is set to the Build
- Directory. Later, when the build completes, the Build Directory contains all the
- files created during the build.
+ the script runs, your current working directory is set to the
+ :term:`Build Directory`. Later, when the build completes, the
+ :term:`Build Directory` contains all the files created during the build.
#. **Examine Your Local Configuration File:** When you set up the build
environment, a local configuration file named ``local.conf`` becomes
- available in a ``conf`` subdirectory of the Build Directory. For this
+ available in a ``conf`` subdirectory of the :term:`Build Directory`. For this
example, the defaults are set to build for a ``qemux86`` target,
which is suitable for emulation. The package manager used is set to
the RPM package manager.
@@ -237,19 +242,19 @@ an entire Linux distribution, including the toolchain, from source.
.. tip::
You can significantly speed up your build and guard against fetcher
- failures by using mirrors. To use mirrors, add these lines to your
- local.conf file in the Build directory::
-
- SSTATE_MIRRORS = "\
- file://.* http://sstate.yoctoproject.org/dev/PATH;downloadfilename=PATH \n \
- file://.* http://sstate.yoctoproject.org/&YOCTO_DOC_VERSION_MINUS_ONE;/PATH;downloadfilename=PATH \n \
- file://.* http://sstate.yoctoproject.org/&YOCTO_DOC_VERSION;/PATH;downloadfilename=PATH \n \
- "
+ failures by using :ref:`overview-manual/concepts:shared state cache`
+ mirrors and enabling :ref:`overview-manual/concepts:hash equivalence`.
+ This way, you can use pre-built artifacts rather than building them.
+ This is relevant only when your network and the server that you use
+ can download these artifacts faster than you would be able to build them.
+ To use such mirrors, uncomment the below lines in your ``conf/local.conf``
+ file in the :term:`Build Directory`::
- The previous examples showed how to add sstate paths for Yocto Project
- &YOCTO_DOC_VERSION_MINUS_ONE;, &YOCTO_DOC_VERSION;, and a development
- area. For a complete index of sstate locations, see http://sstate.yoctoproject.org/.
+ BB_HASHSERVE_UPSTREAM = "hashserv.yocto.io:8687"
+ SSTATE_MIRRORS ?= "file://.* http://cdn.jsdelivr.net/yocto/sstate/all/PATH;downloadfilename=PATH"
+ BB_HASHSERVE = "auto"
+ BB_SIGNATURE_HANDLER = "OEEquivHash"
#. **Start the Build:** Continue with the following command to build an OS
image for the target, which is ``core-image-sato`` in this example:
@@ -260,8 +265,9 @@ an entire Linux distribution, including the toolchain, from source.
For information on using the ``bitbake`` command, see the
:ref:`overview-manual/concepts:bitbake` section in the Yocto Project Overview and
- Concepts Manual, or see the ":ref:`BitBake Command
- <bitbake:bitbake-user-manual/bitbake-user-manual-intro:the bitbake command>`" section in the BitBake User Manual.
+ Concepts Manual, or see
+ :ref:`bitbake-user-manual/bitbake-user-manual-intro:the bitbake command`
+ in the BitBake User Manual.
#. **Simulate Your Image Using QEMU:** Once this particular image is
built, you can start QEMU, which is a Quick EMUlator that ships with
@@ -297,7 +303,7 @@ modular development and makes it easier to reuse the layer metadata.
Follow these steps to add a hardware layer:
-#. **Find a Layer:** Lots of hardware layers exist. The Yocto Project
+#. **Find a Layer:** Many hardware layers are available. The Yocto Project
:yocto_git:`Source Repositories <>` has many hardware layers.
This example adds the
`meta-altera <https://github.com/kraj/meta-altera>`__ hardware layer.
@@ -318,8 +324,8 @@ Follow these steps to add a hardware layer:
Resolving deltas: 100% (13385/13385), done.
Checking connectivity... done.
- The hardware layer now exists
- with other layers inside the Poky reference repository on your build
+ The hardware layer is now available
+ next to other layers inside the Poky reference repository on your build
host as ``meta-altera`` and contains all the metadata needed to
support hardware from Altera, which is owned by Intel.
@@ -332,7 +338,7 @@ Follow these steps to add a hardware layer:
#. **Change the Configuration to Build for a Specific Machine:** The
:term:`MACHINE` variable in the
``local.conf`` file specifies the machine for the build. For this
- example, set the ``MACHINE`` variable to ``cyclone5``. These
+ example, set the :term:`MACHINE` variable to ``cyclone5``. These
configurations are used:
https://github.com/kraj/meta-altera/blob/master/conf/machine/cyclone5.conf.
@@ -343,9 +349,7 @@ Follow these steps to add a hardware layer:
#. **Add Your Layer to the Layer Configuration File:** Before you can use
a layer during a build, you must add it to your ``bblayers.conf``
- file, which is found in the
- :term:`Build Directory` ``conf``
- directory.
+ file, which is found in the :term:`Build Directory` ``conf`` directory.
Use the ``bitbake-layers add-layer`` command to add the layer to the
configuration file:
@@ -361,7 +365,7 @@ Follow these steps to add a hardware layer:
You can find
more information on adding layers in the
- :ref:`dev-manual/common-tasks:adding a layer using the \`\`bitbake-layers\`\` script`
+ :ref:`dev-manual/layers:adding a layer using the \`\`bitbake-layers\`\` script`
section.
Completing these steps has added the ``meta-altera`` layer to your Yocto
@@ -396,7 +400,7 @@ The following commands run the tool to create a layer named
For more information
on layers and how to create them, see the
-:ref:`dev-manual/common-tasks:creating a general layer using the \`\`bitbake-layers\`\` script`
+:ref:`dev-manual/layers:creating a general layer using the \`\`bitbake-layers\`\` script`
section in the Yocto Project Development Tasks Manual.
Where To Go Next
@@ -411,12 +415,12 @@ information including the website, wiki pages, and user manuals:
development documentation, and access to a rich Yocto Project
Development Community into which you can tap.
-- **Developer Screencast:** The `Getting Started with the Yocto Project -
- New Developer Screencast Tutorial <https://vimeo.com/36450321>`__
- provides a 30-minute video created for users unfamiliar with the
- Yocto Project but familiar with Linux build hosts. While this
- screencast is somewhat dated, the introductory and fundamental
- concepts are useful for the beginner.
+- **Video Seminar:** The `Introduction to the Yocto Project and BitBake, Part 1
+ <https://youtu.be/yuE7my3KOpo>`__ and
+ `Introduction to the Yocto Project and BitBake, Part 2
+ <https://youtu.be/iZ05TTyzGHk>`__ videos offer a video seminar
+ introducing you to the most important aspects of developing a
+ custom embedded Linux distribution with the Yocto Project.
- **Yocto Project Overview and Concepts Manual:** The
:doc:`/overview-manual/index` is a great
@@ -431,8 +435,8 @@ information including the website, wiki pages, and user manuals:
information.
- **Yocto Project Mailing Lists:** Related mailing lists provide a forum
- for discussion, patch submission and announcements. Several mailing
- lists exist and are grouped according to areas of concern. See the
+ for discussion, patch submission and announcements. There are several
+ mailing lists grouped by topic. See the
:ref:`ref-manual/resources:mailing lists`
section in the Yocto Project Reference Manual for a complete list of
Yocto Project mailing lists.