diff options
| -rw-r--r-- | documentation/bsp-guide/bsp.xml | 383 |
1 files changed, 226 insertions, 157 deletions
diff --git a/documentation/bsp-guide/bsp.xml b/documentation/bsp-guide/bsp.xml index 8bc27cc207..1195b248de 100644 --- a/documentation/bsp-guide/bsp.xml +++ b/documentation/bsp-guide/bsp.xml | |||
| @@ -310,38 +310,47 @@ | |||
| 310 | <title>Example Filesystem Layout</title> | 310 | <title>Example Filesystem Layout</title> |
| 311 | 311 | ||
| 312 | <para> | 312 | <para> |
| 313 | Defining a common BSP directory structure allows end-users to understand and | 313 | Defining a common BSP directory structure allows |
| 314 | become familiar with that structure. | 314 | end-users to understand and become familiar with |
| 315 | A common format also encourages standardization of software support of hardware. | 315 | that standard. |
| 316 | A common format also encourages standardization | ||
| 317 | of software support for hardware. | ||
| 316 | </para> | 318 | </para> |
| 317 | 319 | ||
| 318 | <para> | 320 | <para> |
| 319 | The proposed form does have elements that are specific to the | 321 | The proposed form described in this section does |
| 320 | OpenEmbedded build system. | 322 | have elements that are specific to the OpenEmbedded |
| 321 | It is intended that this information can be | 323 | build system. |
| 322 | used by other build systems besides the OpenEmbedded build system | 324 | It is intended that developers can use this structure |
| 323 | and that it will be simple | 325 | with other build systems besides the OpenEmbedded build |
| 324 | to extract information and convert it to other formats if required. | 326 | system. |
| 325 | The OpenEmbedded build system, through its standard layers mechanism, can directly | 327 | It is also intended that it will be be simple to extract |
| 326 | accept the format described as a layer. | 328 | information and convert it to other formats if required. |
| 327 | The BSP captures all | 329 | The OpenEmbedded build system, through its standard |
| 328 | the hardware-specific details in one place in a standard format, which is | 330 | <ulink url='&YOCTO_DOCS_GS_URL;#the-yocto-project-layer-model'>layers mechanism</ulink>, |
| 329 | useful for any person wishing to use the hardware platform regardless of | 331 | can directly accept the format described as a layer. |
| 330 | the build system they are using. | 332 | The BSP layer captures all the hardware-specific details |
| 333 | in one place using a standard format, which is useful | ||
| 334 | for any person wishing to use the hardware platform | ||
| 335 | regardless of the build system they are using. | ||
| 331 | </para> | 336 | </para> |
| 332 | 337 | ||
| 333 | <para> | 338 | <para> |
| 334 | The BSP specification does not include a build system or other tools - | 339 | The BSP specification does not include a build system |
| 335 | it is concerned with the hardware-specific components only. | 340 | or other tools - the specification is concerned with |
| 336 | At the end-distribution point, you can ship the BSP combined with a build system | 341 | the hardware-specific components only. |
| 337 | and other tools. | 342 | At the end-distribution point, you can ship the BSP |
| 338 | However, it is important to maintain the distinction that these | 343 | layer combined with a build system and other tools. |
| 339 | are separate components that happen to be combined in certain end products. | 344 | Realize that it is important to maintain the distinction |
| 345 | that the BSP layer, a build system, and tools are | ||
| 346 | separate components that could to be combined in | ||
| 347 | certain end products. | ||
| 340 | </para> | 348 | </para> |
| 341 | 349 | ||
| 342 | <para> | 350 | <para> |
| 343 | Before looking at the common form for the file structure inside a BSP Layer, | 351 | Before looking at the common form for the file structure |
| 344 | you should be aware that some requirements do exist in order for a BSP to | 352 | inside a BSP Layer, you should be aware that some |
| 353 | requirements do exist in order for a BSP layer to | ||
| 345 | be considered compliant with the Yocto Project. | 354 | be considered compliant with the Yocto Project. |
| 346 | For that list of requirements, see the | 355 | For that list of requirements, see the |
| 347 | "<link linkend='released-bsp-requirements'>Released BSP Requirements</link>" | 356 | "<link linkend='released-bsp-requirements'>Released BSP Requirements</link>" |
| @@ -349,10 +358,11 @@ | |||
| 349 | </para> | 358 | </para> |
| 350 | 359 | ||
| 351 | <para> | 360 | <para> |
| 352 | Below is the common form for the file structure inside a BSP Layer. | 361 | Below is the common form for the file structure |
| 353 | While you can use this basic form for the standard, realize that the actual structures | 362 | inside a BSP Layer. |
| 354 | for specific BSPs could differ. | 363 | While this basic form represents the standard, |
| 355 | 364 | realize that the actual file structures for specific | |
| 365 | BSPs could differ. | ||
| 356 | <literallayout class='monospaced'> | 366 | <literallayout class='monospaced'> |
| 357 | meta-<replaceable>bsp_name</replaceable>/ | 367 | meta-<replaceable>bsp_name</replaceable>/ |
| 358 | meta-<replaceable>bsp_name</replaceable>/<replaceable>bsp_license_file</replaceable> | 368 | meta-<replaceable>bsp_name</replaceable>/<replaceable>bsp_license_file</replaceable> |
| @@ -369,27 +379,39 @@ | |||
| 369 | </para> | 379 | </para> |
| 370 | 380 | ||
| 371 | <para> | 381 | <para> |
| 372 | Below is an example of the Raspberry Pi BSP: | 382 | Below is an example of the Raspberry Pi BSP |
| 373 | 383 | layer that ships with the Yocto Project: | |
| 374 | <literallayout class='monospaced'> | 384 | <literallayout class='monospaced'> |
| 375 | meta-raspberrypi/COPYING.MIT | 385 | meta-raspberrypi/COPYING.MIT |
| 376 | meta-raspberrypi/README | 386 | meta-raspberrypi/README.md |
| 377 | meta-raspberrypi/classes | 387 | meta-raspberrypi/classes |
| 378 | meta-raspberrypi/classes/linux-raspberrypi-base.bbclass | ||
| 379 | meta-raspberrypi/classes/sdcard_image-rpi.bbclass | 388 | meta-raspberrypi/classes/sdcard_image-rpi.bbclass |
| 380 | meta-raspberrypi/conf/ | 389 | meta-raspberrypi/conf/ |
| 381 | meta-raspberrypi/conf/layer.conf | 390 | meta-raspberrypi/conf/layer.conf |
| 382 | meta-raspberrypi/conf/machine/ | 391 | meta-raspberrypi/conf/machine/ |
| 392 | meta-raspberrypi/conf/machine/raspberrypi-cm.conf | ||
| 393 | meta-raspberrypi/conf/machine/raspberrypi-cm3.conf | ||
| 383 | meta-raspberrypi/conf/machine/raspberrypi.conf | 394 | meta-raspberrypi/conf/machine/raspberrypi.conf |
| 395 | meta-raspberrypi/conf/machine/raspberrypi0-wifi.conf | ||
| 384 | meta-raspberrypi/conf/machine/raspberrypi0.conf | 396 | meta-raspberrypi/conf/machine/raspberrypi0.conf |
| 385 | meta-raspberrypi/conf/machine/raspberrypi2.conf | 397 | meta-raspberrypi/conf/machine/raspberrypi2.conf |
| 398 | meta-raspberrypi/conf/machine/raspberrypi3-64.conf | ||
| 386 | meta-raspberrypi/conf/machine/raspberrypi3.conf | 399 | meta-raspberrypi/conf/machine/raspberrypi3.conf |
| 387 | meta-raspberrypi/conf/machine/include | 400 | meta-raspberrypi/conf/machine/include |
| 388 | meta-raspberrypi/conf/machine/include/rpi-base.inc | 401 | meta-raspberrypi/conf/machine/include/rpi-base.inc |
| 389 | meta-raspberrypi/conf/machine/include/rpi-default-providers.inc | 402 | meta-raspberrypi/conf/machine/include/rpi-default-providers.inc |
| 390 | meta-raspberrypi/conf/machine/include/rpi-default-settings.inc | 403 | meta-raspberrypi/conf/machine/include/rpi-default-settings.inc |
| 391 | meta-raspberrypi/conf/machine/include/rpi-default-versions.inc | 404 | meta-raspberrypi/conf/machine/include/rpi-default-versions.inc |
| 392 | meta-raspberrypi/conf/machine/include/rpi-tune-arm1176jzf-s.inc | 405 | meta-raspberrypi/conf/machine/include/tune-arm1176jzf-s.inc |
| 406 | meta-raspberrypi/docs | ||
| 407 | meta-raspberrypi/docs/Makefile | ||
| 408 | meta-raspberrypi/docs/conf.py | ||
| 409 | meta-raspberrypi/docs/contributing.md | ||
| 410 | meta-raspberrypi/docs/extra-apps.md | ||
| 411 | meta-raspberrypi/docs/extra-build-config.md | ||
| 412 | meta-raspberrypi/docs/index.rst | ||
| 413 | meta-raspberrypi/docs/layer-contents.md | ||
| 414 | meta-raspberrypi/docs/readme.md | ||
| 393 | meta-raspberrypi/files | 415 | meta-raspberrypi/files |
| 394 | meta-raspberrypi/files/custom-licenses | 416 | meta-raspberrypi/files/custom-licenses |
| 395 | meta-raspberrypi/files/custom-licenses/Broadcom | 417 | meta-raspberrypi/files/custom-licenses/Broadcom |
| @@ -399,12 +421,26 @@ | |||
| 399 | meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb | 421 | meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb |
| 400 | meta-raspberrypi/recipes-bsp/common | 422 | meta-raspberrypi/recipes-bsp/common |
| 401 | meta-raspberrypi/recipes-bsp/common/firmware.inc | 423 | meta-raspberrypi/recipes-bsp/common/firmware.inc |
| 402 | meta-raspberrypi/recipes-bsp/formfactor_00.bbappend | 424 | meta-raspberrypi/recipes-bsp/formfactor |
| 403 | meta-raspberrypi/recipes-bsp/formfactor/raspberrypi/machconfig | 425 | meta-raspberrypi/recipes-bsp/formfactor/formfactor |
| 404 | meta-raspberrypi/recipes-bsp/rpi-mkimage_git.bb | 426 | meta-raspberrypi/recipes-bsp/formfactor/formfactor/raspberrypi |
| 405 | meta-raspberrypi/recipes-bsp/rpi-mkimage/License | 427 | meta-raspberrypi/recipes-bsp/formfactor/formfactor/raspberrypi/machconfig |
| 406 | meta-raspberrypi/recipes-bsp/rpi-mkimage/open-files-relative-to-script.patch | 428 | meta-raspberrypi/recipes-bsp/formfactor/formfactor_0.0.bbappend |
| 407 | meta-raspberrypi/recipes-bsp/u-boot/u-boot-rpi_git.bb | 429 | meta-raspberrypi/recipes-bsp/rpi-u-boot-src |
| 430 | meta-raspberrypi/recipes-bsp/rpi-u-boot-src/files | ||
| 431 | meta-raspberrypi/recipes-bsp/rpi-u-boot-src/files/boot.cmd.in | ||
| 432 | meta-raspberrypi/recipes-bsp/rpi-u-boot-src/rpi-u-boot-scr.bb | ||
| 433 | meta-raspberrypi/recipes-bsp/u-boot | ||
| 434 | meta-raspberrypi/recipes-bsp/u-boot/u-boot | ||
| 435 | meta-raspberrypi/recipes-bsp/u-boot/u-boot/*.patch | ||
| 436 | meta-raspberrypi/recipes-bsp/u-boot/u-boot_%.bbappend | ||
| 437 | meta-raspberrypi/recipes-connectivity | ||
| 438 | meta-raspberrypi/recipes-connectivity/bluez5 | ||
| 439 | meta-raspberrypi/recipes-connectivity/bluez5/bluez5 | ||
| 440 | meta-raspberrypi/recipes-connectivity/bluez5/bluez5/*.patch | ||
| 441 | meta-raspberrypi/recipes-connectivity/bluez5/bluez5/BCM43430A1.hcd | ||
| 442 | meta-raspberrypi/recipes-connectivity/bluez5/bluez5brcm43438.service | ||
| 443 | meta-raspberrypi/recipes-connectivity/bluez5/bluez5_%.bbappend | ||
| 408 | meta-raspberrypi/recipes-core | 444 | meta-raspberrypi/recipes-core |
| 409 | meta-raspberrypi/recipes-core/images | 445 | meta-raspberrypi/recipes-core/images |
| 410 | meta-raspberrypi/recipes-core/images/rpi-basic-image.bb | 446 | meta-raspberrypi/recipes-core/images/rpi-basic-image.bb |
| @@ -414,37 +450,41 @@ | |||
| 414 | meta-raspberrypi/recipes-core/packagegroups/packagegroup-rpi-test.bb | 450 | meta-raspberrypi/recipes-core/packagegroups/packagegroup-rpi-test.bb |
| 415 | meta-raspberrypi/recipes-core/psplash | 451 | meta-raspberrypi/recipes-core/psplash |
| 416 | meta-raspberrypi/recipes-core/psplash/files | 452 | meta-raspberrypi/recipes-core/psplash/files |
| 417 | meta-raspberrypi/recipes-core/psplash/psplash_git.bbappend | ||
| 418 | meta-raspberrypi/recipes-core/psplash/files/psplash-raspberrypi-img.h | 453 | meta-raspberrypi/recipes-core/psplash/files/psplash-raspberrypi-img.h |
| 454 | meta-raspberrypi/recipes-core/psplash/psplash_git.bbappend | ||
| 455 | meta-raspberrypi/recipes-core/udev | ||
| 456 | meta-raspberrypi/recipes-core/udev/udev-rules-rpi | ||
| 457 | meta-raspberrypi/recipes-core/udev/udev-rules-rpi/99-com.rules | ||
| 458 | meta-raspberrypi/recipes-core/udev/udev-rules-rpi.bb | ||
| 419 | meta-raspberrypi/recipes-devtools | 459 | meta-raspberrypi/recipes-devtools |
| 420 | meta-raspberrypi/recipes-devtools/bcm2835 | 460 | meta-raspberrypi/recipes-devtools/bcm2835 |
| 421 | meta-raspberrypi/recipes-devtools/bcm2835/bcm2835_1.46.bb | 461 | meta-raspberrypi/recipes-devtools/bcm2835/bcm2835_1.52.bb |
| 422 | meta-raspberrypi/recipes-devtools/pi-blaster | 462 | meta-raspberrypi/recipes-devtools/pi-blaster |
| 423 | meta-raspberrypi/recipes-devtools/pi-blaster/files | 463 | meta-raspberrypi/recipes-devtools/pi-blaster/files |
| 424 | meta-raspberrypi/recipes-devtools/pi-blaster/*.patch | 464 | meta-raspberrypi/recipes-devtools/pi-blaster/files/*.patch |
| 425 | meta-raspberrypi/recipes-devtools/pi-blaster/pi-blaster.inc | ||
| 426 | meta-raspberrypi/recipes-devtools/pi-blaster/pi-blaster_git.bb | 465 | meta-raspberrypi/recipes-devtools/pi-blaster/pi-blaster_git.bb |
| 427 | meta-raspberrypi/recipes-devtools/python | 466 | meta-raspberrypi/recipes-devtools/python |
| 428 | meta-raspberrypi/recipes-devtools/python/python-rtimu | 467 | meta-raspberrypi/recipes-devtools/python/python-rtimu |
| 429 | meta-raspberrypi/recipes-devtools/python/python-rtimu/*.patch | 468 | meta-raspberrypi/recipes-devtools/python/python-rtimu/*.patch |
| 430 | meta-raspberrypi/recipes-devtools/python/python-rtimu_git.bb | 469 | meta-raspberrypi/recipes-devtools/python/python-rtimu_git.bb |
| 431 | meta-raspberrypi/recipes-devtools/python/python-sense-hat_2.1.0.bb | 470 | meta-raspberrypi/recipes-devtools/python/python-sense-hat_2.2.0.bb |
| 432 | meta-raspberrypi/recipes-devtools/python/rpi-gpio | 471 | meta-raspberrypi/recipes-devtools/python/rpi-gpio |
| 433 | meta-raspberrypi/recipes-devtools/python/rpi-gpio/*.patch | 472 | meta-raspberrypi/recipes-devtools/python/rpi-gpio/*.patch |
| 434 | meta-raspberrypi/recipes-devtools/python/rpi-gpio_0.6.1.bb | 473 | meta-raspberrypi/recipes-devtools/python/rpi-gpio_0.6.3.bb |
| 435 | meta-raspberrypi/recipes-devtools/python/rpio | 474 | meta-raspberrypi/recipes-devtools/python/rpio |
| 436 | meta-raspberrypi/recipes-devtools/python/rpio/*.patch | 475 | meta-raspberrypi/recipes-devtools/python/rpio/*.patch |
| 437 | meta-raspberrypi/recipes-devtools/python/rpio_0.10.0.bb | 476 | meta-raspberrypi/recipes-devtools/python/rpio_0.10.0.bb |
| 438 | meta-raspberrypi/recipes-devtools/wiringPi | 477 | meta-raspberrypi/recipes-devtools/wiringPi |
| 439 | meta-raspberrypi/recipes-devtools/wiringPi/files | 478 | meta-raspberrypi/recipes-devtools/wiringPi/files |
| 440 | meta-raspberrypi/recipes-devtools/wiringPi/files/*.patch | 479 | meta-raspberrypi/recipes-devtools/wiringPi/files/*.patch |
| 441 | meta-raspberrypi/recipes-devtools/wiringPi/wiringpi | ||
| 442 | meta-raspberrypi/recipes-devtools/wiringPi/wiringpi/*.patch | ||
| 443 | meta-raspberrypi/recipes-devtools/wiringPi/wiringpi_git.bb | 480 | meta-raspberrypi/recipes-devtools/wiringPi/wiringpi_git.bb |
| 444 | meta-raspberrypi/recipes-graphics | 481 | meta-raspberrypi/recipes-graphics |
| 445 | meta-raspberrypi/recipes-graphics/eglinfo | 482 | meta-raspberrypi/recipes-graphics/eglinfo |
| 446 | meta-raspberrypi/recipes-graphics/eglinfo/eglinfo-fb_%.bbappend | 483 | meta-raspberrypi/recipes-graphics/eglinfo/eglinfo-fb_%.bbappend |
| 447 | meta-raspberrypi/recipes-graphics/eglinfo/eglinfo-x11_%.bbappend | 484 | meta-raspberrypi/recipes-graphics/eglinfo/eglinfo-x11_%.bbappend |
| 485 | meta-raspberrypi/recipes-graphics/mesa | ||
| 486 | meta-raspberrypi/recipes-graphics/mesa/mesa-gl_%.bbappend | ||
| 487 | meta-raspberrypi/recipes-graphics/mesa/mesa_%.bbappend | ||
| 448 | meta-raspberrypi/recipes-graphics/userland | 488 | meta-raspberrypi/recipes-graphics/userland |
| 449 | meta-raspberrypi/recipes-graphics/userland/userland | 489 | meta-raspberrypi/recipes-graphics/userland/userland |
| 450 | meta-raspberrypi/recipes-graphics/userland/userland/*.patch | 490 | meta-raspberrypi/recipes-graphics/userland/userland/*.patch |
| @@ -458,58 +498,49 @@ | |||
| 458 | meta-raspberrypi/recipes-graphics/vc-graphics/vc-graphics.inc | 498 | meta-raspberrypi/recipes-graphics/vc-graphics/vc-graphics.inc |
| 459 | meta-raspberrypi/recipes-graphics/wayland | 499 | meta-raspberrypi/recipes-graphics/wayland |
| 460 | meta-raspberrypi/recipes-graphics/wayland/weston_%.bbappend | 500 | meta-raspberrypi/recipes-graphics/wayland/weston_%.bbappend |
| 461 | meta-raspberrypi/recipes-graphics/weston | ||
| 462 | meta-raspberrypi/recipes-graphics/weston/weston_%.bbappend | ||
| 463 | meta-raspberrypi/recipes-graphics/xorg-xserver | 501 | meta-raspberrypi/recipes-graphics/xorg-xserver |
| 464 | meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config | 502 | meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config |
| 465 | meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi | 503 | meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi |
| 466 | meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf | 504 | meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf |
| 467 | meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d | 505 | meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d |
| 468 | meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d/10-evdev.conf | 506 | meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d/10-evdev.conf |
| 469 | meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d/99-pitft.conf | 507 | meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d/98-pitft.conf |
| 508 | meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d/99-calibration.conf | ||
| 470 | meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend | 509 | meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend |
| 510 | meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend | ||
| 471 | meta-raspberrypi/recipes-kernel | 511 | meta-raspberrypi/recipes-kernel |
| 472 | meta-raspberrypi/recipes-kernel/linux-firmware | 512 | meta-raspberrypi/recipes-kernel/linux-firmware |
| 473 | meta-raspberrypi/recipes-kernel/linux-firmware/linux-firmware | 513 | meta-raspberrypi/recipes-kernel/linux-firmware/files |
| 474 | meta-raspberrypi/recipes-kernel/linux-firmware/linux-firmware/LICENSE.broadcom_brcm80211 | 514 | meta-raspberrypi/recipes-kernel/linux-firmware/files/brcmfmac43430-sdio.bin |
| 475 | meta-raspberrypi/recipes-kernel/linux-firmware/linux-firmware/brcmfmac43430-sdio.bin | 515 | meta-raspberrypi/recipes-kernel/linux-firmware/files/brcfmac43430-sdio.txt |
| 476 | meta-raspberrypi/recipes-kernel/linux-firmware/linux-firmware/brcmfmac43430-sdio.txt | 516 | meta-raspberrypi/recipes-kernel/linux-firmware/linux-firmware_%.bbappend |
| 477 | meta-raspberrypi/recipes-kernel/linux-firmware/linux-firmware_git.bbappend | ||
| 478 | meta-raspberrypi/recipes-kernel/linux | 517 | meta-raspberrypi/recipes-kernel/linux |
| 479 | meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-3.14 | 518 | meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-dev.bb |
| 480 | meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-3.14/*.patch | ||
| 481 | meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-3.18 | ||
| 482 | meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-3.18/*.patch | ||
| 483 | meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-4.1 | ||
| 484 | meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-4.1/*.patch | ||
| 485 | meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc | 519 | meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc |
| 486 | meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi | 520 | meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.14.bb |
| 487 | meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/defconfig | 521 | meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.9.bb |
| 488 | meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_3.14.bb | ||
| 489 | meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_3.18.bb | ||
| 490 | meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.1.bb | ||
| 491 | meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.4.bb | ||
| 492 | meta-raspberrypi/recipes-kernel/linux/linux.inc | ||
| 493 | meta-raspberrypi/recipes-multimedia | 522 | meta-raspberrypi/recipes-multimedia |
| 494 | meta-raspberrypi/recipes-multimedia/gstreamer | 523 | meta-raspberrypi/recipes-multimedia/gstreamer |
| 495 | meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx | 524 | meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx |
| 496 | meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx/*.patch | 525 | meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx/*.patch |
| 497 | meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_%.bbappend | 526 | meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_%.bbappend |
| 498 | meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend | 527 | meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend |
| 528 | meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.12 | ||
| 529 | meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.12/*.patch | ||
| 499 | meta-raspberrypi/recipes-multimedia/omxplayer | 530 | meta-raspberrypi/recipes-multimedia/omxplayer |
| 500 | meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer | 531 | meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer |
| 501 | meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/*.patch | 532 | meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/*.patch |
| 502 | meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer_git.bb | 533 | meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer_git.bb |
| 503 | meta-raspberrypi/scripts | 534 | meta-raspberrypi/recipes-multimedia/x264 |
| 504 | meta-raspberrypi/scripts/lib | 535 | meta-raspberrypi/recipes-multimedia/x264/x264_git.bbappend |
| 505 | meta-raspberrypi/scripts/lib/image | 536 | meta-raspberrypi/wic |
| 506 | meta-raspberrypi/scripts/lib/image/canned-wks | 537 | meta-raspberrypi/wic/sdimage-raspberrypi.wks |
| 507 | meta-raspberrypi/scripts/lib/image/canned-wks/sdimage-raspberrypi.wks | ||
| 508 | </literallayout> | 538 | </literallayout> |
| 509 | </para> | 539 | </para> |
| 510 | 540 | ||
| 511 | <para> | 541 | <para> |
| 512 | The following sections describe each part of the proposed BSP format. | 542 | The following sections describe each part of the proposed |
| 543 | BSP format. | ||
| 513 | </para> | 544 | </para> |
| 514 | 545 | ||
| 515 | <section id="bsp-filelayout-license"> | 546 | <section id="bsp-filelayout-license"> |
| @@ -523,15 +554,24 @@ | |||
| 523 | </para> | 554 | </para> |
| 524 | 555 | ||
| 525 | <para> | 556 | <para> |
| 526 | These optional files satisfy licensing requirements for the BSP. | 557 | These optional files satisfy licensing requirements |
| 527 | The type or types of files here can vary depending on the licensing requirements. | 558 | for the BSP. |
| 528 | For example, in the Raspberry Pi BSP all licensing requirements are handled with the | 559 | The type or types of files here can vary depending |
| 560 | on the licensing requirements. | ||
| 561 | For example, in the Raspberry Pi BSP all licensing | ||
| 562 | requirements are handled with the | ||
| 529 | <filename>COPYING.MIT</filename> file. | 563 | <filename>COPYING.MIT</filename> file. |
| 530 | </para> | 564 | </para> |
| 531 | 565 | ||
| 532 | <para> | 566 | <para> |
| 533 | Licensing files can be MIT, BSD, GPLv*, and so forth. | 567 | Licensing files can be MIT, BSD, GPLv*, and so forth. |
| 534 | These files are recommended for the BSP but are optional and totally up to the BSP developer. | 568 | These files are recommended for the BSP but are |
| 569 | optional and totally up to the BSP developer. | ||
| 570 | For information on how to maintain license | ||
| 571 | compliance, see the | ||
| 572 | "<ulink url='&YOCTO_DOCS_DEV_URL;#maintaining-open-source-license-compliance-during-your-products-lifecycle'>Maintaining Open Source License Compliance During Your Product's Lifecycle</ulink>" | ||
| 573 | section in the Yocto Project Development Tasks | ||
| 574 | Manual. | ||
| 535 | </para> | 575 | </para> |
| 536 | </section> | 576 | </section> |
| 537 | 577 | ||
| @@ -546,10 +586,11 @@ | |||
| 546 | </para> | 586 | </para> |
| 547 | 587 | ||
| 548 | <para> | 588 | <para> |
| 549 | This file provides information on how to boot the live images that are optionally | 589 | This file provides information on how to boot the live |
| 550 | included in the <filename>binary/</filename> directory. | 590 | images that are optionally included in the |
| 551 | The <filename>README</filename> file also provides special information needed for | 591 | <filename>binary/</filename> directory. |
| 552 | building the image. | 592 | The <filename>README</filename> file also provides |
| 593 | information needed for building the image. | ||
| 553 | </para> | 594 | </para> |
| 554 | 595 | ||
| 555 | <para> | 596 | <para> |
| @@ -572,7 +613,8 @@ | |||
| 572 | 613 | ||
| 573 | <para> | 614 | <para> |
| 574 | This file provides information on where to locate the BSP | 615 | This file provides information on where to locate the BSP |
| 575 | source files used to build the images (if any) that reside in | 616 | source files used to build the images (if any) that |
| 617 | reside in | ||
| 576 | <filename>meta-<replaceable>bsp_name</replaceable>/binary</filename>. | 618 | <filename>meta-<replaceable>bsp_name</replaceable>/binary</filename>. |
| 577 | Images in the <filename>binary</filename> would be images | 619 | Images in the <filename>binary</filename> would be images |
| 578 | released with the BSP. | 620 | released with the BSP. |
| @@ -584,7 +626,7 @@ | |||
| 584 | If the BSP's <filename>binary</filename> directory is | 626 | If the BSP's <filename>binary</filename> directory is |
| 585 | missing or the directory has no images, an existing | 627 | missing or the directory has no images, an existing |
| 586 | <filename>README.sources</filename> file is | 628 | <filename>README.sources</filename> file is |
| 587 | meaningless. | 629 | meaningless and usually does not exist. |
| 588 | </note> | 630 | </note> |
| 589 | </para> | 631 | </para> |
| 590 | </section> | 632 | </section> |
| @@ -600,26 +642,30 @@ | |||
| 600 | </para> | 642 | </para> |
| 601 | 643 | ||
| 602 | <para> | 644 | <para> |
| 603 | This optional area contains useful pre-built kernels and | 645 | This optional area contains useful pre-built kernels |
| 604 | user-space filesystem images released with the BSP that are | 646 | and user-space filesystem images released with the |
| 605 | appropriate to the target system. | 647 | BSP that are appropriate to the target system. |
| 606 | This directory typically contains graphical (e.g. Sato) and | 648 | This directory typically contains graphical (e.g. Sato) |
| 607 | minimal live images when the BSP tarball has been created and | 649 | and minimal live images when the BSP tarball has been |
| 608 | made available in the | 650 | created and made available in the |
| 609 | <ulink url='&YOCTO_HOME_URL;'>Yocto Project</ulink> website. | 651 | <ulink url='&YOCTO_HOME_URL;'>Yocto Project</ulink> |
| 610 | You can use these kernels and images to get a system running | 652 | website. |
| 611 | and quickly get started on development tasks. | 653 | You can use these kernels and images to get a system |
| 654 | running and quickly get started on development tasks. | ||
| 612 | </para> | 655 | </para> |
| 613 | 656 | ||
| 614 | <para> | 657 | <para> |
| 615 | The exact types of binaries present are highly | 658 | The exact types of binaries present are highly |
| 616 | hardware-dependent. | 659 | hardware-dependent. |
| 617 | The <filename>README</filename> file should be present in the | 660 | The |
| 618 | BSP Layer and it will explain how to use the images with the | 661 | <link linkend='bsp-filelayout-readme'><filename>README</filename></link> |
| 619 | target hardware. | 662 | file should be present in the BSP Layer and it |
| 620 | Additionally, the <filename>README.sources</filename> file | 663 | explains how to use the images with the target hardware. |
| 621 | should be present to locate the sources used to build the | 664 | Additionally, the |
| 622 | images and provide information on the Metadata. | 665 | <link linkend='bsp-filelayout-readme-sources'><filename>README.sources</filename></link> |
| 666 | file should be present to locate the sources used to | ||
| 667 | build the images and provide information on the | ||
| 668 | Metadata. | ||
| 623 | </para> | 669 | </para> |
| 624 | </section> | 670 | </section> |
| 625 | 671 | ||
| @@ -634,14 +680,18 @@ | |||
| 634 | </para> | 680 | </para> |
| 635 | 681 | ||
| 636 | <para> | 682 | <para> |
| 637 | The <filename>conf/layer.conf</filename> file identifies the file structure as a | 683 | The <filename>conf/layer.conf</filename> file |
| 638 | layer, identifies the | 684 | identifies the file structure as a layer, |
| 639 | contents of the layer, and contains information about how the build | 685 | identifies the contents of the layer, and |
| 640 | system should use it. | 686 | contains information about how the build system should |
| 641 | Generally, a standard boilerplate file such as the following works. | 687 | use it. |
| 642 | In the following example, you would replace "<replaceable>bsp</replaceable>" and | 688 | Generally, a standard boilerplate file such as the |
| 643 | "<replaceable>_bsp</replaceable>" with the actual name | 689 | following works. |
| 644 | of the BSP (i.e. <replaceable>bsp_name</replaceable> from the example template). | 690 | In the following example, you would replace |
| 691 | <replaceable>bsp</replaceable> with the actual | ||
| 692 | name of the BSP (i.e. | ||
| 693 | <replaceable>bsp_name</replaceable> from the example | ||
| 694 | template). | ||
| 645 | </para> | 695 | </para> |
| 646 | 696 | ||
| 647 | <para> | 697 | <para> |
| @@ -662,8 +712,9 @@ | |||
| 662 | </para> | 712 | </para> |
| 663 | 713 | ||
| 664 | <para> | 714 | <para> |
| 665 | To illustrate the string substitutions, here are the corresponding statements | 715 | To illustrate the string substitutions, here are |
| 666 | from the Raspberry Pi <filename>conf/layer.conf</filename> file: | 716 | the corresponding statements from the Raspberry |
| 717 | Pi <filename>conf/layer.conf</filename> file: | ||
| 667 | <literallayout class='monospaced'> | 718 | <literallayout class='monospaced'> |
| 668 | # We have a conf and classes directory, append to BBPATH | 719 | # We have a conf and classes directory, append to BBPATH |
| 669 | BBPATH .= ":${LAYERDIR}" | 720 | BBPATH .= ":${LAYERDIR}" |
| @@ -678,6 +729,9 @@ | |||
| 678 | 729 | ||
| 679 | # Additional license directories. | 730 | # Additional license directories. |
| 680 | LICENSE_PATH += "${LAYERDIR}/files/custom-licenses" | 731 | LICENSE_PATH += "${LAYERDIR}/files/custom-licenses" |
| 732 | . | ||
| 733 | . | ||
| 734 | . | ||
| 681 | </literallayout> | 735 | </literallayout> |
| 682 | </para> | 736 | </para> |
| 683 | 737 | ||
| @@ -685,7 +739,8 @@ | |||
| 685 | This file simply makes | 739 | This file simply makes |
| 686 | <ulink url='&YOCTO_DOCS_REF_URL;#bitbake-term'>BitBake</ulink> | 740 | <ulink url='&YOCTO_DOCS_REF_URL;#bitbake-term'>BitBake</ulink> |
| 687 | aware of the recipes and configuration directories. | 741 | aware of the recipes and configuration directories. |
| 688 | The file must exist so that the OpenEmbedded build system can recognize the BSP. | 742 | The file must exist so that the OpenEmbedded build system |
| 743 | can recognize the BSP. | ||
| 689 | </para> | 744 | </para> |
| 690 | </section> | 745 | </section> |
| 691 | 746 | ||
| @@ -700,41 +755,48 @@ | |||
| 700 | </para> | 755 | </para> |
| 701 | 756 | ||
| 702 | <para> | 757 | <para> |
| 703 | The machine files bind together all the information contained elsewhere | 758 | The machine files bind together all the information |
| 704 | in the BSP into a format that the build system can understand. | 759 | contained elsewhere in the BSP into a format that |
| 705 | If the BSP supports multiple machines, multiple machine configuration files | 760 | the build system can understand. |
| 706 | can be present. | 761 | Each BSP Layer requires at least one machine file. |
| 707 | These filenames correspond to the values to which users have set the | 762 | If the BSP supports multiple machines, multiple |
| 763 | machine configuration files can exist. | ||
| 764 | These filenames correspond to the values to which | ||
| 765 | users have set the | ||
| 708 | <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink> variable. | 766 | <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink> variable. |
| 709 | </para> | 767 | </para> |
| 710 | 768 | ||
| 711 | <para> | 769 | <para> |
| 712 | These files define things such as the kernel package to use | 770 | These files define things such as the kernel package |
| 771 | to use | ||
| 713 | (<ulink url='&YOCTO_DOCS_REF_URL;#var-PREFERRED_PROVIDER'><filename>PREFERRED_PROVIDER</filename></ulink> | 772 | (<ulink url='&YOCTO_DOCS_REF_URL;#var-PREFERRED_PROVIDER'><filename>PREFERRED_PROVIDER</filename></ulink> |
| 714 | of virtual/kernel), the hardware drivers to | 773 | of |
| 715 | include in different types of images, any special software components | 774 | <ulink url='&YOCTO_DOCS_DEV_URL;#metadata-virtual-providers'>virtual/kernel</ulink>), |
| 716 | that are needed, any bootloader information, and also any special image | 775 | the hardware drivers to include in different types |
| 717 | format requirements. | 776 | of images, any special software components that are |
| 777 | needed, any bootloader information, and also any | ||
| 778 | special image format requirements. | ||
| 718 | </para> | 779 | </para> |
| 719 | 780 | ||
| 720 | <para> | 781 | <para> |
| 721 | Each BSP Layer requires at least one machine file. | 782 | This configuration file could also include a hardware |
| 722 | However, you can supply more than one file. | 783 | "tuning" file that is commonly used to define the |
| 723 | </para> | 784 | package architecture and specify optimization flags, |
| 724 | 785 | which are carefully chosen to give best performance | |
| 725 | <para> | 786 | on a given processor. |
| 726 | This configuration file could also include a hardware "tuning" | ||
| 727 | file that is commonly used to define the package architecture | ||
| 728 | and specify optimization flags, which are carefully chosen | ||
| 729 | to give best performance on a given processor. | ||
| 730 | </para> | 787 | </para> |
| 731 | 788 | ||
| 732 | <para> | 789 | <para> |
| 733 | Tuning files are found in the <filename>meta/conf/machine/include</filename> | 790 | Tuning files are found in the |
| 791 | <filename>meta/conf/machine/include</filename> | ||
| 734 | directory within the | 792 | directory within the |
| 735 | <ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink>. | 793 | <ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink>. |
| 736 | For example, the <filename>ia32-base.inc</filename> file resides in the | 794 | For example, many <filename>tune-*</filename> files |
| 737 | <filename>meta/conf/machine/include</filename> directory. | 795 | (e.g. <filename>tune-arm1136jf-s.inc</filename>, |
| 796 | <filename>tun-1586-nlp.inc</filename>, and so forth) | ||
| 797 | reside in the | ||
| 798 | <filename>poky/meta/conf/machine/include</filename> | ||
| 799 | directory. | ||
| 738 | </para> | 800 | </para> |
| 739 | 801 | ||
| 740 | <para> | 802 | <para> |
| @@ -744,7 +806,7 @@ | |||
| 744 | <filename>raspberrypi3.conf</filename> contains the | 806 | <filename>raspberrypi3.conf</filename> contains the |
| 745 | following statement: | 807 | following statement: |
| 746 | <literallayout class='monospaced'> | 808 | <literallayout class='monospaced'> |
| 747 | include conf/machine/raspberrypi2.conf | 809 | include conf/machine/include/rpi-base.inc |
| 748 | </literallayout> | 810 | </literallayout> |
| 749 | </para> | 811 | </para> |
| 750 | </section> | 812 | </section> |
| @@ -760,18 +822,19 @@ | |||
| 760 | </para> | 822 | </para> |
| 761 | 823 | ||
| 762 | <para> | 824 | <para> |
| 763 | This optional directory contains miscellaneous recipe files for | 825 | This optional directory contains miscellaneous recipe |
| 764 | the BSP. | 826 | files for the BSP. |
| 765 | Most notably would be the formfactor files. | 827 | Most notably would be the formfactor files. |
| 766 | For example, in the Raspberry Pi BSP there is the | 828 | For example, in the Raspberry Pi BSP there is the |
| 767 | <filename>formfactor_0.0.bbappend</filename> file, which is an | 829 | <filename>formfactor_0.0.bbappend</filename> file, |
| 768 | append file used to augment the recipe that starts the build. | 830 | which is an append file used to augment the recipe |
| 769 | Furthermore, there are machine-specific settings used during | 831 | that starts the build. |
| 770 | the build that are defined by the | 832 | Furthermore, there are machine-specific settings used |
| 771 | <filename>machconfig</filename> file further down in the | 833 | during the build that are defined by the |
| 772 | directory. | 834 | <filename>machconfig</filename> file further down in |
| 773 | Here is the <filename>machconfig</filename> | 835 | the directory. |
| 774 | file for the Raspberry Pi BSP: | 836 | Here is the <filename>machconfig</filename> file for |
| 837 | the Raspberry Pi BSP: | ||
| 775 | <literallayout class='monospaced'> | 838 | <literallayout class='monospaced'> |
| 776 | HAVE_TOUCHSCREEN=0 | 839 | HAVE_TOUCHSCREEN=0 |
| 777 | HAVE_KEYBOARD=1 | 840 | HAVE_KEYBOARD=1 |
| @@ -783,8 +846,9 @@ | |||
| 783 | </para> | 846 | </para> |
| 784 | 847 | ||
| 785 | <note><para> | 848 | <note><para> |
| 786 | If a BSP does not have a formfactor entry, defaults are established according to | 849 | If a BSP does not have a formfactor entry, defaults |
| 787 | the formfactor configuration file that is installed by the main | 850 | are established according to the formfactor |
| 851 | configuration file that is installed by the main | ||
| 788 | formfactor recipe | 852 | formfactor recipe |
| 789 | <filename>meta/recipes-bsp/formfactor/formfactor_0.0.bb</filename>, | 853 | <filename>meta/recipes-bsp/formfactor/formfactor_0.0.bb</filename>, |
| 790 | which is found in the | 854 | which is found in the |
| @@ -803,10 +867,11 @@ | |||
| 803 | </para> | 867 | </para> |
| 804 | 868 | ||
| 805 | <para> | 869 | <para> |
| 806 | This optional directory contains recipes for the BSP if it has | 870 | This optional directory contains recipes for the |
| 807 | special requirements for graphics support. | 871 | BSP if it has special requirements for graphics |
| 808 | All files that are needed for the BSP to support a display are | 872 | support. |
| 809 | kept here. | 873 | All files that are needed for the BSP to support |
| 874 | a display are kept here. | ||
| 810 | </para> | 875 | </para> |
| 811 | </section> | 876 | </section> |
| 812 | 877 | ||
| @@ -830,15 +895,17 @@ | |||
| 830 | Project kernel recipe found in the | 895 | Project kernel recipe found in the |
| 831 | <ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink> | 896 | <ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink> |
| 832 | at <filename>meta/recipes-kernel/linux</filename>. | 897 | at <filename>meta/recipes-kernel/linux</filename>. |
| 833 | You can append machine-specific changes to the kernel recipe | 898 | You can append machine-specific changes to the |
| 834 | by using a similarly named append file, which is located in | 899 | kernel recipe by using a similarly named append |
| 835 | the BSP Layer for your target device (e.g. the | 900 | file, which is located in the BSP Layer for your |
| 901 | target device (e.g. the | ||
| 836 | <filename>meta-<replaceable>bsp_name</replaceable>/recipes-kernel/linux</filename> directory). | 902 | <filename>meta-<replaceable>bsp_name</replaceable>/recipes-kernel/linux</filename> directory). |
| 837 | </para> | 903 | </para> |
| 838 | 904 | ||
| 839 | <para> | 905 | <para> |
| 840 | Suppose you are using the <filename>linux-yocto_4.4.bb</filename> | 906 | Suppose you are using the |
| 841 | recipe to build the kernel. | 907 | <filename>linux-yocto_4.4.bb</filename> recipe to |
| 908 | build the kernel. | ||
| 842 | In other words, you have selected the kernel in your | 909 | In other words, you have selected the kernel in your |
| 843 | <replaceable>bsp_name</replaceable><filename>.conf</filename> | 910 | <replaceable>bsp_name</replaceable><filename>.conf</filename> |
| 844 | file by adding | 911 | file by adding |
| @@ -851,14 +918,16 @@ | |||
| 851 | PREFERRED_VERSION_linux-yocto ?= "4.4%" | 918 | PREFERRED_VERSION_linux-yocto ?= "4.4%" |
| 852 | </literallayout> | 919 | </literallayout> |
| 853 | <note> | 920 | <note> |
| 854 | When the preferred provider is assumed by default, the | 921 | When the preferred provider is assumed by |
| 922 | default, the | ||
| 855 | <filename>PREFERRED_PROVIDER</filename> | 923 | <filename>PREFERRED_PROVIDER</filename> |
| 856 | statement does not appear in the | 924 | statement does not appear in the |
| 857 | <replaceable>bsp_name</replaceable><filename>.conf</filename> file. | 925 | <replaceable>bsp_name</replaceable><filename>.conf</filename> file. |
| 858 | </note> | 926 | </note> |
| 859 | You would use the <filename>linux-yocto_4.4.bbappend</filename> | 927 | You would use the |
| 860 | file to append specific BSP settings to the kernel, thus | 928 | <filename>linux-yocto_4.4.bbappend</filename> |
| 861 | configuring the kernel for your particular BSP. | 929 | file to append specific BSP settings to the kernel, |
| 930 | thus configuring the kernel for your particular BSP. | ||
| 862 | </para> | 931 | </para> |
| 863 | 932 | ||
| 864 | <para> | 933 | <para> |
