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 | ||
