diff options
Diffstat (limited to 'documentation/bsp-guide/bsp.xml')
| -rw-r--r-- | documentation/bsp-guide/bsp.xml | 69 |
1 files changed, 40 insertions, 29 deletions
diff --git a/documentation/bsp-guide/bsp.xml b/documentation/bsp-guide/bsp.xml index 94dd5160a7..cf9c91f4b6 100644 --- a/documentation/bsp-guide/bsp.xml +++ b/documentation/bsp-guide/bsp.xml | |||
| @@ -319,46 +319,57 @@ meta-<bsp_name>/recipes-kernel/linux/linux-wrs_git.bbappend | |||
| 319 | </programlisting> | 319 | </programlisting> |
| 320 | 320 | ||
| 321 | <para> | 321 | <para> |
| 322 | These files make up the definition of a kernel to use with this hardware. | 322 | This file appends your specific changes to the kernel you are using. |
| 323 | In this case, it is a complete self-contained kernel with its own | ||
| 324 | configuration and patches. | ||
| 325 | However, kernels can be shared between many machines as well. | ||
| 326 | Following is an example: | ||
| 327 | <programlisting> | ||
| 328 | meta-emenlow/recipes-kernel/linux/linux-bsp_2.6.50.bb | ||
| 329 | </programlisting> | ||
| 330 | This example file is the core kernel recipe that details from where to get the kernel | ||
| 331 | source. | ||
| 332 | All standard source code locations are supported. | ||
| 333 | Consequently, the source could be a release tarball, a git repository, or source included in | ||
| 334 | the directory within the BSP itself. | ||
| 335 | </para> | ||
| 336 | <para> | ||
| 337 | The file then contains information about what patches to apply and how to configure and build them. | ||
| 338 | Because the file can reuse the main Poky kernel build class, the definitions here can | ||
| 339 | remain very simple. | ||
| 340 | </para> | 323 | </para> |
| 341 | <para> | 324 | <para> |
| 342 | <programlisting> | 325 | For your BSP you typically want to use an existing Poky kernel found in the |
| 343 | linux-bsp-2.6.50/*.patch | 326 | Poky repository at <filename class='directory'>meta/recipes-kernel/kernel</filename>. |
| 344 | </programlisting> | 327 | You can append your specific changes to the kernel by using a |
| 328 | <filename>.bbappend</filename> file, which is located in the | ||
| 329 | <filename class='directory'>meta-<bsp_name>/recipes-kernel/linux</filename> | ||
| 330 | directory. | ||
| 345 | </para> | 331 | </para> |
| 346 | <para> | 332 | <para> |
| 347 | The above example file contains patches you can apply against the base kernel, from wherever | 333 | Consider a BSP that uses the <filename>linux-yocto-stable_git.bb</filename> kernel. |
| 348 | they may have been obtained. | 334 | You would use the <filename>linux-yocto-stable_git.bbappend</filename> file to add |
| 335 | specific BSP settings to the kernel, thus configuring the kernel for your particular BSP. | ||
| 349 | </para> | 336 | </para> |
| 350 | <para> | 337 | <para> |
| 338 | Consider an example for the existing "crownbay" BSP. | ||
| 339 | The <filename>.bbaappend</filename> file used for the "crownbay" BSP is: | ||
| 340 | <programlisting> | ||
| 341 | meta-crownbay/recipes-kernel/linux/linux-wrs_git.bbappend | ||
| 342 | </programlisting> | ||
| 343 | The file contains the following: | ||
| 351 | <programlisting> | 344 | <programlisting> |
| 352 | meta-emenlow/recipes-kernel/linux/linux-bsp-2.6.50/defconfig-bsp | 345 | FILESEXTRAPATHS := "${THISDIR}/${PN}" |
| 346 | COMPATIBLE_MACHINE_crownbay = "cronwbay" | ||
| 347 | KMACHINE_crownbay = "crownbay" | ||
| 353 | </programlisting> | 348 | </programlisting> |
| 349 | This <filename>.bbappend</filename> file adds "crownbay" as a compatible machine, | ||
| 350 | 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. | ||
| 354 | </para> | 352 | </para> |
| 355 | <para> | 353 | <note><para> |
| 356 | Finally, this last example file contains kernel configuration information. | 354 | For an established BSP the configuration information is incorporated directly into the |
| 355 | git tree. | ||
| 356 | For a new BSP, however, the <filename>.bbappend</filename> file needs to | ||
| 357 | include its own set of configuration options in a file called | ||
| 358 | <filename>defconfig</filename> located in a directory that matches the recipe name. | ||
| 359 | <programlisting> | ||
| 360 | SRC_URI += "file://defconfig" | ||
| 361 | </programlisting> | ||
| 362 | Once a BSP is committed, the Yocto kernel maintainer moves this configuration information | ||
| 363 | into the git tree so that the <filename>.bbappend</filename> file does not need to locate | ||
| 364 | its own configuration options. | ||
| 365 | Again, the initial configuration options using the SRC_URI are put into a | ||
| 366 | directory named | ||
| 367 | <filename class='directory'>meta-<bsp_name>/recipes/linux/linux-yocto-stable</filename>. | ||
| 357 | </para> | 368 | </para> |
| 358 | <para> | 369 | <para> |
| 359 | Examples of kernel recipes are available in Poky itself, and thus, make these files optional. | 370 | You can find more information about creating a BSP that is based on an existing similar |
| 360 | However, it would be unusual not to have a kernel configuration. | 371 | BSP by reading the "Yocto Project Kernel Architecture and Use Manual." |
| 361 | </para> | 372 | </para></note> |
| 362 | </section> | 373 | </section> |
| 363 | 374 | ||
| 364 | <!-- <section id='bsp-filelayout-packages'> | 375 | <!-- <section id='bsp-filelayout-packages'> |
