summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--documentation/dev-manual/dev-manual-kernel-appendix.xml80
1 files changed, 45 insertions, 35 deletions
diff --git a/documentation/dev-manual/dev-manual-kernel-appendix.xml b/documentation/dev-manual/dev-manual-kernel-appendix.xml
index 06db1f91a8..80def3afdb 100644
--- a/documentation/dev-manual/dev-manual-kernel-appendix.xml
+++ b/documentation/dev-manual/dev-manual-kernel-appendix.xml
@@ -1,5 +1,6 @@
1<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" 1<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
2"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> 2"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
3[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
3 4
4<appendix id='dev-manual-kernel-appendix'> 5<appendix id='dev-manual-kernel-appendix'>
5 6
@@ -149,14 +150,14 @@
149 $ git branch -a 150 $ git branch -a
150 $ git tag -l 151 $ git tag -l
151 </literallayout> 152 </literallayout>
152 This example uses the Yocto Project 1.1.1 Release code named "edison", 153 This example uses the Yocto Project &DISTRO; Release code named "&DISTRO_NAME;",
153 which maps to the <filename>edison</filename> branch in the repository. 154 which maps to the <filename>&DISTRO_NAME;</filename> branch in the repository.
154 The following commands create and checkout the local <filename>edison</filename> 155 The following commands create and checkout the local <filename>&DISTRO_NAME;</filename>
155 branch: 156 branch:
156 <literallayout class='monospaced'> 157 <literallayout class='monospaced'>
157 $ git checkout -b edison origin/edison 158 $ git checkout -b &DISTRO_NAME; origin/&DISTRO_NAME;
158 Branch edison set up to track remote branch edison from origin. 159 Branch &DISTRO_NAME; set up to track remote branch &DISTRO_NAME; from origin.
159 Switched to a new branch 'edison' 160 Switched to a new branch '&DISTRO_NAME;'
160 </literallayout> 161 </literallayout>
161 </para> 162 </para>
162 </section> 163 </section>
@@ -244,9 +245,9 @@
244 If your host development system supports multi-core and multi-thread capabilities, 245 If your host development system supports multi-core and multi-thread capabilities,
245 you can uncomment these statements and set the variables to significantly shorten 246 you can uncomment these statements and set the variables to significantly shorten
246 the full build time. 247 the full build time.
247 As a guideline, set <filename>BB_NUMBER_THREADS</filename> to twice the number 248 As a guideline, set both <filename>BB_NUMBER_THREADS</filename> and
248 of cores your machine supports and set <filename>PARALLEL_MAKE</filename> to one and 249 <filename>PARALLEL_MAKE</filename> to twice the number
249 a half times the number of cores your machine supports. 250 of cores your machine supports.
250 </note> 251 </note>
251 The following two commands <filename>source</filename> the build environment setup script 252 The following two commands <filename>source</filename> the build environment setup script
252 and build the default <filename>qemux86</filename> image. 253 and build the default <filename>qemux86</filename> image.
@@ -411,9 +412,8 @@
411 build time if your host supports multi-core and multi-thread capabilities: 412 build time if your host supports multi-core and multi-thread capabilities:
412 <filename>BB_NUMBER_THREADS</filename> and <filename>PARALLEL_MAKE</filename>. 413 <filename>BB_NUMBER_THREADS</filename> and <filename>PARALLEL_MAKE</filename>.
413 If the host system has multiple cores then you can optimize build time 414 If the host system has multiple cores then you can optimize build time
414 by setting <filename>BB_NUMBER_THREADS</filename> to twice the number of 415 by setting both these variables to twice the number of
415 cores and setting <filename>PARALLEL_MAKE</filename> to one and a half times the 416 cores.</para></listitem>
416 number of cores.</para></listitem>
417 <listitem><para><emphasis>Identify Your <filename>meta-kernel-dev</filename> 417 <listitem><para><emphasis>Identify Your <filename>meta-kernel-dev</filename>
418 Layer:</emphasis> The <filename>BBLAYERS</filename> variable in the 418 Layer:</emphasis> The <filename>BBLAYERS</filename> variable in the
419 <filename>bblayers.conf</filename> file found in the 419 <filename>bblayers.conf</filename> file found in the
@@ -455,15 +455,19 @@
455 </para> 455 </para>
456 456
457 <note> 457 <note>
458 Before attempting to build the modified kernel, there is one more set of changes you 458 <para>Before attempting to build the modified kernel, there is one more set of changes you
459 need to make in the <filename>meta-kernel-dev</filename> layer. 459 need to make in the <filename>meta-kernel-dev</filename> layer.
460 Because all the kernel <filename>.bbappend</filename> files are parsed during the 460 Because all the kernel <filename>.bbappend</filename> files are parsed during the
461 build process regardless of whether you are using them or not, you should either 461 build process regardless of whether you are using them or not, you should either
462 comment out the <filename>COMPATIBLE_MACHINE</filename> statements in all 462 comment out the <filename>COMPATIBLE_MACHINE</filename> statements in all
463 unused <filename>.bbappend</filename> files. 463 unused <filename>.bbappend</filename> files, or simply remove (or rename) all the files
464 Alternatively, you can simply remove all the files
465 except the one your are using for the build 464 except the one your are using for the build
466 (i.e. <filename>linux-yocto_3.0.bbappend</filename> in this example). 465 (i.e. <filename>linux-yocto_3.0.bbappend</filename> in this example).</para>
466 <para>If you do not make one of these two adjustments, your machine will be compatible
467 with all the kernel recipes in the <filename>meta-kernel-dev</filename> layer.
468 When your machine is comapatible with all the kernel recipes, the build attempts
469 to build all kernels in the layer.
470 You could end up with build errors blocking your work.</para>
467 </note> 471 </note>
468 </section> 472 </section>
469 473
@@ -477,18 +481,21 @@
477 <listitem><para>Your environment should be set up since you previously sourced 481 <listitem><para>Your environment should be set up since you previously sourced
478 the <filename>oe-init-build-env</filename> script. 482 the <filename>oe-init-build-env</filename> script.
479 If it isn't, source the script again from <filename>poky</filename>. 483 If it isn't, source the script again from <filename>poky</filename>.
484 <literallayout class='monospaced'>
485 $ cd ~/poky
486 $ source oe-init-build-env
487 </literallayout>
480 </para></listitem> 488 </para></listitem>
481 <listitem><para>Be sure old images are cleaned out by running the 489 <listitem><para>Be sure old images are cleaned out by running the
482 <filename>cleanall</filename> BitBake task as follows: 490 <filename>cleanall</filename> BitBake task as follows from your build directory:
483 <literallayout class='monospaced'> 491 <literallayout class='monospaced'>
484 $ cd ~/poky
485 $ bitbake -c cleanall linux-yocto 492 $ bitbake -c cleanall linux-yocto
486 </literallayout></para> 493 </literallayout></para>
487 <para><note>Never remove any files by hand from the <filename>tmp/deploy</filename> 494 <para><note>Never remove any files by hand from the <filename>tmp/deploy</filename>
488 directory insided the local Yocto Project files build directory. 495 directory insided the local Yocto Project files build directory.
489 Always use the BitBake <filename>cleanall</filename> task to clear 496 Always use the BitBake <filename>cleanall</filename> task to clear
490 out previous builds.</note></para></listitem> 497 out previous builds.</note></para></listitem>
491 <listitem><para>Build the kernel image using this command: 498 <listitem><para>Next, build the kernel image using this command:
492 <literallayout class='monospaced'> 499 <literallayout class='monospaced'>
493 $ bitbake -k core-image-minimal 500 $ bitbake -k core-image-minimal
494 </literallayout></para></listitem> 501 </literallayout></para></listitem>
@@ -532,9 +539,9 @@
532 in "<link linkend='modifying-the-kernel-source-code'>Modifying the Kernel Source 539 in "<link linkend='modifying-the-kernel-source-code'>Modifying the Kernel Source
533 Code</link>" you should already have the Yocto Project files set up on your 540 Code</link>" you should already have the Yocto Project files set up on your
534 host machine. 541 host machine.
535 If this is the case, go to then next section titled 542 If this is the case, go to the next section, which is titled
536 "<link linkend='examining-the-default-config-smp-behavior'>Examining the Default 543 "<link linkend='examining-the-default-config-smp-behavior'>Examining the Default
537 <filename>CONFIG_SMP</filename> Behavior</link>" and continue with the 544 <filename>CONFIG_SMP</filename> Behavior</link>", and continue with the
538 example. 545 example.
539 </para> 546 </para>
540 547
@@ -559,14 +566,14 @@
559 $ git branch -a 566 $ git branch -a
560 $ git tag -l 567 $ git tag -l
561 </literallayout> 568 </literallayout>
562 This example uses the Yocto Project 1.1.1 Release code named "edison", 569 This example uses the Yocto Project &DISTRO; Release code named "&DISTRO_NAME;",
563 which maps to the <filename>edison</filename> branch in the repository. 570 which maps to the <filename>&DISTRO_NAME;</filename> branch in the repository.
564 The following commands create and checkout the local <filename>edison</filename> 571 The following commands create and checkout the local <filename>&DISTRO_NAME;</filename>
565 branch: 572 branch:
566 <literallayout class='monospaced'> 573 <literallayout class='monospaced'>
567 $ git checkout -b edison origin/edison 574 $ git checkout -b &DISTRO_NAME; origin/&DISTRO_NAME;
568 Branch edison set up to track remote branch edison from origin. 575 Branch &DISTRO_NAME; set up to track remote branch &DISTRO_NAME; from origin.
569 Switched to a new branch 'edison' 576 Switched to a new branch '&DISTRO_NAME;'
570 </literallayout> 577 </literallayout>
571 </para> 578 </para>
572 579
@@ -623,7 +630,7 @@
623 </section> 630 </section>
624 631
625 <section id='examining-the-default-config-smp-behavior'> 632 <section id='examining-the-default-config-smp-behavior'>
626 <title>Examining the Default <filename>CONFIG_SMP</filename> Behavior</title> 633 <title>Examining the Default&nbsp;&nbsp;<filename>CONFIG_SMP</filename> Behavior</title>
627 634
628 <para> 635 <para>
629 By default, <filename>CONFIG_SMP</filename> supports single processor machines. 636 By default, <filename>CONFIG_SMP</filename> supports single processor machines.
@@ -650,7 +657,7 @@
650 </section> 657 </section>
651 658
652 <section id='changing-the-config-smp-configuration-using-menuconfig'> 659 <section id='changing-the-config-smp-configuration-using-menuconfig'>
653 <title>Changing the <filename>CONFIG_SMP</filename> Configuration Using <filename>menuconfig</filename></title> 660 <title>Changing the&nbsp;&nbsp;<filename>CONFIG_SMP</filename> Configuration Using&nbsp;&nbsp;<filename>menuconfig</filename></title>
654 661
655 <para> 662 <para>
656 The <filename>menuconfig</filename> tool provides an interactive method with which 663 The <filename>menuconfig</filename> tool provides an interactive method with which
@@ -694,16 +701,19 @@
694 is updated. 701 is updated.
695 This is the file that the build system uses to configure the Linux Yocto kernel 702 This is the file that the build system uses to configure the Linux Yocto kernel
696 when it is built. 703 when it is built.
697 You can find and examine this file in the Yocto Project files Git repository in 704 You can find and examine this file in the Yocto Project Files Git repository in
698 the build directory. 705 the build directory.
699 This example uses the following. 706 This example uses the following:
700 Note that this example directory is artificially split and many of the characters
701 in the actually filename are omitted in order to make it more
702 readable:
703 <literallayout class='monospaced'> 707 <literallayout class='monospaced'>
704 ~/poky/build/tmp/work/qemux86-poky-linux/linux-yocto-3.0.10+git1+d38... 708 ~/poky/build/tmp/work/qemux86-poky-linux/linux-yocto-3.0.10+git1+d38...
705 ...3a9ac596f7a-r3/linux-qemux86-standard-build 709 ...3a9ac596f7a-r3/linux-qemux86-standard-build
706 </literallayout> 710 </literallayout>
711 <note>
712 The previous example directory is artificially split and many of the characters
713 in the actual filename are omitted in order to make it more readable.
714 Also, depending on the kernel you are using, the exact pathname might differ
715 slightly.
716 </note>
707 </para> 717 </para>
708 718
709 <para> 719 <para>