.. SPDX-License-Identifier: CC-BY-SA-2.0-UK

******************************************
The Yocto Project Development Tasks Manual
******************************************

.. _dev-welcome:

Welcome
=======

Welcome to the Yocto Project Development Tasks Manual! This manual
provides relevant procedures necessary for developing in the Yocto
Project environment (i.e. developing embedded Linux images and
user-space applications that run on targeted devices). The manual groups
related procedures into higher-level sections. Procedures can consist of
high-level steps or low-level steps depending on the topic.

This manual provides the following:

-  Procedures that help you get going with the Yocto Project. For
   example, procedures that show you how to set up a build host and work
   with the Yocto Project source repositories.

-  Procedures that show you how to submit changes to the Yocto Project.
   Changes can be improvements, new features, or bug fixes.

-  Procedures related to "everyday" tasks you perform while developing
   images and applications using the Yocto Project. For example,
   procedures to create a layer, customize an image, write a new recipe,
   and so forth.

This manual does not provide the following:

-  Redundant Step-by-step Instructions: For example, the
   :doc:`../sdk-manual/sdk-manual` manual contains detailed
   instructions on how to install an SDK, which is used to develop
   applications for target hardware.

-  Reference or Conceptual Material: This type of material resides in an
   appropriate reference manual. For example, system variables are
   documented in the :doc:`../ref-manual/ref-manual`.

-  Detailed Public Information Not Specific to the Yocto Project: For
   example, exhaustive information on how to use the Source Control
   Manager Git is better covered with Internet searches and official Git
   Documentation than through the Yocto Project documentation.

Other Information
=================

Because this manual presents information for many different topics,
supplemental information is recommended for full comprehension. For
introductory information on the Yocto Project, see the
:yocto_home:`Yocto Project Website <>`. If you want to build an image with no
knowledge of Yocto Project as a way of quickly testing it out, see the
:doc:`../brief-yoctoprojectqs/brief-yoctoprojectqs` document.

For a comprehensive list of links and other documentation, see the
":ref:`ref-manual/resources:links and related documentation`"
section in the Yocto Project Reference Manual.
