diff options
Diffstat (limited to 'documentation/bsp-guide')
-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'> |