generic-poky/documentation/kernel-dev/kernel-dev-intro.xml

82 lines
3.5 KiB
XML

<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<chapter id='kernel-dev-intro'>
<title>Yocto Project Kernel Development Manual</title>
<section id='kernel-dev-introduction'>
<title>Introduction</title>
<para>
Regardless of how you intend to make use of the Yocto Project, chances are you
are going to need to work with the Linux kernel. The Yocto Project provides a
powerful set of tools for managing Linux kernel sources and configuration data.
If you want to make a single configuration change, apply a couple of patches, or
work with your own sources, the Yocto Project has tooling in place to help you
do it.
</para>
<para>
Each Yocto Project release introduces a new set of linux-yocto kernel recipes,
tracking the latest upstream developments and introducing newly supported
platforms. In addition to the new kernel recipes, the previous recipes are
refreshed and supported for at least one additional release. As they align,
these previous releases are updated to include the latest from the LTSI project.
Besides these recipes, a linux-yocto-dev recipe is available for working with
the very latest in upstream Linux kernel development as well as meta-data
development.
</para>
<para>
If you do not maintain your own kernel sources and need to make only minimal
changes to the sources, these recipes provide a vetted base upon which to layer
your changes. Doing so allows you to benefit from the continual kernel
integration and testing performed during development of the Yocto Project.
</para>
<para>
If, instead, you have a very specific Linux kernel source tree and are unable to
align with one of the many official linux-yocto releases, an alternative
exists by which you can use the Yocto Project Linux kernel tools with your own
sources.
</para>
<para>
The sections that follow provide instructions for completing specific Linux
kernel development tasks. They assume familiarity with working with bitbake
recipes and basic open-source development tools. Understanding these concepts
will facilitate the process of working with the kernel recipes. If you find you
need some additional background, please be sure to review and understand the
following documentation:
<itemizedlist>
<listitem><para><emphasis>Yocto Project Quick Start</emphasis>
</para></listitem>
<listitem><para><emphasis>Yocto Project Development Manual</emphasis>
<itemizedlist>
<listitem><para><emphasis>4.3 Modifying Temporary Source Code</emphasis>
</para></listitem>
<listitem><para><emphasis>5.1 Understanding and Creating Layers</emphasis>
</para></listitem>
<listitem><para><emphasis>4.1.2 Modifying the Kernel</emphasis>
(This section should be retired, as well as 5.6, 5.7 - with this document
providing the necessary information)</para></listitem>
</itemizedlist></para></listitem>
</itemizedlist>
</para>
<para>
Finally, while this document focuses on the manual creation of recipes, patches,
and configuration files, the Yocto Project BSP tools are available to automate
this process with existing content and work well to create the initial framework
and boilerplate code. For details, refer to the Yocto Project BSP Developer's
Guide.
</para>
</section>
</chapter>
<!--
vim: expandtab tw=80 ts=4
-->