<!DOCTYPE book 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; ] >

<book id='kernel-dev' lang='en'
      xmlns:xi="http://www.w3.org/2003/XInclude"
      xmlns="http://docbook.org/ns/docbook"
      >
    <bookinfo>

        <mediaobject>
            <imageobject>
                <imagedata fileref='figures/kernel-dev-title.png'
                    format='SVG'
                    align='left' scalefit='1' width='100%'/>
            </imageobject>
        </mediaobject>

        <title>
		  Yocto Project Linux Kernel Development Manual
		</title>

        <authorgroup>
            <author>
                <firstname>Scott</firstname> <surname>Rifenbark</surname>
                <affiliation>
                    <orgname>Scotty's Documentation Services, INC</orgname>
                </affiliation>
                <email>srifenbark@gmail.com</email>
            </author>
        </authorgroup>

        <revhistory>
            <revision>
                <revnumber>1.4</revnumber>
                <date>April 2013</date>
                <revremark>Released with the Yocto Project 1.4 Release.</revremark>
            </revision>
            <revision>
                <revnumber>1.5</revnumber>
                <date>October 2013</date>
                <revremark>Released with the Yocto Project 1.5 Release.</revremark>
            </revision>
            <revision>
                <revnumber>1.5.1</revnumber>
                <date>January 2014</date>
                <revremark>Released with the Yocto Project 1.5.1 Release.</revremark>
            </revision>
            <revision>
                <revnumber>1.6</revnumber>
                <date>April 2014</date>
                <revremark>Released with the Yocto Project 1.6 Release.</revremark>
            </revision>
            <revision>
                <revnumber>1.7</revnumber>
                <date>October 2014</date>
                <revremark>Released with the Yocto Project 1.7 Release.</revremark>
            </revision>
            <revision>
                <revnumber>1.8</revnumber>
                <date>April 2015</date>
                <revremark>Released with the Yocto Project 1.8 Release.</revremark>
            </revision>
            <revision>
                <revnumber>2.0</revnumber>
                <date>October 2015</date>
                <revremark>Released with the Yocto Project 2.0 Release.</revremark>
            </revision>
            <revision>
                <revnumber>2.1</revnumber>
                <date>April 2016</date>
                <revremark>Released with the Yocto Project 2.1 Release.</revremark>
            </revision>
            <revision>
                <revnumber>2.2</revnumber>
                <date>October 2016</date>
                <revremark>Released with the Yocto Project 2.2 Release.</revremark>
            </revision>
            <revision>
                <revnumber>2.3</revnumber>
                <date>May 2017</date>
                <revremark>Released with the Yocto Project 2.3 Release.</revremark>
            </revision>
            <revision>
                <revnumber>2.4</revnumber>
                <date>October 2017</date>
                <revremark>Released with the Yocto Project 2.4 Release.</revremark>
            </revision>
            <revision>
                <revnumber>2.5</revnumber>
                <date>May 2018</date>
                <revremark>Released with the Yocto Project 2.5 Release.</revremark>
            </revision>
            <revision>
                <revnumber>2.6</revnumber>
                <date>November 2018</date>
                <revremark>Released with the Yocto Project 2.6 Release.</revremark>
            </revision>
            <revision>
                <revnumber>2.7</revnumber>
                <date>May 2019</date>
                <revremark>Released with the Yocto Project 2.7 Release.</revremark>
            </revision>
            <revision>
                <revnumber>3.0</revnumber>
                <date>&REL_MONTH_YEAR;</date>
                <revremark>Released with the Yocto Project 3.0 Release.</revremark>
            </revision>
        </revhistory>

    <copyright>
      <year>&COPYRIGHT_YEAR;</year>
      <holder>Linux Foundation</holder>
    </copyright>

    <legalnotice>
      <para>
        Permission is granted to copy, distribute and/or modify this document under
        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.
      </para>
           <note><title>Manual Notes</title>
               <itemizedlist>
                   <listitem><para>
                       This version of the
                       <emphasis>Yocto Project Linux Kernel Development Manual</emphasis>
                       is for the &YOCTO_DOC_VERSION; release of the
                       Yocto Project.
                       To be sure you have the latest version of the manual
                       for this release, go to the
                       <ulink url='&YOCTO_HOME_URL;/documentation'>Yocto Project documentation page</ulink>
                       and select the manual from that site.
                       Manuals from the site are more up-to-date than manuals
                       derived from the Yocto Project released TAR files.
                       </para></listitem>
                   <listitem><para>
                       If you located this manual through a web search, the
                       version of the manual might not be the one you want
                       (e.g. the search might have returned a manual much
                       older than the Yocto Project version with which you
                       are working).
                       You can see all Yocto Project major releases by
                       visiting the
                       <ulink url='&YOCTO_WIKI_URL;/wiki/Releases'>Releases</ulink>
                       page.
                       If you need a version of this manual for a different
                       Yocto Project release, visit the
                       <ulink url='&YOCTO_HOME_URL;/documentation'>Yocto Project documentation page</ulink>
                       and select the manual set by using the
                       "ACTIVE RELEASES DOCUMENTATION" or "DOCUMENTS ARCHIVE"
                       pull-down menus.
                       </para></listitem>
                   <listitem><para>
                       To report any inaccuracies or problems with this
                       manual, send an email to the Yocto Project
                       discussion group at
                       <filename>yocto@yoctoproject.com</filename> or log into
                       the freenode <filename>#yocto</filename> channel.
                       </para></listitem>
               </itemizedlist>
           </note>
    </legalnotice>

    </bookinfo>

    <xi:include href="kernel-dev-intro.xml"/>

    <xi:include href="kernel-dev-common.xml"/>

    <xi:include href="kernel-dev-advanced.xml"/>

    <xi:include href="kernel-dev-concepts-appx.xml"/>

    <xi:include href="kernel-dev-maint-appx.xml"/>

    <xi:include href="kernel-dev-faq.xml"/>

<!--    <index id='index'>
      <title>Index</title>
    </index>
-->

</book>
<!--
vim: expandtab tw=80 ts=4
-->
