diff options
author | Scott Rifenbark <srifenbark@gmail.com> | 2018-03-08 09:22:40 -0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-03-25 09:41:12 +0100 |
commit | 776ac4c220859edf4b02ec25100ef52f8cba6216 (patch) | |
tree | b06d761519fbc1187ca00a22303c70929e7237ad /documentation/bsp-guide | |
parent | ae64a41af54c322ec048dc4d116c87971121ef39 (diff) | |
download | poky-776ac4c220859edf4b02ec25100ef52f8cba6216.tar.gz |
bsp-guide: Scrubbed the BSP structure section.
Made changes to sync the raspberrypi BSP example to what is
really in the source directories. It was pretty out of date.
Made some minor edits to the sections describing the framework
of the BSP.
(From yocto-docs rev: b222d0988cb365cb1943ee1857e5cfd6b9fe173a)
Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/bsp-guide')
-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> |