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

145 lines
7.0 KiB
XML
Raw Normal View History

<!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>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.
You can use this tooling to help you make a single configuration change,
apply a couple of patches, or work with your own sources.
</para>
<para>
The Yocto Project Kernel Development Manual describes common tasks
you can perform using the kernel tooling as well as provides information
about the metadata needed to work with the kernel inside the
Yocto Project.
</para>
<section id='kernel-dev-background'>
<title>Background</title>
<para>
Each Yocto Project release introduces a new set of linux-yocto
kernel recipes that tracks the latest upstream developments and
introduces 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 Long Term Support Initiative (LTSI) project.
Besides these recipes, a <filename>linux-yocto-dev.bb</filename>
recipe is available for working with the very latest in upstream
Linux kernel development as well as metadata 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>
</section>
<section id='kernel-dev-other-resources'>
<title>Other Resources</title>
<para>
The sections that follow provide instructions for completing
specific Linux kernel development tasks.
These instructions assume you are familiar with working with
<ulink url='http://developer.berlios.de/projects/bitbake/'>BitBake</ulink>
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><ulink url='&YOCTO_DOCS_QS_URL;'>Yocto Project Quick Start</ulink>
</para></listitem>
<listitem><para>The "<ulink url='&YOCTO_DOCS_DEV_URL;#modifying-temporary-source-code'>Modifying Temporary Source Code</ulink>"
section in the Yocto Project Development Manual
</para></listitem>
<listitem><para>The "<ulink url='&YOCTO_DOCS_DEV_URL;#understanding-and-creating-layers'>Understanding and Creating Layers</ulink>" section
in the Yocto Project Development Manual</para></listitem>
<listitem><para>The "<ulink url='&YOCTO_DOCS_DEV_URL;#modifying-the-kernel'>Modifying the Kernel</ulink>" section
in the Yocto Project Development Manual.</para></listitem>
</itemizedlist>
</para>
<para>
Finally, while this document focuses on the manual creation of
recipes, patches, and configuration files, the Yocto Project
Board Support Package (BSP) tools are available to automate
this process with existing content and work well to create the
initial framework and boilerplate code.
For details on these tools, see the
"<ulink url='&YOCTO_DOCS_BSP_URL;#using-the-yocto-projects-bsp-tools'>Using the Yocto Project's BSP Tools</ulink>"
section in the Yocto Project Board Support Package (BSP) Developer's
Guide.
</para>
<para>
Original Text:
<literallayout class='monospaced'>
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.
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.
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.
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:
o Yocto Project Getting Started Guide
o Yocto Project Development Manual
- 4.3 Modifying Temporary Source Code
- 5.1 Understanding and Creating Layers
- 4.1.2 Modifying the Kernel
(This section should be retired, as well as 5.6, 5.7 - with this document
providing the necessary information)
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.
</literallayout>
</para>
</section>
</chapter>
<!--
vim: expandtab tw=80 ts=4
-->