diff options
Diffstat (limited to 'documentation')
-rw-r--r-- | documentation/dev-manual/dev-manual-kernel-appendix.xml | 80 |
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 <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 <filename>CONFIG_SMP</filename> Configuration Using <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> |