From d0858ccb33a68d4bd2b34159e71bb2489f9c4728 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 17 Dec 2012 17:56:26 -0600 Subject: [PATCH] kernel-dev: Updates to get the new kernel-dev manual to make These changes were to the intro chapter to introduce the DocBook form, the Makefile to introduce the new manual, the figure used for the title had to be updated, the root manual .XML file needed changed, and the style sheet. The manual now makes with just the raw text for Darren's intro section. (From yocto-docs rev: 1bceb7bdd4fe5773c11c7ddbdae00554680bbf6d) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/Makefile | 14 +++ .../kernel-dev/figures/kernel-dev-title.png | Bin 27810 -> 13453 bytes documentation/kernel-dev/kernel-dev-intro.xml | 105 +++++++++--------- documentation/kernel-dev/kernel-dev-style.css | 37 +++--- documentation/kernel-dev/kernel-dev.xml | 2 + 5 files changed, 88 insertions(+), 70 deletions(-) diff --git a/documentation/Makefile b/documentation/Makefile index 1ab74fc61a..7c3d16ec04 100644 --- a/documentation/Makefile +++ b/documentation/Makefile @@ -235,6 +235,20 @@ FIGURES = figures STYLESHEET = $(DOC)/*.css endif +ifeq ($(DOC),kernel-dev) +XSLTOPTS = --stringparam html.stylesheet kernel-dev-style.css \ + --stringparam chapter.autolabel 1 \ + --stringparam appendix.autolabel A \ + --stringparam section.autolabel 1 \ + --stringparam section.label.includes.component.label 1 \ + --xinclude +ALLPREQ = html pdf tarball +TARFILES = kernel-dev.html kernel-dev.pdf kernel-dev-style.css figures/kernel-dev-title.png +MANUALS = $(DOC)/$(DOC).html $(DOC)/$(DOC).pdf +FIGURES = figures +STYLESHEET = $(DOC)/*.css +endif + ## # These URI should be rewritten by your distribution's xml catalog to diff --git a/documentation/kernel-dev/figures/kernel-dev-title.png b/documentation/kernel-dev/figures/kernel-dev-title.png index 1cb989f34a54892348f2bb704ac2d5e96f86aa16..7a8dd5437208dd6444ee3730ba72275871fa885a 100644 GIT binary patch literal 13453 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 %poky; ] > - + -Yocto Project Kernel Architecture and Use Manual +Yocto Project Kernel Development Manual -
+
Introduction + - The Yocto Project presents kernels as a fully patched, history-clean Git - repositories. - Each repository represents selected features, board support, - and configurations extensively tested by the Yocto Project. - Yocto Project kernels allow the end user to leverage community - best practices to seamlessly manage the development, build and debug cycles. - - - This manual describes Yocto Project kernels by providing information - on history, organization, benefits, and use. - The manual consists of two sections: - - Concepts: Describes concepts behind a kernel. - You will understand how a kernel is organized and why it is organized in - the way it is. You will understand the benefits of a kernel's organization - and the mechanisms used to work with the kernel and how to apply it in your - design process. - Using a Kernel: Describes best practices - and "how-to" information - that lets you put a kernel to practical use. - Some examples are how to examine changes in a branch and how to - save kernel modifications. - + 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. - For more information on the Linux kernel, see the following links: - - The Linux Foundation's guide for kernel development - process - - A fairly encompassing guide on Linux kernel development - - - + 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. - For more discussion on the Yocto Project kernel, you can see these sections - in the Yocto Project Development Manual: + 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: - - "Kernel Overview" - - "Kernel Modification Workflow" + Yocto Project Quick Start - - "Patching the Kernel" - - "Configuring the Kernel" + 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) + - For general information on the Yocto Project, visit the website at - . + 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.
- - - - - -