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