diff options
Diffstat (limited to 'documentation/bsp-guide')
-rw-r--r-- | documentation/bsp-guide/bsp.xml | 198 |
1 files changed, 113 insertions, 85 deletions
diff --git a/documentation/bsp-guide/bsp.xml b/documentation/bsp-guide/bsp.xml index 2f2dca0084..a3a4508f74 100644 --- a/documentation/bsp-guide/bsp.xml +++ b/documentation/bsp-guide/bsp.xml | |||
@@ -191,29 +191,35 @@ | |||
191 | </para> | 191 | </para> |
192 | 192 | ||
193 | <para> | 193 | <para> |
194 | Below is an example of the Crown Bay BSP: | 194 | Below is an example of the eMenlow BSP: |
195 | 195 | ||
196 | <literallayout class='monospaced'> | 196 | <literallayout class='monospaced'> |
197 | meta-crownbay/COPYING.MIT | 197 | meta-emenlow/COPYING.MIT |
198 | meta-crownbay/README | 198 | meta-emenlow/README |
199 | meta-crownbay/README.sources | 199 | meta-emenlow/README.sources |
200 | meta-crownbay/binary/ | 200 | meta-emenlow/binary/ |
201 | meta-crownbay/conf/ | 201 | meta-emenlow/conf/ |
202 | meta-crownbay/conf/layer.conf | 202 | meta-emenlow/conf/layer.conf |
203 | meta-crownbay/conf/machine/ | 203 | meta-emenlow/conf/machine/ |
204 | meta-crownbay/conf/machine/crownbay-noemgd.conf | 204 | meta-emenlow/conf/machine/emenlow-noemgd.conf |
205 | meta-crownbay/recipes-bsp/ | 205 | meta-emenlow/recipes-bsp/ |
206 | meta-crownbay/recipes-bsp/formfactor/ | 206 | meta-emenlow/recipes-bsp/formfactor/ |
207 | meta-crownbay/recipes-bsp/formfactor/formfactor_0.0.bbappend | 207 | meta-emenlow/recipes-bsp/formfactor/formfactor/ |
208 | meta-crownbay/recipes-bsp/formfactor/formfactor/ | 208 | meta-emenlow/recipes-bsp/formfactor/formfactor_0.0.bbappend |
209 | meta-crownbay/recipes-bsp/formfactor/formfactor/crownbay-noemgd/ | 209 | meta-emenlow/recipes-bsp/formfactor/formfactor/emenlow-noemgd/ |
210 | meta-crownbay/recipes-bsp/formfactor/formfactor/crownbay-noemgd/machconfig | 210 | meta-emenlow/recipes-bsp/formfactor/formfactor/emenlow-noemgd/machconfig |
211 | meta-crownbay/recipes-kernel/ | 211 | meta-emenlow/recipes-graphics/ |
212 | meta-crownbay/recipes-kernel/kmod | 212 | meta-emenlow/recipes-graphics/xorg-xserver |
213 | meta-crownbay/recipes-kernel/kmod/kmod_git.bbappend | 213 | meta-emenlow/recipes-graphics/xorg-xserver/xserver-xf86-config |
214 | meta-crownbay/recipes-kernel/linux/ | 214 | meta-emenlow/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend |
215 | meta-crownbay/recipes-kernel/linux/linux-yocto-rt_3.10.bbappend | 215 | meta-emenlow/recipes-graphics/xorg-xserver/xserver-xf86-config/emenlow-noemgd |
216 | meta-crownbay/recipes-kernel/linux/linux-yocto_3.10.bbappend | 216 | meta-emenlow/recipes-graphics/xorg-xserver/xserver-xf86-config/emenlow-noemgd/xorg.config |
217 | meta-emenlow/recipes-kernel/ | ||
218 | meta-emenlow/recipes-kernel/linux/ | ||
219 | meta-emenlow/recipes-kernel/linux/linux-yocto-dev.bbappend | ||
220 | meta-emenlow/recipes-kernel/linux/linux-yocto-rt_3.10.bbappend | ||
221 | meta-emenlow/recipes-kernel/linux/linux-yocto_3.10.bbappend | ||
222 | meta-emenlow/recipes-kernel/linux/linux-yocto_3.14.bbappend | ||
217 | </literallayout> | 223 | </literallayout> |
218 | </para> | 224 | </para> |
219 | 225 | ||
@@ -234,7 +240,7 @@ | |||
234 | <para> | 240 | <para> |
235 | These optional files satisfy licensing requirements for the BSP. | 241 | These optional files satisfy licensing requirements for the BSP. |
236 | The type or types of files here can vary depending on the licensing requirements. | 242 | The type or types of files here can vary depending on the licensing requirements. |
237 | For example, in the Crown Bay BSP all licensing requirements are handled with the | 243 | For example, in the eMenlow BSP all licensing requirements are handled with the |
238 | <filename>COPYING.MIT</filename> file. | 244 | <filename>COPYING.MIT</filename> file. |
239 | </para> | 245 | </para> |
240 | 246 | ||
@@ -278,12 +284,21 @@ | |||
278 | </para> | 284 | </para> |
279 | 285 | ||
280 | <para> | 286 | <para> |
281 | This file provides information on where to locate the BSP source files. | 287 | This file provides information on where to locate the BSP |
282 | For example, information provides where to find the sources that comprise | 288 | source files used to build the images (if any) that reside in |
283 | the images shipped with the BSP. | 289 | <filename>meta-<replaceable>bsp_name</replaceable>/binary</filename>. |
284 | Information is also included to help you find the | 290 | Images in the <filename>binary</filename> would be images |
291 | released with the BSP. | ||
292 | The information in the <filename>README.sources</filename> | ||
293 | file also helps you find the | ||
285 | <ulink url='&YOCTO_DOCS_DEV_URL;#metadata'>Metadata</ulink> | 294 | <ulink url='&YOCTO_DOCS_DEV_URL;#metadata'>Metadata</ulink> |
286 | used to generate the images that ship with the BSP. | 295 | used to generate the images that ship with the BSP. |
296 | <note> | ||
297 | If the BSP's <filename>binary</filename> directory is | ||
298 | missing or the directory has no images, an existing | ||
299 | <filename>README.sources</filename> file is | ||
300 | meaningless. | ||
301 | </note> | ||
287 | </para> | 302 | </para> |
288 | </section> | 303 | </section> |
289 | 304 | ||
@@ -297,21 +312,26 @@ | |||
297 | </para> | 312 | </para> |
298 | 313 | ||
299 | <para> | 314 | <para> |
300 | This optional area contains useful pre-built kernels and user-space filesystem | 315 | This optional area contains useful pre-built kernels and |
301 | images appropriate to the target system. | 316 | user-space filesystem images released with the BSP that are |
302 | This directory typically contains graphical (e.g. Sato) and minimal live images | 317 | appropriate to the target system. |
303 | when the BSP tarball has been created and made available in the | 318 | This directory typically contains graphical (e.g. Sato) and |
319 | minimal live images when the BSP tarball has been created and | ||
320 | made available in the | ||
304 | <ulink url='&YOCTO_HOME_URL;'>Yocto Project</ulink> website. | 321 | <ulink url='&YOCTO_HOME_URL;'>Yocto Project</ulink> website. |
305 | You can use these kernels and images to get a system running and quickly get started | 322 | You can use these kernels and images to get a system running |
306 | on development tasks. | 323 | and quickly get started on development tasks. |
307 | </para> | 324 | </para> |
308 | 325 | ||
309 | <para> | 326 | <para> |
310 | The exact types of binaries present are highly hardware-dependent. | 327 | The exact types of binaries present are highly |
311 | However, a <filename>README</filename> file should be present in the BSP Layer that explains how to use | 328 | hardware-dependent. |
312 | the kernels and images with the target hardware. | 329 | The <filename>README</filename> file should be present in the |
313 | If pre-built binaries are present, source code to meet licensing requirements must also | 330 | BSP Layer and it will explain how to use the images with the |
314 | exist in some form. | 331 | target hardware. |
332 | Additionally, the <filename>README.sources</filename> file | ||
333 | should be present to locate the sources used to build the | ||
334 | images and provide information on the Metadata. | ||
315 | </para> | 335 | </para> |
316 | </section> | 336 | </section> |
317 | 337 | ||
@@ -354,20 +374,20 @@ | |||
354 | 374 | ||
355 | <para> | 375 | <para> |
356 | To illustrate the string substitutions, here are the corresponding statements | 376 | To illustrate the string substitutions, here are the corresponding statements |
357 | from the Crown Bay <filename>conf/layer.conf</filename> file: | 377 | from the eEmenlow <filename>conf/layer.conf</filename> file: |
358 | <literallayout class='monospaced'> | 378 | <literallayout class='monospaced'> |
359 | # We have a conf and classes directory, add to BBPATH | 379 | # We have a conf and classes directory, add to BBPATH |
360 | BBPATH .= ":${LAYERDIR}" | 380 | BBPATH .= ":${LAYERDIR}" |
361 | 381 | ||
362 | # We have a recipes directory, add to BBFILES | 382 | # We have recipes-* directories, add to BBFILES |
363 | BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ | 383 | BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ |
364 | ${LAYERDIR}/recipes-*/*/*.bbappend" | 384 | ${LAYERDIR}/recipes-*/*/*.bbappend" |
365 | 385 | ||
366 | BBFILE_COLLECTIONS += "crownbay" | 386 | BBFILE_COLLECTIONS += "emenlow" |
367 | BBFILE_PATTERN_crownbay := "^${LAYERDIR}/" | 387 | BBFILE_PATTERN_emenlow := "^${LAYERDIR}/" |
368 | BBFILE_PRIORITY_crownbay = "6" | 388 | BBFILE_PRIORITY_emenlow = "6" |
369 | 389 | ||
370 | LAYERDEPENDS_crownbay = "intel" | 390 | LAYERDEPENDS_emenlow = "intel" |
371 | </literallayout> | 391 | </literallayout> |
372 | </para> | 392 | </para> |
373 | 393 | ||
@@ -412,11 +432,10 @@ | |||
412 | </para> | 432 | </para> |
413 | 433 | ||
414 | <para> | 434 | <para> |
415 | This <filename>crownbay.conf</filename> file could also include | 435 | This configuration file could also include a hardware "tuning" |
416 | a hardware "tuning" file that is commonly used to | 436 | file that is commonly used to define the package architecture |
417 | define the package architecture and specify | 437 | and specify optimization flags, which are carefully chosen |
418 | optimization flags, which are carefully chosen to give best | 438 | to give best performance on a given processor. |
419 | performance on a given processor. | ||
420 | </para> | 439 | </para> |
421 | 440 | ||
422 | <para> | 441 | <para> |
@@ -428,13 +447,15 @@ | |||
428 | </para> | 447 | </para> |
429 | 448 | ||
430 | <para> | 449 | <para> |
431 | To use an include file, you simply include them in the machine configuration file. | 450 | To use an include file, you simply include them in the |
432 | For example, the Crown Bay BSP <filename>crownbay-noemgd.conf</filename> contains the | 451 | machine configuration file. |
452 | For example, the eEmenlow BSP | ||
453 | <filename>emenlow-noemgd.conf</filename> contains the | ||
433 | following statements: | 454 | following statements: |
434 | <literallayout class='monospaced'> | 455 | <literallayout class='monospaced'> |
435 | require conf/machine/include/meta-intel.inc | ||
436 | require conf/machine/include/intel-core2-32-common.inc | 456 | require conf/machine/include/intel-core2-32-common.inc |
437 | require conf/machine/include/intel-common-pkgarch.inc | 457 | require conf/machine/include/intel-common-pkgarch.inc |
458 | require conf/machine/include/meta-intel.inc | ||
438 | </literallayout> | 459 | </literallayout> |
439 | </para> | 460 | </para> |
440 | </section> | 461 | </section> |
@@ -449,19 +470,23 @@ | |||
449 | </para> | 470 | </para> |
450 | 471 | ||
451 | <para> | 472 | <para> |
452 | This optional directory contains miscellaneous recipe files for the BSP. | 473 | This optional directory contains miscellaneous recipe files for |
474 | the BSP. | ||
453 | Most notably would be the formfactor files. | 475 | Most notably would be the formfactor files. |
454 | For example, in the Crown Bay BSP there is the | 476 | For example, in the eMenlow BSP there is the |
455 | <filename>formfactor_0.0.bbappend</filename> file, which is an | 477 | <filename>formfactor_0.0.bbappend</filename> file, which is an |
456 | append file used to augment the recipe that starts the build. | 478 | append file used to augment the recipe that starts the build. |
457 | Furthermore, there are machine-specific settings used during the | 479 | Furthermore, there are machine-specific settings used during |
458 | build that are defined by the <filename>machconfig</filename> file. | 480 | the build that are defined by the |
459 | In the Crown Bay example, the <filename>machconfig</filename> file | 481 | <filename>machconfig</filename> file further down in the |
460 | supports the Video Electronics Standards Association (VESA) graphics | 482 | directory. |
461 | driver: | 483 | In the eMenlow example, the <filename>machconfig</filename> |
484 | file supports the Video Electronics Standards Association | ||
485 | (VESA) graphics driver: | ||
462 | <literallayout class='monospaced'> | 486 | <literallayout class='monospaced'> |
463 | meta-crownbay/recipes-bsp/formfactor/formfactor/crownbay-noemgd/machconfig | 487 | # Assume a USB mouse and keyboard are connected |
464 | meta-crownbay/recipes-bsp/formfactor/formfactor_0.0.bbappend | 488 | HAVE_TOUCHSCREEN=0 |
489 | HAVE_KEYBOARD=1 | ||
465 | </literallayout> | 490 | </literallayout> |
466 | </para> | 491 | </para> |
467 | 492 | ||
@@ -487,15 +512,16 @@ | |||
487 | <para> | 512 | <para> |
488 | This optional directory contains recipes for the BSP if it has | 513 | This optional directory contains recipes for the BSP if it has |
489 | special requirements for graphics support. | 514 | special requirements for graphics support. |
490 | All files that are needed for the BSP to support a display are kept here. | 515 | All files that are needed for the BSP to support a display are |
491 | For example, the <filename>meta-emenlow</filename> layer, which supports | 516 | kept here. |
492 | the eMenlow platform consisting of the | 517 | For example, the <filename>meta-emenlow</filename> layer, |
518 | which supports the eMenlow platform consisting of the | ||
493 | <trademark class='registered'>Intel</trademark> | 519 | <trademark class='registered'>Intel</trademark> |
494 | <trademark class='trade'>Atom</trademark> | 520 | <trademark class='trade'>Atom</trademark> |
495 | Z5xx processor with the | 521 | Z5xx processor with the |
496 | <trademark class='registered'>Intel</trademark> | 522 | <trademark class='registered'>Intel</trademark> |
497 | System Controller Hub US15W uses these files for supporting the Video | 523 | System Controller Hub US15W, uses these files for supporting |
498 | Electronics Standards Association (VESA) graphics: | 524 | the Video Electronics Standards Association (VESA) graphics: |
499 | <literallayout class='monospaced'> | 525 | <literallayout class='monospaced'> |
500 | meta-emenlow/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend | 526 | meta-emenlow/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend |
501 | meta-emenlow/recipes-graphics/xorg-xserver/xserver-xf86-config/emenlow-noemgd/xorg.conf | 527 | meta-emenlow/recipes-graphics/xorg-xserver/xserver-xf86-config/emenlow-noemgd/xorg.conf |
@@ -542,10 +568,10 @@ | |||
542 | specific BSP settings to the kernel, thus configuring the kernel for your particular BSP. | 568 | specific BSP settings to the kernel, thus configuring the kernel for your particular BSP. |
543 | </para> | 569 | </para> |
544 | <para> | 570 | <para> |
545 | As an example, look at the existing Crown Bay BSP. | 571 | As an example, look at the existing eMenlow BSP. |
546 | The append file used is: | 572 | The append file used is: |
547 | <literallayout class='monospaced'> | 573 | <literallayout class='monospaced'> |
548 | meta-crownbay/recipes-kernel/linux/linux-yocto_3.10.bbappend | 574 | meta-emenlow/recipes-kernel/linux/linux-yocto_3.10.bbappend |
549 | </literallayout> | 575 | </literallayout> |
550 | The following listing shows the file. | 576 | The following listing shows the file. |
551 | Be aware that the actual commit ID strings in this example listing might be different | 577 | Be aware that the actual commit ID strings in this example listing might be different |
@@ -554,35 +580,37 @@ | |||
554 | <literallayout class='monospaced'> | 580 | <literallayout class='monospaced'> |
555 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" | 581 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" |
556 | 582 | ||
583 | COMPATIBLE_MACHINE_emenlow-noemgd = "emenlow-noemgd" | ||
584 | KMACHINE_emenlow-noemgd = "emenlow" | ||
585 | KBRANCH_emenlow-noemgd = "standard/emenlow" | ||
586 | KERNEL_FEATURES_append_emenlow-noemgd = " features/drm-gma500/drm-gma500" | ||
557 | 587 | ||
558 | COMPATIBLE_MACHINE_crownbay-noemgd = "crownbay-noemgd" | 588 | LINUX_VERSION_emenlow-noemgd = "3.10.55" |
559 | KMACHINE_crownbay-noemgd = "crownbay" | 589 | SRCREV_meta_emenlow-noemgd = "f79a00265eefbe2fffc2cdb03f67235497a9a87e" |
560 | KBRANCH_crownbay-noemgd = "standard/crownbay" | 590 | SRCREV_machine_emenlow-noemgd = "3677ea7f9476458aa6dec440243de3a6fb1343a9" |
561 | KERNEL_FEATURES_append_crownbay-noemgd = " cfg/vesafb" | ||
562 | |||
563 | LINUX_VERSION_crownbay-noemgd = "3.10.55" | ||
564 | SRCREV_meta_crownbay-noemgd = "f79a00265eefbe2fffc2cdb03f67235497a9a87e" | ||
565 | SRCREV_machine_crownbay-noemgd = "3677ea7f9476458aa6dec440243de3a6fb1343a9" | ||
566 | </literallayout> | 591 | </literallayout> |
567 | This append file contains statements used to support the Crown Bay BSP. | 592 | This append file contains statements used to support the |
593 | eMenlow BSP. | ||
568 | The file defines machines using the | 594 | The file defines machines using the |
569 | <ulink url='&YOCTO_DOCS_REF_URL;#var-COMPATIBLE_MACHINE'><filename>COMPATIBLE_MACHINE</filename></ulink> | 595 | <ulink url='&YOCTO_DOCS_REF_URL;#var-COMPATIBLE_MACHINE'><filename>COMPATIBLE_MACHINE</filename></ulink> |
570 | variable and uses the | 596 | variable and uses the |
571 | <ulink url='&YOCTO_DOCS_REF_URL;#var-KMACHINE'><filename>KMACHINE</filename></ulink> variable to | 597 | <ulink url='&YOCTO_DOCS_REF_URL;#var-KMACHINE'><filename>KMACHINE</filename></ulink> |
572 | ensure the machine name used by the OpenEmbedded build system maps to the | 598 | variable to ensure the machine name used by the OpenEmbedded |
573 | machine name used by the Linux Yocto kernel. | 599 | build system maps to the machine name used by the Linux Yocto |
600 | kernel. | ||
574 | The file also uses the optional | 601 | The file also uses the optional |
575 | <ulink url='&YOCTO_DOCS_REF_URL;#var-KBRANCH'><filename>KBRANCH</filename></ulink> variable | 602 | <ulink url='&YOCTO_DOCS_REF_URL;#var-KBRANCH'><filename>KBRANCH</filename></ulink> |
576 | to ensure the build process uses the <filename>standard/crownbay</filename> | 603 | variable to ensure the build process uses the |
577 | kernel branch. | 604 | <filename>standard/emenlow</filename> kernel branch. |
578 | The | 605 | The |
579 | <ulink url='&YOCTO_DOCS_REF_URL;#var-KERNEL_FEATURES'><filename>KERNEL_FEATURES</filename></ulink> | 606 | <ulink url='&YOCTO_DOCS_REF_URL;#var-KERNEL_FEATURES'><filename>KERNEL_FEATURES</filename></ulink> |
580 | variable enables features specific to the kernel | 607 | variable enables features specific to the kernel |
581 | (e.g. VESA graphics support in this case). | 608 | (e.g. VESA graphics support in this case). |
582 | The append file points to specific commits in the | 609 | The append file points to specific commits in the |
583 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink> Git | 610 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink> |
584 | repository and the <filename>meta</filename> Git repository branches to identify the | 611 | Git repository and the <filename>meta</filename> Git repository |
585 | exact kernel needed to build the Crown Bay BSP. | 612 | branches to identify the exact kernel needed to build the |
613 | eMenlow BSP. | ||
586 | </para> | 614 | </para> |
587 | 615 | ||
588 | <para> | 616 | <para> |