diff options
author | Scott Rifenbark <scott.m.rifenbark@intel.com> | 2011-10-04 06:54:04 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-10-04 23:12:07 +0100 |
commit | b9a732d4c7d20d218db22e6c66ecc38efe193f77 (patch) | |
tree | 7dd935d68d2a9c0f7c42ed4303ae8299e9015a28 /documentation/dev-manual | |
parent | bbd9bbe5fe4c76a8adeb5ab01538f0fef3c2f3bd (diff) | |
download | poky-b9a732d4c7d20d218db22e6c66ecc38efe193f77.tar.gz |
documentation/dev-manual/dev-manual-kernel-appendix.xml: general updates
I made a pass through the book to clean up all areas in preparation to
running the examples again. Most changes were punctuation, manual
section reference formats, and wordings.
(From yocto-docs rev: 0d054f79c82ddc204938dea187312d1a80d0a2e1)
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/dev-manual')
-rw-r--r-- | documentation/dev-manual/dev-manual-kernel-appendix.xml | 148 |
1 files changed, 71 insertions, 77 deletions
diff --git a/documentation/dev-manual/dev-manual-kernel-appendix.xml b/documentation/dev-manual/dev-manual-kernel-appendix.xml index 2fb761a7fb..b6f8e39fe6 100644 --- a/documentation/dev-manual/dev-manual-kernel-appendix.xml +++ b/documentation/dev-manual/dev-manual-kernel-appendix.xml | |||
@@ -47,7 +47,7 @@ | |||
47 | <listitem><para>The <filename>poky-extras</filename> Git repository placed | 47 | <listitem><para>The <filename>poky-extras</filename> Git repository placed |
48 | within the local Yocto Project files Git repository</para></listitem> | 48 | within the local Yocto Project files Git repository</para></listitem> |
49 | <listitem><para>A bare clone of the Linux Yocto kernel upstream Git | 49 | <listitem><para>A bare clone of the Linux Yocto kernel upstream Git |
50 | repository that you want to modify | 50 | repository to which you want to push your modifications. |
51 | </para></listitem> | 51 | </para></listitem> |
52 | <listitem><para>A copy of that bare clone in which you make your source | 52 | <listitem><para>A copy of that bare clone in which you make your source |
53 | modifcations</para></listitem> | 53 | modifcations</para></listitem> |
@@ -56,9 +56,10 @@ | |||
56 | 56 | ||
57 | <para> | 57 | <para> |
58 | The following figure summarizes these four areas. | 58 | The following figure summarizes these four areas. |
59 | Within each rectangular that represents a data structure an URL appears at the | 59 | Within each rectangular that represents a data structure, a |
60 | host development directory pathname appears at the | ||
60 | lower left-hand corner of the box. | 61 | lower left-hand corner of the box. |
61 | These URLs are the locations used in this example. | 62 | These pathnames are the locations used in this example. |
62 | The figure also provides key statements and commands used during the kernel | 63 | The figure also provides key statements and commands used during the kernel |
63 | modification process: | 64 | modification process: |
64 | </para> | 65 | </para> |
@@ -74,13 +75,12 @@ | |||
74 | <listitem><para><emphasis>Local Yocto Project Files Git Repository:</emphasis> | 75 | <listitem><para><emphasis>Local Yocto Project Files Git Repository:</emphasis> |
75 | This area contains all the metadata that supports building images in the | 76 | This area contains all the metadata that supports building images in the |
76 | Yocto Project build environment - the local Yocto Project files. | 77 | Yocto Project build environment - the local Yocto Project files. |
77 | The Local Yocto Project files Git repository also contains the build directory | 78 | The local Yocto Project files Git repository also contains the build directory |
78 | and a configuration directory that let you control the build. | 79 | and a configuration directory that let you control the build. |
79 | Note also that in this example the repository also contains the | 80 | Note also that in this example, the repository also contains the |
80 | <filename>poky-extras</filename> Git repository.</para> | 81 | <filename>poky-extras</filename> Git repository.</para> |
81 | <para>See the bulleted item | 82 | <para>See the bulleted item |
82 | <link linkend='local-yp-release'>Yocto Project Release</link> in | 83 | "<link linkend='local-yp-release'>Yocto Project Release</link>" |
83 | <xref linkend='getting-setup'>Getting Setup</xref> earlier in this manual | ||
84 | for information on how to get these files.</para></listitem> | 84 | for information on how to get these files.</para></listitem> |
85 | <listitem><para><emphasis><filename>poky-extras</filename> Git Repository:</emphasis> | 85 | <listitem><para><emphasis><filename>poky-extras</filename> Git Repository:</emphasis> |
86 | This area contains the <filename>meta-kernel-dev</filename> layer, | 86 | This area contains the <filename>meta-kernel-dev</filename> layer, |
@@ -91,9 +91,8 @@ | |||
91 | (or really any) kernel recipes that faciliate the creation and development | 91 | (or really any) kernel recipes that faciliate the creation and development |
92 | of kernel features, BSPs or configurations.</para> | 92 | of kernel features, BSPs or configurations.</para> |
93 | <para>See the bulleted item | 93 | <para>See the bulleted item |
94 | <link linkend='poky-extras-repo'>The | 94 | "<link linkend='poky-extras-repo'>The |
95 | <filename>poky-extras</filename> Git Repository</link> in | 95 | <filename>poky-extras</filename> Git Repository</link>" |
96 | <xref linkend='getting-setup'>Getting Setup</xref> earlier in this manual | ||
97 | for information on how to get these files.</para></listitem> | 96 | for information on how to get these files.</para></listitem> |
98 | <listitem><para><emphasis>Bare Clone of the Linux Yocto kernel:</emphasis> | 97 | <listitem><para><emphasis>Bare Clone of the Linux Yocto kernel:</emphasis> |
99 | This bare Git repository tracks the upstream Git repository of the Linux | 98 | This bare Git repository tracks the upstream Git repository of the Linux |
@@ -105,8 +104,7 @@ | |||
105 | <filename>poky-extras</filename> repository points to the bare clone | 104 | <filename>poky-extras</filename> repository points to the bare clone |
106 | so that the build process can locate the locally changed source files.</para> | 105 | so that the build process can locate the locally changed source files.</para> |
107 | <para>See the bulleted item | 106 | <para>See the bulleted item |
108 | <link linkend='local-kernel-files'>Linux Yocto Kernel</link> in | 107 | "<link linkend='local-kernel-files'>Linux Yocto Kernel</link>" |
109 | <xref linkend='getting-setup'>Getting Setup</xref> earlier in this manual | ||
110 | for information on how to set up the bare clone. | 108 | for information on how to set up the bare clone. |
111 | </para></listitem> | 109 | </para></listitem> |
112 | <listitem><para><emphasis>Copy of the Linux Yocto Kernel Bare Clone:</emphasis> | 110 | <listitem><para><emphasis>Copy of the Linux Yocto Kernel Bare Clone:</emphasis> |
@@ -114,13 +112,13 @@ | |||
114 | Any changes you make to files in this location need to ultimately be pushed | 112 | Any changes you make to files in this location need to ultimately be pushed |
115 | to the bare clone using the <filename>git push</filename> command.</para> | 113 | to the bare clone using the <filename>git push</filename> command.</para> |
116 | <para>See the bulleted item | 114 | <para>See the bulleted item |
117 | "<link linkend='local-kernel-files'>Linux Yocto Kernel</link>" earlier in this manual | 115 | "<link linkend='local-kernel-files'>Linux Yocto Kernel</link>" |
118 | for information on how to set up the bare clone. | 116 | for information on how to set up the bare clone. |
119 | <note>Typically, Git workflows follow a scheme where changes made to a local area | 117 | <note>Typically, Git workflows follow a scheme where changes made to a local area |
120 | are pulled into a Git repository. | 118 | are pulled into a Git repository. |
121 | However, because the <filename>git pull</filename> command does not work | 119 | However, because the <filename>git pull</filename> command does not work |
122 | with bare clones, this workflow pushes changes to the | 120 | with bare clones, this workflow pushes changes to the |
123 | repository even though other more complicated methods do exist that | 121 | repository even though you could use other more complicated methods to |
124 | get changes into the bare clone.</note> | 122 | get changes into the bare clone.</note> |
125 | </para></listitem> | 123 | </para></listitem> |
126 | </itemizedlist> | 124 | </itemizedlist> |
@@ -136,8 +134,7 @@ | |||
136 | This example uses <filename>poky</filename> as the root directory of the | 134 | This example uses <filename>poky</filename> as the root directory of the |
137 | local Yocto Project files Git repository. | 135 | local Yocto Project files Git repository. |
138 | See the bulleted item | 136 | See the bulleted item |
139 | <link linkend='local-yp-release'>Yocto Project Release</link> in | 137 | "<link linkend='local-yp-release'>Yocto Project Release</link>" |
140 | <xref linkend='getting-setup'>Getting Setup</xref> earlier in this manual | ||
141 | for information on how to get these files. | 138 | for information on how to get these files. |
142 | </para> | 139 | </para> |
143 | 140 | ||
@@ -151,14 +148,14 @@ | |||
151 | $ git branch -a | 148 | $ git branch -a |
152 | $ git tag -l | 149 | $ git tag -l |
153 | </literallayout> | 150 | </literallayout> |
154 | This example uses the Yocto Project 1.1_M3 Release, | 151 | This example uses the Yocto Project 1.1 Release code named "edison", |
155 | which maps to the <filename>1.1_M3</filename> branch in the repository. | 152 | which maps to the <filename>edison</filename> branch in the repository. |
156 | The following commands create and checkout the local <filename>1.1_M3</filename> | 153 | The following commands create and checkout the local <filename>edison</filename> |
157 | branch: | 154 | branch: |
158 | <literallayout class='monospaced'> | 155 | <literallayout class='monospaced'> |
159 | $ git checkout -b 1.1_M3 origin/1.1_M3 | 156 | $ git checkout -b edison origin/edison |
160 | Branch 1.1_M3 set up to track remote branch 1.1_M3 from origin. | 157 | Branch edison set up to track remote branch edison from origin. |
161 | Switched to a new branch '1.1_M3' | 158 | Switched to a new branch 'edison' |
162 | </literallayout> | 159 | </literallayout> |
163 | </para> | 160 | </para> |
164 | </section> | 161 | </section> |
@@ -170,9 +167,8 @@ | |||
170 | This example places the <filename>poky-extras</filename> Git repository inside | 167 | This example places the <filename>poky-extras</filename> Git repository inside |
171 | of <filename>poky</filename>. | 168 | of <filename>poky</filename>. |
172 | See the bulleted item | 169 | See the bulleted item |
173 | <link linkend='poky-extras-repo'>The | 170 | "<link linkend='poky-extras-repo'>The |
174 | <filename>poky-extras</filename> Git Repository</link> in | 171 | <filename>poky-extras</filename> Git Repository</link>" |
175 | <xref linkend='getting-setup'>Getting Setup</xref> earlier in this manual | ||
176 | for information on how to get the <filename>poky-extras</filename> repository. | 172 | for information on how to get the <filename>poky-extras</filename> repository. |
177 | </para> | 173 | </para> |
178 | </section> | 174 | </section> |
@@ -185,8 +181,7 @@ | |||
185 | Thus, you need to create a bare clone of that kernel and then make a copy of the | 181 | Thus, you need to create a bare clone of that kernel and then make a copy of the |
186 | bare clone. | 182 | bare clone. |
187 | See the bulleted item | 183 | See the bulleted item |
188 | <link linkend='local-kernel-files'>Linux Yocto Kernel</link> in | 184 | "<link linkend='local-kernel-files'>Linux Yocto Kernel</link>" |
189 | <xref linkend='getting-setup'>Getting Setup</xref> earlier in this manual | ||
190 | for information on how to do that. | 185 | for information on how to do that. |
191 | </para> | 186 | </para> |
192 | 187 | ||
@@ -230,7 +225,9 @@ | |||
230 | of cores your machine supports and set <filename>PARALLEL_MAKE</filename> to one and | 225 | of cores your machine supports and set <filename>PARALLEL_MAKE</filename> to one and |
231 | a half times the number of cores your machine supports. | 226 | a half times the number of cores your machine supports. |
232 | </note> | 227 | </note> |
233 | The following commands build the default <filename>qemux86</filename> image: | 228 | The following two commands build the default <filename>qemux86</filename> image and |
229 | <filename>source</filename> build environment setup script. | ||
230 | If necessary, the script creates the build directory: | ||
234 | <literallayout class='monospaced'> | 231 | <literallayout class='monospaced'> |
235 | $ cd ~/poky | 232 | $ cd ~/poky |
236 | $ source oe-init-build-env | 233 | $ source oe-init-build-env |
@@ -248,15 +245,14 @@ | |||
248 | meta-ide-support | 245 | meta-ide-support |
249 | 246 | ||
250 | You can also run generated qemu images with a command like 'runqemu qemux86' | 247 | You can also run generated qemu images with a command like 'runqemu qemux86' |
251 | |||
252 | $ bitbake -k core-image-minimal | ||
253 | </literallayout> | 248 | </literallayout> |
254 | </para> | 249 | </para> |
255 | 250 | ||
256 | <para> | 251 | <para> |
257 | The <filename>source</filename> command sets up the build environment and, | 252 | The following <filename>bitbake</filename> command starts the build: |
258 | if necessary, creates the build directory. | 253 | <literallayout class='monospaced'> |
259 | The following <filename>bitbake</filename> command starts the build. | 254 | $ bitbake -k core-image-minimal |
255 | </literallayout> | ||
260 | <note>Be sure to check the settings in the <filename>local.conf</filename> | 256 | <note>Be sure to check the settings in the <filename>local.conf</filename> |
261 | before starting the build.</note> | 257 | before starting the build.</note> |
262 | </para> | 258 | </para> |
@@ -380,15 +376,16 @@ | |||
380 | change the target architecture of the machine you are building or you move | 376 | change the target architecture of the machine you are building or you move |
381 | the bare clone, copy of the clone, or the <filename>poky-extras</filename> repository: | 377 | the bare clone, copy of the clone, or the <filename>poky-extras</filename> repository: |
382 | <itemizedlist> | 378 | <itemizedlist> |
383 | <listitem><para><emphasis>Build for the Correct Target Architecture</emphasis> - The | 379 | <listitem><para><emphasis>Build for the Correct Target Architecture:</emphasis> The |
384 | <filename>local.conf</filename> file in the build directory defines the build's | 380 | <filename>local.conf</filename> file in the build directory defines the build's |
385 | target architecture. | 381 | target architecture. |
386 | By default, <filename>MACHINE</filename> is set to | 382 | By default, <filename>MACHINE</filename> is set to |
387 | <filename>qemux86</filename>, which specifies a 32-bit Intel Architecture | 383 | <filename>qemux86</filename>, which specifies a 32-bit |
384 | <trademark class='registered'>Intel</trademark> Architecture | ||
388 | target machine suitable for the QEMU emulator. | 385 | target machine suitable for the QEMU emulator. |
389 | In this example, <filename>MACHINE</filename> is correctly configured. | 386 | In this example, <filename>MACHINE</filename> is correctly configured. |
390 | </para></listitem> | 387 | </para></listitem> |
391 | <listitem><para><emphasis>Optimize Build Time</emphasis> - Also in the | 388 | <listitem><para><emphasis>Optimize Build Time:</emphasis> Also in the |
392 | <filename>local.conf</filename> file are two variables that can speed your | 389 | <filename>local.conf</filename> file are two variables that can speed your |
393 | build time if your host supports multi-core and multi-thread capabilities: | 390 | build time if your host supports multi-core and multi-thread capabilities: |
394 | <filename>BB_NUMBER_THREADS</filename> and <filename>PARALLEL_MAKE</filename>. | 391 | <filename>BB_NUMBER_THREADS</filename> and <filename>PARALLEL_MAKE</filename>. |
@@ -397,7 +394,7 @@ | |||
397 | cores and setting <filename>PARALLEL_MAKE</filename> to one and a half times the | 394 | cores and setting <filename>PARALLEL_MAKE</filename> to one and a half times the |
398 | number of cores.</para></listitem> | 395 | number of cores.</para></listitem> |
399 | <listitem><para><emphasis>Identify Your <filename>meta-kernel-dev</filename> | 396 | <listitem><para><emphasis>Identify Your <filename>meta-kernel-dev</filename> |
400 | Layer</emphasis> - The <filename>BBLAYERS</filename> variable in the | 397 | Layer:</emphasis> The <filename>BBLAYERS</filename> variable in the |
401 | <filename>bblayers.conf</filename> file found in the | 398 | <filename>bblayers.conf</filename> file found in the |
402 | <filename>poky/build/conf</filename> directory needs to have the path to your local | 399 | <filename>poky/build/conf</filename> directory needs to have the path to your local |
403 | <filename>meta-kernel-dev</filename> layer. | 400 | <filename>meta-kernel-dev</filename> layer. |
@@ -414,7 +411,7 @@ | |||
414 | /home/scottrif/poky/poky-extras/meta-kernel-dev \ | 411 | /home/scottrif/poky/poky-extras/meta-kernel-dev \ |
415 | " | 412 | " |
416 | </literallayout></para></listitem> | 413 | </literallayout></para></listitem> |
417 | <listitem><para><emphasis>Identify Your Source Files</emphasis> - In the | 414 | <listitem><para><emphasis>Identify Your Source Files:</emphasis> In the |
418 | <filename>linux-yocto_3.0.bbappend</filename> file located in the | 415 | <filename>linux-yocto_3.0.bbappend</filename> file located in the |
419 | <filename>poky-extras/meta-kernel-dev/recipes-kernel/linux</filename> | 416 | <filename>poky-extras/meta-kernel-dev/recipes-kernel/linux</filename> |
420 | directory, you need to identify the location of the | 417 | directory, you need to identify the location of the |
@@ -427,7 +424,7 @@ | |||
427 | <literallayout class='monospaced'> | 424 | <literallayout class='monospaced'> |
428 | KSRC_linux_yocto ?= /home/scottrif/linux-yocto-3.0.git | 425 | KSRC_linux_yocto ?= /home/scottrif/linux-yocto-3.0.git |
429 | </literallayout></para></listitem> | 426 | </literallayout></para></listitem> |
430 | <listitem><para><emphasis>Specify the Kernel Machine</emphasis> - Also in the | 427 | <listitem><para><emphasis>Specify the Kernel Machine:</emphasis> Also in the |
431 | <filename>linux-yocto_3.0.bbappend</filename> file, you need to specify | 428 | <filename>linux-yocto_3.0.bbappend</filename> file, you need to specify |
432 | the kernel machine with the following statement: | 429 | the kernel machine with the following statement: |
433 | <literallayout class='monospaced'> | 430 | <literallayout class='monospaced'> |
@@ -457,14 +454,14 @@ | |||
457 | <orderedlist> | 454 | <orderedlist> |
458 | <listitem><para>Your environment should be set up since you previously sourced | 455 | <listitem><para>Your environment should be set up since you previously sourced |
459 | the <filename>oe-init-build-env</filename> script. | 456 | the <filename>oe-init-build-env</filename> script. |
460 | If it isn't, source the script again from <filename>poky</filename> | 457 | If it isn't, source the script again from <filename>poky</filename>. |
461 | </para></listitem> | 458 | </para></listitem> |
462 | <listitem><para>Be sure old images are cleaned out by running the | 459 | <listitem><para>Be sure old images are cleaned out by running the |
463 | <filename>cleanall</filename> BitBake task as follows: | 460 | <filename>cleanall</filename> BitBake task as follows: |
464 | <literallayout class='monospaced'> | 461 | <literallayout class='monospaced'> |
465 | $ bitbake -c cleanall linux-yocto | 462 | $ bitbake -c cleanall linux-yocto |
466 | </literallayout></para> | 463 | </literallayout></para> |
467 | <para><note>Never remove by hand any files from the <filename>tmp/deploy</filename> | 464 | <para><note>Never remove any files by hand from the <filename>tmp/deploy</filename> |
468 | directory insided the local Yocto Project files build directory. | 465 | directory insided the local Yocto Project files build directory. |
469 | Always use the BitBake <filename>cleanall</filename> task to clear | 466 | Always use the BitBake <filename>cleanall</filename> task to clear |
470 | out previous builds.</note></para></listitem> | 467 | out previous builds.</note></para></listitem> |
@@ -472,14 +469,12 @@ | |||
472 | <literallayout class='monospaced'> | 469 | <literallayout class='monospaced'> |
473 | $ bitbake -k core-image-minimal | 470 | $ bitbake -k core-image-minimal |
474 | </literallayout></para></listitem> | 471 | </literallayout></para></listitem> |
475 | </orderedlist> | 472 | <listitem><para>Finally, boot the modified image in the QEMU emulator |
476 | </para> | 473 | using this command: |
477 | 474 | <literallayout class='monospaced'> | |
478 | <para> | ||
479 | Finally, boot the modified image in the QEMU emulator using this command: | ||
480 | <literallayout class='monospaced'> | ||
481 | $ runqemu qemux86 | 475 | $ runqemu qemux86 |
482 | </literallayout> | 476 | </literallayout></para></listitem> |
477 | </orderedlist> | ||
483 | </para> | 478 | </para> |
484 | 479 | ||
485 | <para> | 480 | <para> |
@@ -501,8 +496,8 @@ | |||
501 | <title>Changing the Kernel Configuration</title> | 496 | <title>Changing the Kernel Configuration</title> |
502 | 497 | ||
503 | <para> | 498 | <para> |
504 | This example changes the default behavior (off) of the Symmetric Multi-processing Support | 499 | This example changes the default behavior, which is "off", of the Symmetric |
505 | (<filename>CONFIG_SMP</filename>) to on. | 500 | Multi-processing Support (<filename>CONFIG_SMP</filename>) to "on". |
506 | It is a simple example that demonstrates how to reconfigure the kernel. | 501 | It is a simple example that demonstrates how to reconfigure the kernel. |
507 | </para> | 502 | </para> |
508 | 503 | ||
@@ -511,31 +506,29 @@ | |||
511 | 506 | ||
512 | <para> | 507 | <para> |
513 | If you took the time to work through the example that modifies the kernel source code | 508 | If you took the time to work through the example that modifies the kernel source code |
514 | in <xref linkend='modifying-the-kernel-source-code'>Modifying the Kernel Source | 509 | in "<link linkend='modifying-the-kernel-source-code'>Modifying the Kernel Source |
515 | Code</xref> you are set up to quickly work through this example. | 510 | Code</link>" you are already set up to quickly work through this example. |
516 | If not, then work through the following list to prepare: | 511 | If not, then work through the following list to prepare: |
517 | <itemizedlist> | 512 | <itemizedlist> |
518 | <listitem><para><emphasis>Understand the development environment:</emphasis> | 513 | <listitem><para><emphasis>Understand the development environment:</emphasis> |
519 | See <xref linkend='understanding-the-files-you-need'> | 514 | See "<link linkend='understanding-the-files-you-need'>Understanding |
520 | Understanding the Files You Need</xref> for information.</para></listitem> | 515 | the Files You Need</link>" for information.</para></listitem> |
521 | <listitem><para><emphasis>Set up the local Yocto Project files Git | 516 | <listitem><para><emphasis>Set up the local Yocto Project files Git |
522 | repository:</emphasis> | 517 | repository:</emphasis> |
523 | See <xref linkend='setting-up-the-local-yocto-project-files-git-repository'> | 518 | See "<link linkend='setting-up-the-local-yocto-project-files-git-repository'>Setting |
524 | Setting Up the Local Yocto Project Files Git Repository</xref> for | 519 | Up the Local Yocto Project Files Git Repository</link>" for |
525 | information.</para></listitem> | 520 | information.</para></listitem> |
526 | <listitem><para><emphasis>Set up the <filename>poky-extras</filename> Git | 521 | <listitem><para><emphasis>Set up the <filename>poky-extras</filename> Git |
527 | repository:</emphasis> | 522 | repository:</emphasis> |
528 | See <xref linkend='setting-up-the-poky-extras-git-repository'> | 523 | See "<link linkend='setting-up-the-poky-extras-git-repository'>Setting |
529 | Setting Up <filename>poky-extras</filename> Git repository</xref> for | 524 | Up <filename>poky-extras</filename> Git repository</link>" for |
530 | information.</para></listitem> | 525 | information.</para></listitem> |
531 | <listitem><para><emphasis>Set up the the bare clone and its copy:</emphasis> | 526 | <listitem><para><emphasis>Set up the the bare clone and its copy:</emphasis> |
532 | See <xref linkend='setting-up-the-bare-clone-and-its-copy'> | 527 | See "<link linkend='setting-up-the-bare-clone-and-its-copy'>Setting Up the |
533 | Setting Up the Bare Clone and its Copy</xref> for information. | 528 | Bare Clone and its Copy</link>" for information.</para></listitem> |
534 | </para></listitem> | ||
535 | <listitem><para><emphasis>Build the default QEMU kernel image:</emphasis> | 529 | <listitem><para><emphasis>Build the default QEMU kernel image:</emphasis> |
536 | See <xref linkend='building-and-booting-the-default-qemu-kernel-image'> | 530 | See "<link linkend='building-and-booting-the-default-qemu-kernel-image'>Building |
537 | Building and Booting the Default QEMU Kernel image</xref> | 531 | and Booting the Default QEMU Kernel image</link>" for information. |
538 | for information. | ||
539 | Do not boot the image in the QEMU emulator at this point.</para></listitem> | 532 | Do not boot the image in the QEMU emulator at this point.</para></listitem> |
540 | </itemizedlist> | 533 | </itemizedlist> |
541 | </para> | 534 | </para> |
@@ -546,7 +539,7 @@ | |||
546 | 539 | ||
547 | <para> | 540 | <para> |
548 | By default, <filename>CONFIG_SMP</filename> supports single processor machines. | 541 | By default, <filename>CONFIG_SMP</filename> supports single processor machines. |
549 | To see this default setting from within the QEMU emulator boot your image using | 542 | To see this default setting from within the QEMU emulator, boot your image using |
550 | the emulator as follows: | 543 | the emulator as follows: |
551 | <literallayout class='monospaced'> | 544 | <literallayout class='monospaced'> |
552 | $ runqemu qemux86 | 545 | $ runqemu qemux86 |
@@ -572,7 +565,7 @@ | |||
572 | <para> | 565 | <para> |
573 | The <filename>menuconfig</filename> tool provides an interactive method with which | 566 | The <filename>menuconfig</filename> tool provides an interactive method with which |
574 | to set kernel configurations. | 567 | to set kernel configurations. |
575 | You need to run <filename>menuconfig</filename> inside the BitBake environment. | 568 | You need to run <filename>menuconfig</filename> inside the Yocto BitBake environment. |
576 | Thus, the environment must be set up using the <filename>oe-init-build-env</filename> | 569 | Thus, the environment must be set up using the <filename>oe-init-build-env</filename> |
577 | script found in the Yocto Project files Git repository build directory. | 570 | script found in the Yocto Project files Git repository build directory. |
578 | If you have not sourced this script do so with the following commands: | 571 | If you have not sourced this script do so with the following commands: |
@@ -585,7 +578,7 @@ | |||
585 | <para> | 578 | <para> |
586 | After setting up the environment to run <filename>menuconfig</filename>, you are ready | 579 | After setting up the environment to run <filename>menuconfig</filename>, you are ready |
587 | to use the tool to interactively change the kernel configuration. | 580 | to use the tool to interactively change the kernel configuration. |
588 | In this example we are basing our changes on the <filename>linux-yocto-3.0</filename> | 581 | In this example, we are basing our changes on the <filename>linux-yocto-3.0</filename> |
589 | kernel. | 582 | kernel. |
590 | The Yocto Project build environment recognizes this kernel as | 583 | The Yocto Project build environment recognizes this kernel as |
591 | <filename>linux-yocto</filename>. | 584 | <filename>linux-yocto</filename>. |
@@ -605,14 +598,15 @@ | |||
605 | </para> | 598 | </para> |
606 | 599 | ||
607 | <para> | 600 | <para> |
608 | Once you save the selection the <filename>.config</filename> configuration file | 601 | Once you save the selection, the <filename>.config</filename> configuration file |
609 | is updated. | 602 | is updated. |
610 | This is the file that the build system uses to configure the Linux Yocto kernel | 603 | This is the file that the build system uses to configure the Linux Yocto kernel |
611 | when it is built. | 604 | when it is built. |
612 | You can find and examine this file in the Yocto Project files Git repository in | 605 | You can find and examine this file in the Yocto Project files Git repository in |
613 | the build directory. | 606 | the build directory. |
614 | This example uses the following. | 607 | This example uses the following. |
615 | Note that this example directory is arificially split in order to make it more | 608 | Note that this example directory is artificially split and many of the characters |
609 | in the actually filename are omitted in order to make it more | ||
616 | readable: | 610 | readable: |
617 | <literallayout class='monospaced'> | 611 | <literallayout class='monospaced'> |
618 | ~/poky/build/tmp/work/qemux86-poky-linux/linux-yocto-2.6.37+git1+84f... | 612 | ~/poky/build/tmp/work/qemux86-poky-linux/linux-yocto-2.6.37+git1+84f... |
@@ -621,7 +615,7 @@ | |||
621 | </para> | 615 | </para> |
622 | 616 | ||
623 | <para> | 617 | <para> |
624 | Within the <filename>.config</filename> you can see the following setting: | 618 | Within the <filename>.config</filename> file, you can see the following setting: |
625 | <literallayout class='monospaced'> | 619 | <literallayout class='monospaced'> |
626 | CONFIG_SMP=y | 620 | CONFIG_SMP=y |
627 | </literallayout> | 621 | </literallayout> |
@@ -630,13 +624,12 @@ | |||
630 | <para> | 624 | <para> |
631 | A good method to isolate changed configurations is to use a combination of the | 625 | A good method to isolate changed configurations is to use a combination of the |
632 | <filename>menuconfig</filename> tool and simple shell commands. | 626 | <filename>menuconfig</filename> tool and simple shell commands. |
633 | Before changing configurations with <filename>menuconfig</filename> simply rename | 627 | Before changing configurations with <filename>menuconfig</filename>, simply rename |
634 | the default <filename>.config</filename>, use <filename>menuconfig</filename> to make | 628 | the default <filename>.config</filename>, use <filename>menuconfig</filename> to make |
635 | as many changes an you want and save them, then compare the renamed configuration | 629 | as many changes an you want and save them, then compare the renamed configuration |
636 | file against the newly created file. | 630 | file against the newly created file. |
637 | You can use the resulting differences as your base to create configuration fragments | 631 | You can use the resulting differences as your base to create configuration fragments |
638 | to permanently save in your kernel layer. | 632 | to permanently save in your kernel layer. |
639 | For an example of this procedure, see [WRITER'S NOTE: need forwarding link to section]. | ||
640 | </para> | 633 | </para> |
641 | </section> | 634 | </section> |
642 | 635 | ||
@@ -644,7 +637,7 @@ | |||
644 | <title>Recompiling the Kernel and Testing the New Configuration</title> | 637 | <title>Recompiling the Kernel and Testing the New Configuration</title> |
645 | 638 | ||
646 | <para> | 639 | <para> |
647 | At this point you are ready to recompile your kernel image with | 640 | At this point, you are ready to recompile your kernel image with |
648 | the new setting in effect using the BitBake commands below: | 641 | the new setting in effect using the BitBake commands below: |
649 | <literallayout class='monospaced'> | 642 | <literallayout class='monospaced'> |
650 | $ bitbake linux-yocto -c compile -f | 643 | $ bitbake linux-yocto -c compile -f |
@@ -671,7 +664,7 @@ | |||
671 | </para> | 664 | </para> |
672 | 665 | ||
673 | <para> | 666 | <para> |
674 | From the output you can see that you have successfully reconfigured the kernel. | 667 | From the output, you can see that you have successfully reconfigured the kernel. |
675 | </para> | 668 | </para> |
676 | </section> | 669 | </section> |
677 | </section> | 670 | </section> |
@@ -680,13 +673,14 @@ | |||
680 | <title>Adding Kernel Recipes</title> | 673 | <title>Adding Kernel Recipes</title> |
681 | 674 | ||
682 | <para> | 675 | <para> |
683 | This section presents an example that adds kernel recipes, which provide | 676 | A future release of this manual will present an example that adds kernel recipes, which provide |
684 | new functionality to the kernel. | 677 | new functionality to the kernel. |
685 | </para> | 678 | </para> |
686 | 679 | ||
687 | <para> | 680 | <para> |
688 | [Example to be supplied] | 681 | <imagedata fileref="figures/wip.png" |
689 | </para> | 682 | width="2in" depth="3in" align="center" scalefit="1" /> |
683 | </para> | ||
690 | </section> | 684 | </section> |
691 | 685 | ||
692 | 686 | ||