summaryrefslogtreecommitdiffstats
path: root/documentation/kernel-dev
diff options
context:
space:
mode:
authorScott Rifenbark <scott.m.rifenbark@intel.com>2012-12-18 12:36:08 -0600
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-01-16 15:59:05 +0000
commit1e76c5c558821bb4ce2a4f0723e4ed1bb58b1750 (patch)
tree9751fab445b9cce3768f5286328dd1221860b245 /documentation/kernel-dev
parent974ef52d5677ac3e1d61750391a35412835b8844 (diff)
downloadpoky-1e76c5c558821bb4ce2a4f0723e4ed1bb58b1750.tar.gz
kernel-dev: Rewrite of "Preparing a Layer" section.
(From yocto-docs rev: 9121a1afbf57023b180335541c551ae9356dcd83) Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/kernel-dev')
-rw-r--r--documentation/kernel-dev/kernel-dev-common.xml42
1 files changed, 28 insertions, 14 deletions
diff --git a/documentation/kernel-dev/kernel-dev-common.xml b/documentation/kernel-dev/kernel-dev-common.xml
index a94ad6fd85..7c9f412fd5 100644
--- a/documentation/kernel-dev/kernel-dev-common.xml
+++ b/documentation/kernel-dev/kernel-dev-common.xml
@@ -7,22 +7,36 @@
7<title>Common Tasks</title> 7<title>Common Tasks</title>
8 8
9<para> 9<para>
10 This chapter describes common tasks you need to do when working 10 This chapter presents several common tasks that are performed when you
11 on the Yocto Project Linux kernel. 11 work with the Yocto Project Linux kernel.
12 These tasks include preparing a layer, modifying an existing recipe,
13 iterative development, working with your own sources, and incorporating
14 out-of-tree modules.
12</para> 15</para>
13 16
14 <section id='preparing-a-layer'> 17 <section id='preparing-a-layer'>
15 <title>Preparing a Layer</title> 18 <title>Preparing a Layer</title>
16 19
17 <para> 20 <para>
18 Customizing recipes is best done in a layer with bbappend files. Layers also 21 Customizing kernel recipes is best done in your own custom layer.
19provide a convenient mechanism to create your own recipes. This guide assumes 22 Your layer will have its own BitBake append files
20you will be working from within a layer independent from those released with the 23 (<filename>.bbappend</filename>) and provide a convenient
21Yocto Project. For details on how to create and work with layers, refer to 24 mechanism to create your own recipe files (<filename>.bb</filename>).
22section 5.1 Understanding and Creating Layers in the Yocto Project Development 25 </para>
23Manual. 26
24 27 <para>
25(Kernel specific directions in 5.7.4) 28 This guide is written with the assumption that you will be working
29 from within your custom layer that is independent from layers
30 released with the Yocto Project.
31 For details on how to create and work with layers, see the following
32 sections:
33 <itemizedlist>
34 <listitem><para>"<ulink url='&YOCTO_DOCS_DEV_URL;#understanding-and-creating-layers'>Understanding and Creating Layers</ulink>" for
35 general information on layers and how to create them.</para></listitem>
36 <listitem><para>"<ulink url='&YOCTO_DOCS_DEV_URL;#get-your-layer-set-up-for-the-build'>Get Your Layer Set Up for the Build</ulink>" for
37 specific instructions on setting up a layer for kernel
38 development.</para></listitem>
39 </itemizedlist>
26 </para> 40 </para>
27 </section> 41 </section>
28 42
@@ -286,7 +300,7 @@ LINUX_VERSION_EXTENSION is used to define the Linux kernel CONFIG_LOCALVERSION
286which will be compiled in to the resulting kernel and visible via the uname 300which will be compiled in to the resulting kernel and visible via the uname
287command. 301command.
288 302
289Set SRCREV to the commit ID you wish to build from. 303Set SRCREV to the commit ID you wish to build from.
290 304
291Treat the PR as you would the PR of any other recipe. Increment it to indicate 305Treat the PR as you would the PR of any other recipe. Increment it to indicate
292to the build system that the recipe has changed. 306to the build system that the recipe has changed.
@@ -339,12 +353,12 @@ adjustments. For example, a typical module Makefile will look much like that
339provided with hello-mod: 353provided with hello-mod:
340 354
341 obj-m := hello.o 355 obj-m := hello.o
342 356
343 SRC := $(shell pwd) 357 SRC := $(shell pwd)
344 358
345 all: 359 all:
346 $(MAKE) -C $(KERNEL_SRC) M=$(SRC) 360 $(MAKE) -C $(KERNEL_SRC) M=$(SRC)
347 361
348 modules_install: 362 modules_install:
349 $(MAKE) -C $(KERNEL_SRC) M=$(SRC) modules_install 363 $(MAKE) -C $(KERNEL_SRC) M=$(SRC) modules_install
350 ... 364 ...