diff options
| author | Scott Rifenbark <scott.m.rifenbark@intel.com> | 2010-12-17 14:53:40 -0800 |
|---|---|---|
| committer | Richard Purdie <rpurdie@linux.intel.com> | 2010-12-21 12:49:45 +0000 |
| commit | 6224858276ca3d8343361b8a6a89394be0a02aa5 (patch) | |
| tree | 4ae7e5fae6e981c1402b1658f36bd4258887a2ed /documentation/bsp-guide | |
| parent | 885dbc7364a6be50fbf1ba386e510a6e6f4dd3a6 (diff) | |
| download | poky-6224858276ca3d8343361b8a6a89394be0a02aa5.tar.gz | |
documentation/bsp-guide/bsp.xml: Updated the Linux Kernel Configuration section
These changes are another round of edits from Tom Z.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Diffstat (limited to 'documentation/bsp-guide')
| -rw-r--r-- | documentation/bsp-guide/bsp.xml | 89 |
1 files changed, 63 insertions, 26 deletions
diff --git a/documentation/bsp-guide/bsp.xml b/documentation/bsp-guide/bsp.xml index 75640cc58c..ff8a4818f8 100644 --- a/documentation/bsp-guide/bsp.xml +++ b/documentation/bsp-guide/bsp.xml | |||
| @@ -324,21 +324,22 @@ meta-<bsp_name>/recipes-kernel/linux/linux-wrs_git.bbappend | |||
| 324 | <para> | 324 | <para> |
| 325 | For your BSP you typically want to use an existing Poky kernel found in the | 325 | For your BSP you typically want to use an existing Poky kernel found in the |
| 326 | Poky repository at <filename class='directory'>meta/recipes-kernel/kernel</filename>. | 326 | Poky repository at <filename class='directory'>meta/recipes-kernel/kernel</filename>. |
| 327 | You can append your specific changes to the kernel by using a | 327 | You can append your specific changes to the kernel recipe by using an append file, |
| 328 | <filename>.bbappend</filename> file, which is located in the | 328 | which is located in the |
| 329 | <filename class='directory'>meta-<bsp_name>/recipes-kernel/linux</filename> | 329 | <filename class='directory'>meta-<bsp_name>/recipes-kernel/linux</filename> |
| 330 | directory. | 330 | directory. |
| 331 | </para> | 331 | </para> |
| 332 | <para> | 332 | <para> |
| 333 | Consider a BSP that uses the <filename>linux-yocto-stable_git.bb</filename> kernel. | 333 | Consider a BSP that uses the <filename>linux-yocto-stable_git.bb</filename> kernel, |
| 334 | You would use the <filename>linux-yocto-stable_git.bbappend</filename> file to add | 334 | which is the preferred kernel to use for developing a new BSP using the Yocto Project. |
| 335 | You would use the <filename>linux-yocto-stable_git.bbappend</filename> file to append | ||
| 335 | specific BSP settings to the kernel, thus configuring the kernel for your particular BSP. | 336 | specific BSP settings to the kernel, thus configuring the kernel for your particular BSP. |
| 336 | </para> | 337 | </para> |
| 337 | <para> | 338 | <para> |
| 338 | Consider an example for the existing "crownbay" BSP. | 339 | Consider an example for the existing "crownbay" BSP. |
| 339 | The <filename>.bbaappend</filename> file used for the "crownbay" BSP is: | 340 | The append file used for the "crownbay" BSP is: |
| 340 | <programlisting> | 341 | <programlisting> |
| 341 | meta-crownbay/recipes-kernel/linux/linux-wrs_git.bbappend | 342 | meta-crownbay/recipes-kernel/linux/linux-yocto-stable_git.bbappend |
| 342 | </programlisting> | 343 | </programlisting> |
| 343 | The file contains the following: | 344 | The file contains the following: |
| 344 | <programlisting> | 345 | <programlisting> |
| @@ -346,31 +347,67 @@ FILESEXTRAPATHS := "${THISDIR}/${PN}" | |||
| 346 | COMPATIBLE_MACHINE_crownbay = "cronwbay" | 347 | COMPATIBLE_MACHINE_crownbay = "cronwbay" |
| 347 | KMACHINE_crownbay = "crownbay" | 348 | KMACHINE_crownbay = "crownbay" |
| 348 | </programlisting> | 349 | </programlisting> |
| 349 | This <filename>.bbappend</filename> file adds "crownbay" as a compatible machine, | 350 | This append file adds "crownbay" as a compatible machine, |
| 350 | and additionally sets a Yocto Kernel-specific variable that identifies the name of the | 351 | and additionally sets a Yocto Kernel-specific variable that identifies the name of the |
| 351 | BSP branch to use in the GIT repository to find configuration information. | 352 | BSP branch to use in the GIT repository to find configuration information. |
| 352 | </para> | 353 | </para> |
| 353 | <note><para> | 354 | <para> |
| 354 | For an established BSP the configuration information is incorporated directly into the | 355 | One thing missing in this particular BSP, which you will typically need when |
| 355 | git tree. | 356 | developing a BSP, is the kernel configuration (.config) for your BSP. |
| 356 | For a new BSP, however, the <filename>.bbappend</filename> file needs to | 357 | When developing a BSP, you probably have a kernel configuration file or a set of kernel |
| 357 | include its own set of configuration options in a file called | 358 | configuration files that, when taken together, define the kernel configuration for your BSP. |
| 358 | <filename>defconfig</filename> located in a directory that matches the recipe name. | 359 | You can accomplish this definition by putting the configurations in a file or a set of files |
| 360 | inside a directory located at the same level as your append file and having the same name | ||
| 361 | as the kernel. | ||
| 362 | With all these conditions met simply reference those files in a SRC_URI statement in the append | ||
| 363 | file. | ||
| 364 | </para> | ||
| 365 | <para> | ||
| 366 | For example, suppose you had a set of configuration options in a file called | ||
| 367 | <filename>defonfig</filename>. | ||
| 368 | If you put that file inside a directory named | ||
| 369 | <filename class='directory'>/linux-yocto-stable_git</filename> and then added | ||
| 370 | a SRC_URI statement such as the following to the append file, those configuration | ||
| 371 | options will be picked up and applied when the kernel is built. | ||
| 359 | <programlisting> | 372 | <programlisting> |
| 360 | SRC_URI += "file://defconfig" | 373 | SRC_URI += "file://defconfig" |
| 361 | </programlisting> | 374 | </programlisting> |
| 362 | Once a BSP is committed, the Yocto kernel maintainer moves this configuration information | 375 | </para> |
| 363 | into the git tree so that the <filename>.bbappend</filename> file does not need to locate | 376 | <para> |
| 364 | its own configuration options. | 377 | As mentioned earlier, you can group related configurations into multiple files and |
| 365 | Again, the initial configuration options using the SRC_URI are put into a | 378 | name them all in the SRC_URI statement as well. |
| 366 | directory named | 379 | For example, you could group separate configurations specifically for ethernet and graphics |
| 367 | <filename class='directory'>meta-<bsp_name>/recipes/linux/linux-yocto-stable</filename>. | 380 | into their own files and add those by using a SRC_URI statement like the |
| 368 | </para> | 381 | following in your append file: |
| 369 | <para> | 382 | <programlisting> |
| 370 | You can find more information about creating a BSP that is based on an existing similar | 383 | SRC_URI += "file://defconfig \ |
| 371 | BSP by reading the "Creating a BSP Based on an Existing Similar BSP" section in the | 384 | file://eth.cfg \ |
| 372 | "<ulink url="http://www.yoctoproject.org/community/documentation">Yocto Project | 385 | file://gfx.cfg" |
| 373 | Kernel Architecture and Use Manual</ulink>". | 386 | </programlisting> |
| 387 | </para> | ||
| 388 | <para> | ||
| 389 | The FILESEXTRAPATHS variable is boilerplated here in order to make it easy to do that. | ||
| 390 | It basically allows those configuration files to be found by the build process. | ||
| 391 | </para> | ||
| 392 | <note><para> | ||
| 393 | Other methods exist to accomplish grouping and defining configuration options. | ||
| 394 | For example, you could directly add configuration options to the Yocto kernel | ||
| 395 | <filename class='directory'>wrs_meta</filename> branch for your BSP. | ||
| 396 | The configuration options will likely end up in that location anyway if the BSP gets | ||
| 397 | added to the Yocto Project. | ||
| 398 | For information on how to add these configurations directly, see the | ||
| 399 | "Yocto Project Kernel Architecture and Use Manual" on the | ||
| 400 | <ulink url="http://yoctoproject.org/community/documentation">Yocto Project website | ||
| 401 | Documentation Page</ulink> | ||
| 402 | </para> | ||
| 403 | <para> | ||
| 404 | In general, however, the Yocto Project maintainers take care of moving the SRC_URI-specified | ||
| 405 | configuration options to the <filename class='directory'>wrs_meta</filename> branch. | ||
| 406 | Not only is it easier for BSP developers to not have to worry about putting those | ||
| 407 | configurations in the branch, but having the manintainers do it allows them to apply | ||
| 408 | 'global' knowledge about the kinds of common configuration options multiple BSPs in | ||
| 409 | the tree are typically using. | ||
| 410 | This allows for promotion of common configurations into common features. | ||
| 374 | </para></note> | 411 | </para></note> |
| 375 | </section> | 412 | </section> |
| 376 | 413 | ||
