diff options
| author | Scott Rifenbark <scott.m.rifenbark@intel.com> | 2012-07-02 09:59:11 -0700 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-07-03 14:55:02 +0100 |
| commit | 85673e5466804f6918be72b3b27328783b5ac5c9 (patch) | |
| tree | 27bbb4622ad024268b1a5980eb2d842fb6e4739d /documentation/dev-manual/dev-manual-kernel-appendix.xml | |
| parent | 7606c30c1915bfa192e5b0d125dc6b6e5e7f1857 (diff) | |
| download | poky-85673e5466804f6918be72b3b27328783b5ac5c9.tar.gz | |
documentation/dev-manual: Scrub for Yocto Project term
I have replaced the term "Yocto Project" with more appropriate terms
where possible.
(From yocto-docs rev: 622ef9a2b4897ecd151b641b43d7706ab673c989)
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/dev-manual-kernel-appendix.xml')
| -rw-r--r-- | documentation/dev-manual/dev-manual-kernel-appendix.xml | 92 |
1 files changed, 37 insertions, 55 deletions
diff --git a/documentation/dev-manual/dev-manual-kernel-appendix.xml b/documentation/dev-manual/dev-manual-kernel-appendix.xml index 0f69ef1067..04db02a7a6 100644 --- a/documentation/dev-manual/dev-manual-kernel-appendix.xml +++ b/documentation/dev-manual/dev-manual-kernel-appendix.xml | |||
| @@ -12,17 +12,6 @@ | |||
| 12 | or even altering the source code itself. | 12 | or even altering the source code itself. |
| 13 | This appendix presents simple examples that modify the kernel source code, | 13 | This appendix presents simple examples that modify the kernel source code, |
| 14 | change the kernel configuration, and add a kernel source recipe. | 14 | change the kernel configuration, and add a kernel source recipe. |
| 15 | <!-- [WRITER'S NOTE: I might want to work in information about applying a local | ||
| 16 | change to a kernel layer and also pushing a change upstream into the tree] | ||
| 17 | <orderedlist> | ||
| 18 | <listitem><para>Iteratively determine and set kernel configurations and make | ||
| 19 | kernel recipe changes.</para></listitem> | ||
| 20 | <listitem><para>Apply your configuration changes to your local kernel layer. | ||
| 21 | </para></listitem> | ||
| 22 | <listitem><para>Push your configuration and recipe changes upstream into the | ||
| 23 | Yocto Project source repositories to make them available to the community. | ||
| 24 | </para></listitem> | ||
| 25 | </orderedlist> --> | ||
| 26 | </para> | 15 | </para> |
| 27 | 16 | ||
| 28 | <section id='modifying-the-kernel-source-code'> | 17 | <section id='modifying-the-kernel-source-code'> |
| @@ -45,18 +34,17 @@ | |||
| 45 | Briefly, you need the following: | 34 | Briefly, you need the following: |
| 46 | <itemizedlist> | 35 | <itemizedlist> |
| 47 | <listitem><para>A local | 36 | <listitem><para>A local |
| 48 | <link linkend='yocto-project-files'>Yocto Project Files</link> | 37 | <link linkend='source-directory'>source directory</link> for the |
| 49 | Git repository</para></listitem> | 38 | poky Git repository</para></listitem> |
| 50 | <listitem><para>The | 39 | <listitem><para>Local copies of the |
| 51 | <link linkend='poky-extras-repo'><filename>poky-extras</filename></link> | 40 | <link linkend='poky-extras-repo'><filename>poky-extras</filename></link> |
| 52 | Git repository placed within the local Yocto Project files Git | 41 | Git repository placed within the source directory.</para></listitem> |
| 53 | repository</para></listitem> | ||
| 54 | <listitem><para>A bare clone of the | 42 | <listitem><para>A bare clone of the |
| 55 | <link linkend='local-kernel-files'>Linux Yocto Kernel</link> upstream Git | 43 | <link linkend='local-kernel-files'>Linux Yocto Kernel</link> upstream Git |
| 56 | repository to which you want to push your modifications. | 44 | repository to which you want to push your modifications. |
| 57 | </para></listitem> | 45 | </para></listitem> |
| 58 | <listitem><para>A copy of that bare clone in which you make your source | 46 | <listitem><para>A copy of that bare clone in which you make your source |
| 59 | modifcations</para></listitem> | 47 | modifications</para></listitem> |
| 60 | </itemizedlist> | 48 | </itemizedlist> |
| 61 | </para> | 49 | </para> |
| 62 | 50 | ||
| @@ -78,18 +66,19 @@ | |||
| 78 | <para> | 66 | <para> |
| 79 | Here is a brief description of the four areas: | 67 | Here is a brief description of the four areas: |
| 80 | <itemizedlist> | 68 | <itemizedlist> |
| 81 | <listitem><para><emphasis>Local Yocto Project Files Git Repository:</emphasis> | 69 | <listitem><para><emphasis>Local Source Directory:</emphasis> |
| 82 | This area contains all the metadata that supports building images in the | 70 | This area contains all the metadata that supports building images |
| 83 | Yocto Project build environment - the local Yocto Project files. | 71 | using the OpenEmbedded build system. |
| 84 | In this example, the local Yocto Project files Git repository also | 72 | In this example, the source directory also |
| 85 | contains the build directory, which contains the configuration directory | 73 | contains the build directory, which contains the configuration directory |
| 86 | that lets you control the build. | 74 | that lets you control the build. |
| 87 | In this example, the repository also contains the | 75 | Also in this example, the source directory contains local copies of the |
| 88 | <filename>poky-extras</filename> Git repository.</para> | 76 | <filename>poky-extras</filename> Git repository.</para> |
| 89 | <para>See the bulleted item | 77 | <para>See the bulleted item |
| 90 | "<link linkend='local-yp-release'>Yocto Project Release</link>" | 78 | "<link linkend='local-yp-release'>Yocto Project Release</link>" |
| 91 | for information on how to get these files.</para></listitem> | 79 | for information on how to get these files on your local system.</para></listitem> |
| 92 | <listitem><para><emphasis><filename>poky-extras</filename> Git Repository:</emphasis> | 80 | <listitem><para><emphasis>Local copies of the<filename>poky-extras</filename> |
| 81 | Git Repository:</emphasis> | ||
| 93 | This area contains the <filename>meta-kernel-dev</filename> layer, | 82 | This area contains the <filename>meta-kernel-dev</filename> layer, |
| 94 | which is where you make changes that append the kernel build recipes. | 83 | which is where you make changes that append the kernel build recipes. |
| 95 | You edit <filename>.bbappend</filename> files to locate your | 84 | You edit <filename>.bbappend</filename> files to locate your |
| @@ -133,23 +122,23 @@ | |||
| 133 | </section> | 122 | </section> |
| 134 | 123 | ||
| 135 | <section id='setting-up-the-local-yocto-project-files-git-repository'> | 124 | <section id='setting-up-the-local-yocto-project-files-git-repository'> |
| 136 | <title>Setting Up the Local Yocto Project Files Git Repository</title> | 125 | <title>Setting Up the Local Source Directory</title> |
| 137 | 126 | ||
| 138 | <para> | 127 | <para> |
| 139 | You can get the local Yocto Project files through tarball extraction or by | 128 | You can set up the source directory through tarball extraction or by |
| 140 | cloning the <filename>poky</filename> Git repository. | 129 | cloning the <filename>poky</filename> Git repository. |
| 141 | This example uses <filename>poky</filename> as the root directory of the | 130 | This example uses <filename>poky</filename> as the root directory of the |
| 142 | local Yocto Project files Git repository. | 131 | local source directory. |
| 143 | See the bulleted item | 132 | See the bulleted item |
| 144 | "<link linkend='local-yp-release'>Yocto Project Release</link>" | 133 | "<link linkend='local-yp-release'>Yocto Project Release</link>" |
| 145 | for information on how to get these files. | 134 | for information on how to get these files. |
| 146 | </para> | 135 | </para> |
| 147 | 136 | ||
| 148 | <para> | 137 | <para> |
| 149 | Once you have the repository set up, | 138 | Once you have source directory set up, |
| 150 | you have many development branches from which you can work. | 139 | you have many development branches from which you can work. |
| 151 | From inside the repository you can see the branch names and the tag names used | 140 | From inside the local repository you can see the branch names and the tag names used |
| 152 | in the Git repository using either of the following two commands: | 141 | in the upstream Git repository by using either of the following commands: |
| 153 | <literallayout class='monospaced'> | 142 | <literallayout class='monospaced'> |
| 154 | $ cd poky | 143 | $ cd poky |
| 155 | $ git branch -a | 144 | $ git branch -a |
| @@ -168,15 +157,15 @@ | |||
| 168 | </section> | 157 | </section> |
| 169 | 158 | ||
| 170 | <section id='setting-up-the-poky-extras-git-repository'> | 159 | <section id='setting-up-the-poky-extras-git-repository'> |
| 171 | <title>Setting Up the poky-extras Git Repository</title> | 160 | <title>Setting Up the Local poky-extras Git Repository</title> |
| 172 | 161 | ||
| 173 | <para> | 162 | <para> |
| 174 | This example places the <filename>poky-extras</filename> Git repository inside | 163 | This example creates a local copy of the <filename>poky-extras</filename> Git |
| 175 | of <filename>poky</filename>. | 164 | repository inside the <filename>poky</filename> source directory. |
| 176 | See the bulleted item | 165 | See the bulleted item "<link linkend='poky-extras-repo'>The |
| 177 | "<link linkend='poky-extras-repo'>The | ||
| 178 | <filename>poky-extras</filename> Git Repository</link>" | 166 | <filename>poky-extras</filename> Git Repository</link>" |
| 179 | for information on how to get the <filename>poky-extras</filename> repository. | 167 | for information on how to set up a local copy of the |
| 168 | <filename>poky-extras</filename> repository. | ||
| 180 | </para> | 169 | </para> |
| 181 | 170 | ||
| 182 | <para> | 171 | <para> |
| @@ -369,7 +358,7 @@ | |||
| 369 | <para> | 358 | <para> |
| 370 | Once the source code has been modified, you need to use Git to push the changes to | 359 | Once the source code has been modified, you need to use Git to push the changes to |
| 371 | the bare clone. | 360 | the bare clone. |
| 372 | If you do not push the changes, then the Yocto Project build system will not pick | 361 | If you do not push the changes, then the OpenEmbedded build system will not pick |
| 373 | up the changed source files. | 362 | up the changed source files. |
| 374 | </para> | 363 | </para> |
| 375 | 364 | ||
| @@ -386,7 +375,7 @@ | |||
| 386 | 375 | ||
| 387 | <para> | 376 | <para> |
| 388 | At this point, the source has been changed and pushed. | 377 | At this point, the source has been changed and pushed. |
| 389 | The example now defines some variables used by the Yocto Project build system | 378 | The example now defines some variables used by the OpenEmbedded build system |
| 390 | to locate your kernel source. | 379 | to locate your kernel source. |
| 391 | You essentially need to identify where to find the kernel recipe and the changed source code. | 380 | You essentially need to identify where to find the kernel recipe and the changed source code. |
| 392 | You also need to be sure some basic configurations are in place that identify the | 381 | You also need to be sure some basic configurations are in place that identify the |
| @@ -447,12 +436,6 @@ | |||
| 447 | <literallayout class='monospaced'> | 436 | <literallayout class='monospaced'> |
| 448 | KSRC_linux_yocto_3_2 ?= "/home/scottrif/linux-yocto-3.2.git" | 437 | KSRC_linux_yocto_3_2 ?= "/home/scottrif/linux-yocto-3.2.git" |
| 449 | </literallayout></para></listitem> | 438 | </literallayout></para></listitem> |
| 450 | <!-- <listitem><para><emphasis>Specify the Kernel Machine:</emphasis> Also in the | ||
| 451 | <filename>linux-yocto_3.2.bbappend</filename> file, you need to specify | ||
| 452 | the kernel machine with the following statement: | ||
| 453 | <literallayout class='monospaced'> | ||
| 454 | KMACHINE_qemux86 = "standard/default/common-pc/base" | ||
| 455 | </literallayout></para></listitem> --> | ||
| 456 | </itemizedlist> | 439 | </itemizedlist> |
| 457 | </para> | 440 | </para> |
| 458 | 441 | ||
| @@ -494,7 +477,7 @@ | |||
| 494 | $ bitbake -c cleanall linux-yocto | 477 | $ bitbake -c cleanall linux-yocto |
| 495 | </literallayout></para> | 478 | </literallayout></para> |
| 496 | <para><note>Never remove any files by hand from the <filename>tmp/deploy</filename> | 479 | <para><note>Never remove any files by hand from the <filename>tmp/deploy</filename> |
| 497 | directory insided the local Yocto Project files build directory. | 480 | directory insided the build directory. |
| 498 | Always use the BitBake <filename>cleanall</filename> task to clear | 481 | Always use the BitBake <filename>cleanall</filename> task to clear |
| 499 | out previous builds.</note></para></listitem> | 482 | out previous builds.</note></para></listitem> |
| 500 | <listitem><para>Next, build the kernel image using this command: | 483 | <listitem><para>Next, build the kernel image using this command: |
| @@ -539,7 +522,7 @@ | |||
| 539 | <para> | 522 | <para> |
| 540 | If you took the time to work through the example that modifies the kernel source code | 523 | If you took the time to work through the example that modifies the kernel source code |
| 541 | in "<link linkend='modifying-the-kernel-source-code'>Modifying the Kernel Source | 524 | in "<link linkend='modifying-the-kernel-source-code'>Modifying the Kernel Source |
| 542 | Code</link>" you should already have the Yocto Project files set up on your | 525 | Code</link>" you should already have the source directory set up on your |
| 543 | host machine. | 526 | host machine. |
| 544 | If this is the case, go to the next section, which is titled | 527 | If this is the case, go to the next section, which is titled |
| 545 | "<link linkend='examining-the-default-config-smp-behavior'>Examining the Default | 528 | "<link linkend='examining-the-default-config-smp-behavior'>Examining the Default |
| @@ -548,21 +531,21 @@ | |||
| 548 | </para> | 531 | </para> |
| 549 | 532 | ||
| 550 | <para> | 533 | <para> |
| 551 | If you don't have the Yocto Project files established on your system, | 534 | If you don't have the source directory established on your system, |
| 552 | you can get them through tarball extraction or by | 535 | you can get them through tarball extraction or by |
| 553 | cloning the <filename>poky</filename> Git repository. | 536 | cloning the <filename>poky</filename> Git repository. |
| 554 | This example uses <filename>poky</filename> as the root directory of the | 537 | This example uses <filename>poky</filename> as the root directory of the |
| 555 | local <link linkend='yocto-project-files'>Yocto Project Files</link> Git repository. | 538 | <link linkend='source-directory'>source directory</link>. |
| 556 | See the bulleted item | 539 | See the bulleted item |
| 557 | "<link linkend='local-yp-release'>Yocto Project Release</link>" | 540 | "<link linkend='local-yp-release'>Yocto Project Release</link>" |
| 558 | for information on how to get these files. | 541 | for information on how to get these files. |
| 559 | </para> | 542 | </para> |
| 560 | 543 | ||
| 561 | <para> | 544 | <para> |
| 562 | Once you have the repository set up, | 545 | Once you have the local copy of the repository set up, |
| 563 | you have many development branches from which you can work. | 546 | you have many development branches from which you can work. |
| 564 | From inside the repository you can see the branch names and the tag names used | 547 | From inside the repository you can see the branch names and the tag names used |
| 565 | in the Git repository using either of the following two commands: | 548 | in the upstream Git repository using either of the following commands: |
| 566 | <literallayout class='monospaced'> | 549 | <literallayout class='monospaced'> |
| 567 | $ cd poky | 550 | $ cd poky |
| 568 | $ git branch -a | 551 | $ git branch -a |
| @@ -680,7 +663,7 @@ | |||
| 680 | to set kernel configurations. | 663 | to set kernel configurations. |
| 681 | You need to run <filename>menuconfig</filename> inside the Yocto BitBake environment. | 664 | You need to run <filename>menuconfig</filename> inside the Yocto BitBake environment. |
| 682 | Thus, the environment must be set up using the <filename>oe-init-build-env</filename> | 665 | Thus, the environment must be set up using the <filename>oe-init-build-env</filename> |
| 683 | script found in the Yocto Project files Git repository build directory. | 666 | script found in the build directory. |
| 684 | If you have not sourced this script do so with the following commands: | 667 | If you have not sourced this script do so with the following commands: |
| 685 | <literallayout class='monospaced'> | 668 | <literallayout class='monospaced'> |
| 686 | $ cd ~/poky | 669 | $ cd ~/poky |
| @@ -693,7 +676,7 @@ | |||
| 693 | to use the tool to interactively change the kernel configuration. | 676 | to use the tool to interactively change the kernel configuration. |
| 694 | In this example, we are basing our changes on the <filename>linux-yocto-3.2</filename> | 677 | In this example, we are basing our changes on the <filename>linux-yocto-3.2</filename> |
| 695 | kernel. | 678 | kernel. |
| 696 | The Yocto Project build environment recognizes this kernel as | 679 | The OpenEmbedded build system recognizes this kernel as |
| 697 | <filename>linux-yocto</filename>. | 680 | <filename>linux-yocto</filename>. |
| 698 | Thus, the following commands from the shell in which you previously sourced the | 681 | Thus, the following commands from the shell in which you previously sourced the |
| 699 | environment initialization script cleans the shared state memory and the | 682 | environment initialization script cleans the shared state memory and the |
| @@ -727,8 +710,7 @@ | |||
| 727 | is updated. | 710 | is updated. |
| 728 | This is the file that the build system uses to configure the Linux Yocto kernel | 711 | This is the file that the build system uses to configure the Linux Yocto kernel |
| 729 | when it is built. | 712 | when it is built. |
| 730 | You can find and examine this file in the Yocto Project Files Git repository in | 713 | You can find and examine this file in the build directory. |
| 731 | the build directory. | ||
| 732 | This example uses the following: | 714 | This example uses the following: |
| 733 | <literallayout class='monospaced'> | 715 | <literallayout class='monospaced'> |
| 734 | ~/poky/build/tmp/work/qemux86-poky-linux/linux-yocto-3.2.11+git1+84f... | 716 | ~/poky/build/tmp/work/qemux86-poky-linux/linux-yocto-3.2.11+git1+84f... |
| @@ -762,7 +744,7 @@ | |||
| 762 | <note> | 744 | <note> |
| 763 | Be sure to make a copy of the <filename>.config</filename> and don't just | 745 | Be sure to make a copy of the <filename>.config</filename> and don't just |
| 764 | rename it. | 746 | rename it. |
| 765 | The Yocto Project build system needs an existing <filename>.config</filename> | 747 | The build system needs an existing <filename>.config</filename> |
| 766 | from which to work. | 748 | from which to work. |
| 767 | </note> | 749 | </note> |
| 768 | </para> | 750 | </para> |
