diff options
Diffstat (limited to 'documentation/dev-manual')
| -rw-r--r-- | documentation/dev-manual/dev-manual-bsp-appendix.xml | 43 |
1 files changed, 21 insertions, 22 deletions
diff --git a/documentation/dev-manual/dev-manual-bsp-appendix.xml b/documentation/dev-manual/dev-manual-bsp-appendix.xml index ec8fe1463a..e3f8f7664c 100644 --- a/documentation/dev-manual/dev-manual-bsp-appendix.xml +++ b/documentation/dev-manual/dev-manual-bsp-appendix.xml | |||
| @@ -23,19 +23,20 @@ | |||
| 23 | </para> | 23 | </para> |
| 24 | 24 | ||
| 25 | <section id='getting-local-yocto-project-files-and-bsp-files'> | 25 | <section id='getting-local-yocto-project-files-and-bsp-files'> |
| 26 | <title>Getting Local Yocto Project Files and BSP Files</title> | 26 | <title>Getting Local Source Files and BSP Files</title> |
| 27 | 27 | ||
| 28 | <para> | 28 | <para> |
| 29 | You need to have the Yocto Project files available on your host system. | 29 | You need to have the <link linkend='source-directory'>source directory</link> |
| 30 | You can get files through tarball extraction or by cloning the <filename>poky</filename> | 30 | available on your host system. |
| 31 | Git repository. | 31 | You can set up this directory through tarball extraction or by cloning the |
| 32 | <filename>poky</filename> Git repository. | ||
| 32 | The following paragraphs describe both methods. | 33 | The following paragraphs describe both methods. |
| 33 | For additional information, see the bulleted item | 34 | For additional information, see the bulleted item |
| 34 | "<link linkend='local-yp-release'>Yocto Project Release</link>". | 35 | "<link linkend='local-yp-release'>Yocto Project Release</link>". |
| 35 | </para> | 36 | </para> |
| 36 | 37 | ||
| 37 | <para> | 38 | <para> |
| 38 | As mentioned, one way to get the Yocto Project files is to use Git to clone the | 39 | As mentioned, one way to set up the source directory is to use Git to clone the |
| 39 | <filename>poky</filename> repository. | 40 | <filename>poky</filename> repository. |
| 40 | These commands create a local copy of the Git repository. | 41 | These commands create a local copy of the Git repository. |
| 41 | By default, the top-level directory of the repository is named <filename>poky</filename>: | 42 | By default, the top-level directory of the repository is named <filename>poky</filename>: |
| @@ -44,8 +45,8 @@ | |||
| 44 | $ cd poky | 45 | $ cd poky |
| 45 | </literallayout> | 46 | </literallayout> |
| 46 | Alternatively, you can start with the downloaded Poky "&DISTRO_NAME;" tarball. | 47 | Alternatively, you can start with the downloaded Poky "&DISTRO_NAME;" tarball. |
| 47 | These commands unpack the tarball into a Yocto Project File directory structure. | 48 | These commands unpack the tarball into a source directory structure. |
| 48 | By default, the top-level directory of the file structure is named | 49 | By default, the top-level directory of the source directory is named |
| 49 | <filename>&YOCTO_POKY;</filename>: | 50 | <filename>&YOCTO_POKY;</filename>: |
| 50 | <literallayout class='monospaced'> | 51 | <literallayout class='monospaced'> |
| 51 | $ tar xfj &YOCTO_POKY_TARBALL; | 52 | $ tar xfj &YOCTO_POKY_TARBALL; |
| @@ -60,8 +61,7 @@ | |||
| 60 | 61 | ||
| 61 | <para>Once you expand the released tarball, you have a snapshot of the Git repository | 62 | <para>Once you expand the released tarball, you have a snapshot of the Git repository |
| 62 | that represents a specific release. | 63 | that represents a specific release. |
| 63 | Fundamentally, this is different than having a local copy of the Yocto Project | 64 | Fundamentally, this is different than having a local copy of the Poky Git repository. |
| 64 | Git repository. | ||
| 65 | Given the tarball method, changes you make are building on top of a release. | 65 | Given the tarball method, changes you make are building on top of a release. |
| 66 | With the Git repository method you have the ability to track development | 66 | With the Git repository method you have the ability to track development |
| 67 | and keep changes in revision control. | 67 | and keep changes in revision control. |
| @@ -133,12 +133,12 @@ | |||
| 133 | 133 | ||
| 134 | <para> | 134 | <para> |
| 135 | You need to have the base BSP layer on your development system. | 135 | You need to have the base BSP layer on your development system. |
| 136 | Similar to the local <link linkend='yocto-project-files'>Yocto Project Files</link>, | 136 | Similar to the local <link linkend='source-directory'>source directory</link>, |
| 137 | you can get the BSP | 137 | you can get the BSP |
| 138 | layer in a couple of different ways: | 138 | layer in a couple of different ways: |
| 139 | download the BSP tarball and extract it, or set up a local Git repository that | 139 | download the BSP tarball and extract it, or set up a local Git repository that |
| 140 | has the Yocto Project BSP layers. | 140 | has the BSP layers. |
| 141 | You should use the same method that you used to get the local Yocto Project files earlier. | 141 | You should use the same method that you used to set up the source directory earlier. |
| 142 | See "<link linkend='getting-setup'>Getting Setup</link>" for information on how to get | 142 | See "<link linkend='getting-setup'>Getting Setup</link>" for information on how to get |
| 143 | the BSP files. | 143 | the BSP files. |
| 144 | </para> | 144 | </para> |
| @@ -196,8 +196,8 @@ | |||
| 196 | <title>Making a Copy of the Base BSP to Create Your New BSP Layer</title> | 196 | <title>Making a Copy of the Base BSP to Create Your New BSP Layer</title> |
| 197 | 197 | ||
| 198 | <para> | 198 | <para> |
| 199 | Now that you have the local Yocto Project files and the base BSP files, you need to create a | 199 | Now that you have set up the source directory and included the base BSP files, you need to |
| 200 | new layer for your BSP. | 200 | create a new layer for your BSP. |
| 201 | To create your BSP layer, you simply copy the <filename>meta-crownbay</filename> | 201 | To create your BSP layer, you simply copy the <filename>meta-crownbay</filename> |
| 202 | layer to a new layer. | 202 | layer to a new layer. |
| 203 | </para> | 203 | </para> |
| @@ -207,7 +207,7 @@ | |||
| 207 | The name should follow the BSP layer naming convention, which is | 207 | The name should follow the BSP layer naming convention, which is |
| 208 | <filename>meta-<name></filename>. | 208 | <filename>meta-<name></filename>. |
| 209 | The following assumes your working directory is <filename>meta-intel</filename> | 209 | The following assumes your working directory is <filename>meta-intel</filename> |
| 210 | inside the local Yocto Project files. | 210 | inside your source directory. |
| 211 | To start your new layer, just copy the new layer alongside the existing | 211 | To start your new layer, just copy the new layer alongside the existing |
| 212 | BSP layers in the <filename>meta-intel</filename> directory: | 212 | BSP layers in the <filename>meta-intel</filename> directory: |
| 213 | <literallayout class='monospaced'> | 213 | <literallayout class='monospaced'> |
| @@ -239,7 +239,7 @@ | |||
| 239 | First, since in this example the new BSP will not support EMGD, we will get rid of the | 239 | First, since in this example the new BSP will not support EMGD, we will get rid of the |
| 240 | <filename>crownbay.conf</filename> file and then rename the | 240 | <filename>crownbay.conf</filename> file and then rename the |
| 241 | <filename>crownbay-noemgd.conf</filename> file to <filename>mymachine.conf</filename>. | 241 | <filename>crownbay-noemgd.conf</filename> file to <filename>mymachine.conf</filename>. |
| 242 | Much of what we do in the configuration directory is designed to help the Yocto Project | 242 | Much of what we do in the configuration directory is designed to help the OpenEmbedded |
| 243 | build system work with the new layer and to be able to find and use the right software. | 243 | build system work with the new layer and to be able to find and use the right software. |
| 244 | The following two commands result in a single machine configuration file named | 244 | The following two commands result in a single machine configuration file named |
| 245 | <filename>mymachine.conf</filename>. | 245 | <filename>mymachine.conf</filename>. |
| @@ -312,7 +312,7 @@ | |||
| 312 | When you create a BSP, you use these areas for appropriate recipes and append files. | 312 | When you create a BSP, you use these areas for appropriate recipes and append files. |
| 313 | Recipes take the form of <filename>.bb</filename> files, while append files take | 313 | Recipes take the form of <filename>.bb</filename> files, while append files take |
| 314 | the form of <filename>.bbappend</filename> files. | 314 | the form of <filename>.bbappend</filename> files. |
| 315 | If you want to leverage the existing recipes the Yocto Project build system uses | 315 | If you want to leverage the existing recipes the OpenEmbedded build system uses |
| 316 | but change those recipes, you can use <filename>.bbappend</filename> files. | 316 | but change those recipes, you can use <filename>.bbappend</filename> files. |
| 317 | All new recipes and append files for your layer must go in the layer’s | 317 | All new recipes and append files for your layer must go in the layer’s |
| 318 | <filename>recipes-bsp</filename>, <filename>recipes-kernel</filename>, | 318 | <filename>recipes-bsp</filename>, <filename>recipes-kernel</filename>, |
| @@ -365,7 +365,7 @@ | |||
| 365 | Now let's look at changes in <filename>recipes-core</filename>. | 365 | Now let's look at changes in <filename>recipes-core</filename>. |
| 366 | The file <filename>task-core-tools.bbappend</filename> in | 366 | The file <filename>task-core-tools.bbappend</filename> in |
| 367 | <filename>recipes-core/tasks</filename> appends the similarly named recipe | 367 | <filename>recipes-core/tasks</filename> appends the similarly named recipe |
| 368 | located in the local <link linkend='yocto-project-files'>Yocto Project Files</link> at | 368 | located in the <link linkend='source-directory'>source directory</link> at |
| 369 | <filename>meta/recipes-core/tasks</filename>. | 369 | <filename>meta/recipes-core/tasks</filename>. |
| 370 | The append file in our layer right now is Crown Bay-specific and supports | 370 | The append file in our layer right now is Crown Bay-specific and supports |
| 371 | EMGD and non-EMGD. | 371 | EMGD and non-EMGD. |
| @@ -395,7 +395,7 @@ | |||
| 395 | Recall that the BSP uses the <filename>linux-yocto</filename> kernel as determined | 395 | Recall that the BSP uses the <filename>linux-yocto</filename> kernel as determined |
| 396 | earlier in the <filename>mymachine.conf</filename>. | 396 | earlier in the <filename>mymachine.conf</filename>. |
| 397 | The recipe for that kernel is not located in the | 397 | The recipe for that kernel is not located in the |
| 398 | BSP layer but rather in the local Yocto Project files at | 398 | BSP layer but rather in the source directory at |
| 399 | <filename>meta/recipes-kernel/linux</filename> and is | 399 | <filename>meta/recipes-kernel/linux</filename> and is |
| 400 | named <filename>linux-yocto_3.2.bb</filename>. | 400 | named <filename>linux-yocto_3.2.bb</filename>. |
| 401 | The <filename>SRCREV_machine</filename> and <filename>SRCREV_meta</filename> | 401 | The <filename>SRCREV_machine</filename> and <filename>SRCREV_meta</filename> |
| @@ -576,15 +576,14 @@ | |||
| 576 | <orderedlist> | 576 | <orderedlist> |
| 577 | <listitem><para>Get the environment ready for the build by sourcing the environment | 577 | <listitem><para>Get the environment ready for the build by sourcing the environment |
| 578 | script. | 578 | script. |
| 579 | The environment script is in the top-level of the local Yocto Project files | 579 | The environment script is in the top-level of the source directory. |
| 580 | directory structure. | ||
| 581 | The script has the string | 580 | The script has the string |
| 582 | <filename>init-build-env</filename> in the file’s name. | 581 | <filename>init-build-env</filename> in the file’s name. |
| 583 | For this example, the following command gets the build environment ready: | 582 | For this example, the following command gets the build environment ready: |
| 584 | <literallayout class='monospaced'> | 583 | <literallayout class='monospaced'> |
| 585 | $ source oe-init-build-env yocto-build | 584 | $ source oe-init-build-env yocto-build |
| 586 | </literallayout> | 585 | </literallayout> |
| 587 | When you source the script a build directory is created in the current | 586 | When you source the script, a build directory is created in the current |
| 588 | working directory. | 587 | working directory. |
| 589 | In our example we were in the <filename>poky</filename> directory. | 588 | In our example we were in the <filename>poky</filename> directory. |
| 590 | Thus, entering the previous command created the <filename>yocto-build</filename> directory. | 589 | Thus, entering the previous command created the <filename>yocto-build</filename> directory. |
