diff options
| -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> |
