diff options
Diffstat (limited to 'external/poky/documentation/bsp-guide/bsp.xml')
-rw-r--r-- | external/poky/documentation/bsp-guide/bsp.xml | 384 |
1 files changed, 261 insertions, 123 deletions
diff --git a/external/poky/documentation/bsp-guide/bsp.xml b/external/poky/documentation/bsp-guide/bsp.xml index a1d91031..96c0455f 100644 --- a/external/poky/documentation/bsp-guide/bsp.xml +++ b/external/poky/documentation/bsp-guide/bsp.xml @@ -19,7 +19,7 @@ </para> <para> - This guide presents information about BSP Layers, defines a structure for components + This guide presents information about BSP layers, defines a structure for components so that BSPs follow a commonly understood layout, discusses how to customize a recipe for a BSP, addresses BSP licensing, and provides information that shows you how to create a @@ -34,7 +34,7 @@ <para> A BSP consists of a file structure inside a base directory. Collectively, you can think of the base directory, its file structure, - and the contents as a BSP Layer. + and the contents as a <firstterm>BSP layer</firstterm>. Although not a strict requirement, BSP layers in the Yocto Project use the following well-established naming convention: <literallayout class='monospaced'> @@ -69,9 +69,9 @@ Each repository is a BSP layer supported by the Yocto Project (e.g. <filename>meta-raspberrypi</filename> and <filename>meta-intel</filename>). - Each of these layers is a repository unto itself and clicking on a - layer reveals information that includes two links from which you can choose - to set up a clone of the layer's repository on your local host system. + Each of these layers is a repository unto itself and clicking on + the layer name displays two URLs from which you can + clone the layer's repository to your local system. Here is an example that clones the Raspberry Pi BSP layer: <literallayout class='monospaced'> $ git clone git://git.yoctoproject.org/meta-raspberrypi @@ -83,12 +83,13 @@ <filename>meta-yocto-bsp</filename> layer is part of the shipped <filename>poky</filename> repository. The <filename>meta-yocto-bsp</filename> layer maintains several - BSPs such as the Beaglebone, EdgeRouter, and generic versions of + "reference" BSPs including the ARM-based Beaglebone, MIPS-based + EdgeRouter, and generic versions of both 32-bit and 64-bit IA machines. </para> <para> - For information on the BSP development workflow, see the + For information on typical BSP development workflow, see the "<link linkend='developing-a-board-support-package-bsp'>Developing a Board Support Package (BSP)</link>" section. For more information on how to set up a local copy of source files @@ -98,12 +99,12 @@ </para> <para> - The layer's base directory + The BSP layer's base directory (<filename>meta-<replaceable>bsp_root_name</replaceable></filename>) - is the root directory of the BSP Layer. + is the root directory of that Layer. This directory is what you add to the <ulink url='&YOCTO_DOCS_REF_URL;#var-BBLAYERS'><filename>BBLAYERS</filename></ulink> - variable in the <filename>conf/bblayers.conf</filename> file found in the + variable in the <filename>conf/bblayers.conf</filename> file found in your <ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory</ulink>, which is established after you run the OpenEmbedded build environment setup script (i.e. @@ -148,16 +149,25 @@ Some layers function as a layer to hold other BSP layers. These layers are knows as "<ulink url='&YOCTO_DOCS_REF_URL;#term-container-layer'>container layers</ulink>". - An example of this type of layer is the - <filename>meta-intel</filename> layer. - This layer contains BSP layers for the Intel-core2-32 - <trademark class='registered'>Intel</trademark> Common Core - (Intel-core2-32) and the Intel-corei7-64 - <trademark class='registered'>Intel</trademark> Common Core - (Intel-corei7-64). - the <filename>meta-intel</filename> layer also contains - the <filename>common/</filename> directory, which contains - common content across those layers. + An example of this type of layer is OpenEmbedded's + <ulink url='https://github.com/openembedded/meta-openembedded'><filename>meta-openembedded</filename></ulink> + layer. + The <filename>meta-openembedded</filename> layer contains + many <filename>meta-*</filename> layers. + In cases like this, you need to include the names of the actual + layers you want to work with, such as: + <literallayout class='monospaced'> + BBLAYERS ?= " \ + /usr/local/src/yocto/meta \ + /usr/local/src/yocto/meta-poky \ + /usr/local/src/yocto/meta-yocto-bsp \ + /usr/local/src/yocto/meta-mylayer \ + .../meta-openembedded/meta-oe \ + .../meta-openembedded/meta-perl \ + .../meta-openembedded/meta-networking \ + " + </literallayout> + and so on. </para> <para> @@ -243,11 +253,11 @@ <literallayout class='monospaced'> $ git clone git://git.yoctoproject.org/meta-intel.git Cloning into 'meta-intel'... - remote: Counting objects: 17179, done. - remote: Compressing objects: 100% (5307/5307), done. - remote: Total 17179 (delta 10209), reused 17139 (delta 10169) - Receiving objects: 100% (17179/17179), 4.76 MiB | 4.39 MiB/s, done. - Resolving deltas: 100% (10209/10209), done. + remote: Counting objects: 15585, done. + remote: Compressing objects: 100% (5056/5056), done. + remote: Total 15585 (delta 9123), reused 15329 (delta 8867) + Receiving objects: 100% (15585/15585), 4.51 MiB | 3.19 MiB/s, done. + Resolving deltas: 100% (9123/9123), done. Checking connectivity... done. </literallayout> </para></listitem> @@ -289,12 +299,13 @@ <literallayout class='monospaced'> $ git clone git://git.yoctoproject.org/meta-raspberrypi Cloning into 'meta-raspberrypi'... - remote: Counting objects: 6205, done. - remote: Compressing objects: 100% (2700/2700), done. - remote: Total 6205 (delta 3342), reused 5916 (delta 3146) - Receiving objects: 100% (6205/6205), 1.43 MiB | 0 bytes/s, done. - Resolving deltas: 100% (3342/3342), done. - Checking connectivity... done. </literallayout> + remote: Counting objects: 4743, done. + remote: Compressing objects: 100% (2185/2185), done. + remote: Total 4743 (delta 2447), reused 4496 (delta 2258) + Receiving objects: 100% (4743/4743), 1.18 MiB | 0 bytes/s, done. + Resolving deltas: 100% (2447/2447), done. + Checking connectivity... done. + </literallayout> </para></listitem> <listitem><para> <emphasis>Initialize the Build Environment:</emphasis> @@ -355,25 +366,24 @@ layer combined with a build system and other tools. Realize that it is important to maintain the distinction that the BSP layer, a build system, and tools are - separate components that could to be combined in + separate components that could be combined in certain end products. </para> <para> - Before looking at the common form for the file structure - inside a BSP Layer, you should be aware that some + Before looking at the recommended form for the directory structure + inside a BSP layer, you should be aware that some requirements do exist in order for a BSP layer to - be considered compliant with the Yocto Project. + be considered <firstterm>compliant</firstterm> with the Yocto Project. For that list of requirements, see the "<link linkend='released-bsp-requirements'>Released BSP Requirements</link>" section. </para> <para> - Below is the common form for the file structure - inside a BSP Layer. + Below is the typical directory structure for a BSP layer. While this basic form represents the standard, - realize that the actual file structures for specific + realize that the actual layout for individual BSPs could differ. <literallayout class='monospaced'> meta-<replaceable>bsp_root_name</replaceable>/ @@ -391,15 +401,164 @@ </para> <para> - You can examine the Raspberry Pi BSP + Below is an example of the Raspberry Pi BSP layer that is available from the - <ulink url='&YOCTO_GIT_URL;'>Source Repositories</ulink> by - following this link: - <ulink url='https://git.yoctoproject.org/cgit/cgit.cgi/meta-raspberrypi/tree/?h=&DISTRO_NAME_NO_CAP;'></ulink>. - Following the link puts you in the Source Repositories and the - Raspberry Pi BSP layer for the "&DISTRO_NAME_NO_CAP;" release. - You can use the interface to explore the configuration, docs, and - recipe files. + <ulink url='&YOCTO_GIT_URL;'>Source Respositories</ulink>: + <literallayout class='monospaced'> + meta-raspberrypi/COPYING.MIT + meta-raspberrypi/README.md + meta-raspberrypi/classes + meta-raspberrypi/classes/sdcard_image-rpi.bbclass + meta-raspberrypi/conf/ + meta-raspberrypi/conf/layer.conf + meta-raspberrypi/conf/machine/ + meta-raspberrypi/conf/machine/raspberrypi-cm.conf + meta-raspberrypi/conf/machine/raspberrypi-cm3.conf + meta-raspberrypi/conf/machine/raspberrypi.conf + meta-raspberrypi/conf/machine/raspberrypi0-wifi.conf + meta-raspberrypi/conf/machine/raspberrypi0.conf + meta-raspberrypi/conf/machine/raspberrypi2.conf + meta-raspberrypi/conf/machine/raspberrypi3-64.conf + meta-raspberrypi/conf/machine/raspberrypi3.conf + meta-raspberrypi/conf/machine/include + meta-raspberrypi/conf/machine/include/rpi-base.inc + meta-raspberrypi/conf/machine/include/rpi-default-providers.inc + meta-raspberrypi/conf/machine/include/rpi-default-settings.inc + meta-raspberrypi/conf/machine/include/rpi-default-versions.inc + meta-raspberrypi/conf/machine/include/tune-arm1176jzf-s.inc + meta-raspberrypi/docs + meta-raspberrypi/docs/Makefile + meta-raspberrypi/docs/conf.py + meta-raspberrypi/docs/contributing.md + meta-raspberrypi/docs/extra-apps.md + meta-raspberrypi/docs/extra-build-config.md + meta-raspberrypi/docs/index.rst + meta-raspberrypi/docs/layer-contents.md + meta-raspberrypi/docs/readme.md + meta-raspberrypi/files + meta-raspberrypi/files/custom-licenses + meta-raspberrypi/files/custom-licenses/Broadcom + meta-raspberrypi/recipes-bsp + meta-raspberrypi/recipes-bsp/bootfiles + meta-raspberrypi/recipes-bsp/bootfiles/bcm2835-bootfiles.bb + meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb + meta-raspberrypi/recipes-bsp/common + meta-raspberrypi/recipes-bsp/common/firmware.inc + meta-raspberrypi/recipes-bsp/formfactor + meta-raspberrypi/recipes-bsp/formfactor/formfactor + meta-raspberrypi/recipes-bsp/formfactor/formfactor/raspberrypi + meta-raspberrypi/recipes-bsp/formfactor/formfactor/raspberrypi/machconfig + meta-raspberrypi/recipes-bsp/formfactor/formfactor_0.0.bbappend + meta-raspberrypi/recipes-bsp/rpi-u-boot-src + meta-raspberrypi/recipes-bsp/rpi-u-boot-src/files + meta-raspberrypi/recipes-bsp/rpi-u-boot-src/files/boot.cmd.in + meta-raspberrypi/recipes-bsp/rpi-u-boot-src/rpi-u-boot-scr.bb + meta-raspberrypi/recipes-bsp/u-boot + meta-raspberrypi/recipes-bsp/u-boot/u-boot + meta-raspberrypi/recipes-bsp/u-boot/u-boot/*.patch + meta-raspberrypi/recipes-bsp/u-boot/u-boot_%.bbappend + meta-raspberrypi/recipes-connectivity + meta-raspberrypi/recipes-connectivity/bluez5 + meta-raspberrypi/recipes-connectivity/bluez5/bluez5 + meta-raspberrypi/recipes-connectivity/bluez5/bluez5/*.patch + meta-raspberrypi/recipes-connectivity/bluez5/bluez5/BCM43430A1.hcd + meta-raspberrypi/recipes-connectivity/bluez5/bluez5brcm43438.service + meta-raspberrypi/recipes-connectivity/bluez5/bluez5_%.bbappend + meta-raspberrypi/recipes-core + meta-raspberrypi/recipes-core/images + meta-raspberrypi/recipes-core/images/rpi-basic-image.bb + meta-raspberrypi/recipes-core/images/rpi-hwup-image.bb + meta-raspberrypi/recipes-core/images/rpi-test-image.bb + meta-raspberrypi/recipes-core/packagegroups + meta-raspberrypi/recipes-core/packagegroups/packagegroup-rpi-test.bb + meta-raspberrypi/recipes-core/psplash + meta-raspberrypi/recipes-core/psplash/files + meta-raspberrypi/recipes-core/psplash/files/psplash-raspberrypi-img.h + meta-raspberrypi/recipes-core/psplash/psplash_git.bbappend + meta-raspberrypi/recipes-core/udev + meta-raspberrypi/recipes-core/udev/udev-rules-rpi + meta-raspberrypi/recipes-core/udev/udev-rules-rpi/99-com.rules + meta-raspberrypi/recipes-core/udev/udev-rules-rpi.bb + meta-raspberrypi/recipes-devtools + meta-raspberrypi/recipes-devtools/bcm2835 + meta-raspberrypi/recipes-devtools/bcm2835/bcm2835_1.52.bb + meta-raspberrypi/recipes-devtools/pi-blaster + meta-raspberrypi/recipes-devtools/pi-blaster/files + meta-raspberrypi/recipes-devtools/pi-blaster/files/*.patch + meta-raspberrypi/recipes-devtools/pi-blaster/pi-blaster_git.bb + meta-raspberrypi/recipes-devtools/python + meta-raspberrypi/recipes-devtools/python/python-rtimu + meta-raspberrypi/recipes-devtools/python/python-rtimu/*.patch + meta-raspberrypi/recipes-devtools/python/python-rtimu_git.bb + meta-raspberrypi/recipes-devtools/python/python-sense-hat_2.2.0.bb + meta-raspberrypi/recipes-devtools/python/rpi-gpio + meta-raspberrypi/recipes-devtools/python/rpi-gpio/*.patch + meta-raspberrypi/recipes-devtools/python/rpi-gpio_0.6.3.bb + meta-raspberrypi/recipes-devtools/python/rpio + meta-raspberrypi/recipes-devtools/python/rpio/*.patch + meta-raspberrypi/recipes-devtools/python/rpio_0.10.0.bb + meta-raspberrypi/recipes-devtools/wiringPi + meta-raspberrypi/recipes-devtools/wiringPi/files + meta-raspberrypi/recipes-devtools/wiringPi/files/*.patch + meta-raspberrypi/recipes-devtools/wiringPi/wiringpi_git.bb + meta-raspberrypi/recipes-graphics + meta-raspberrypi/recipes-graphics/eglinfo + meta-raspberrypi/recipes-graphics/eglinfo/eglinfo-fb_%.bbappend + meta-raspberrypi/recipes-graphics/eglinfo/eglinfo-x11_%.bbappend + meta-raspberrypi/recipes-graphics/mesa + meta-raspberrypi/recipes-graphics/mesa/mesa-gl_%.bbappend + meta-raspberrypi/recipes-graphics/mesa/mesa_%.bbappend + meta-raspberrypi/recipes-graphics/userland + meta-raspberrypi/recipes-graphics/userland/userland + meta-raspberrypi/recipes-graphics/userland/userland/*.patch + meta-raspberrypi/recipes-graphics/userland/userland_git.bb + meta-raspberrypi/recipes-graphics/vc-graphics + meta-raspberrypi/recipes-graphics/vc-graphics/files + meta-raspberrypi/recipes-graphics/vc-graphics/files/egl.pc + meta-raspberrypi/recipes-graphics/vc-graphics/files/vchiq.sh + meta-raspberrypi/recipes-graphics/vc-graphics/vc-graphics-hardfp.bb + meta-raspberrypi/recipes-graphics/vc-graphics/vc-graphics.bb + meta-raspberrypi/recipes-graphics/vc-graphics/vc-graphics.inc + meta-raspberrypi/recipes-graphics/wayland + meta-raspberrypi/recipes-graphics/wayland/weston_%.bbappend + meta-raspberrypi/recipes-graphics/xorg-xserver + meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config + meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi + meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf + meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d + meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d/10-evdev.conf + meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d/98-pitft.conf + meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d/99-calibration.conf + meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend + meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend + meta-raspberrypi/recipes-kernel + meta-raspberrypi/recipes-kernel/linux-firmware + meta-raspberrypi/recipes-kernel/linux-firmware/files + meta-raspberrypi/recipes-kernel/linux-firmware/files/brcmfmac43430-sdio.bin + meta-raspberrypi/recipes-kernel/linux-firmware/files/brcfmac43430-sdio.txt + meta-raspberrypi/recipes-kernel/linux-firmware/linux-firmware_%.bbappend + meta-raspberrypi/recipes-kernel/linux + meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-dev.bb + meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc + meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.14.bb + meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.9.bb + meta-raspberrypi/recipes-multimedia + meta-raspberrypi/recipes-multimedia/gstreamer + meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx + meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx/*.patch + meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_%.bbappend + meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend + meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.12 + meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.12/*.patch + meta-raspberrypi/recipes-multimedia/omxplayer + meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer + meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/*.patch + meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer_git.bb + meta-raspberrypi/recipes-multimedia/x264 + meta-raspberrypi/recipes-multimedia/x264/x264_git.bbappend + meta-raspberrypi/wic + meta-raspberrypi/wic/sdimage-raspberrypi.wks + </literallayout> </para> <para> @@ -422,7 +581,7 @@ for the BSP. The type or types of files here can vary depending on the licensing requirements. - For example, in the Raspberry Pi BSP all licensing + For example, in the Raspberry Pi BSP, all licensing requirements are handled with the <filename>COPYING.MIT</filename> file. </para> @@ -657,7 +816,7 @@ <ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink>. For example, many <filename>tune-*</filename> files (e.g. <filename>tune-arm1136jf-s.inc</filename>, - <filename>tun-1586-nlp.inc</filename>, and so forth) + <filename>tune-1586-nlp.inc</filename>, and so forth) reside in the <filename>poky/meta/conf/machine/include</filename> directory. @@ -689,14 +848,14 @@ This optional directory contains miscellaneous recipe files for the BSP. Most notably would be the formfactor files. - For example, in the Raspberry Pi BSP there is the - <filename>formfactor_%.bbappend</filename> file, + For example, in the Raspberry Pi BSP, there is the + <filename>formfactor_0.0.bbappend</filename> file, which is an append file used to augment the recipe that starts the build. Furthermore, there are machine-specific settings used during the build that are defined by the <filename>machconfig</filename> file further down in - the directory (i.e. <filename>formfactor/rpi/</filename>). + the directory. Here is the <filename>machconfig</filename> file for the Raspberry Pi BSP: <literallayout class='monospaced'> @@ -716,8 +875,7 @@ formfactor recipe <filename>meta/recipes-bsp/formfactor/formfactor_0.0.bb</filename>, which is found in the - <ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink> - (i.e. <filename>poky</filename>). + <ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink>. </para></note> </section> @@ -757,7 +915,7 @@ The <filename>*.bb</filename> files would be a developer-supplied kernel recipe. This area of the BSP hierarchy can contain both these - types of files, although in practice, it is likely that + types of files although, in practice, it is likely that you would have one or the other. </para> @@ -832,7 +990,7 @@ <title>Developing a Board Support Package (BSP)</title> <para> - This section contains the high-level procedure you can + This section describes the high-level procedure you can follow to create a BSP. Although not required for BSP creation, the <filename>meta-intel</filename> repository, which @@ -931,10 +1089,6 @@ (<filename>beaglebone-yocto</filename>) </para></listitem> <listitem><para> - Freescale MPC8315E-RDB - (<filename>mpc8315e-rdb</filename>) - </para></listitem> - <listitem><para> Ubiquiti Networks EdgeRouter Lite (<filename>edgerouter</filename>) </para></listitem> @@ -1158,7 +1312,7 @@ (<filename>openembedded-core</filename>) or the Source Directory (<filename>poky</filename>). In other words, make sure you place related - files in appropriately related + files in appropriately-related <filename>recipes-*</filename> subdirectories specific to the recipe's function, or within a subdirectory containing a set of closely-related @@ -1175,7 +1329,7 @@ directory. This license covers the BSP Metadata as a whole. You must specify which license to use since no - default license exists when one not specified. + default license exists when one is not specified. See the <ulink url='&YOCTO_GIT_URL;/cgit.cgi/meta-raspberrypi/tree/COPYING.MIT'><filename>COPYING.MIT</filename></ulink> file for the Raspberry Pi BSP in the @@ -1198,12 +1352,10 @@ file should contain the following: <itemizedlist> <listitem><para> - A brief description about the hardware the BSP - targets. + A brief description of the target hardware. </para></listitem> <listitem><para> - A list of all the dependencies - on which a BSP layer depends. + A list of all the dependencies of the BSP. These dependencies are typically a list of required layers needed to build the BSP. @@ -1466,7 +1618,7 @@ <title>BSP Licensing Considerations</title> <para> - In some cases, a BSP contains separately licensed + In some cases, a BSP contains separately-licensed Intellectual Property (IP) for a component or components. For these cases, you are required to accept the terms of a commercial or other type of license that requires @@ -1479,7 +1631,7 @@ </para> <para> - You could find that some separately licensed components + You could find that some separately-licensed components that are essential for normal operation of the system might not have an unencumbered (or free) substitute. Without these essential components, the system would be @@ -1487,7 +1639,7 @@ Then again, you might find that other licensed components that are simply 'good-to-have' or purely elective do have an unencumbered, free replacement component that you can - use rather than agreeing to the separately licensed + use rather than agreeing to the separately-licensed component. Even for components essential to the system, you might find an unencumbered component that is not identical but @@ -1600,7 +1752,7 @@ <para> The <filename>bitbake-layers create-layer</filename> script automates creating a BSP layer. - What makes a layer a "BSP layer", is the presence of a machine + What makes a layer a "BSP layer" is the presence of at least one machine configuration file. Additionally, a BSP layer usually has a kernel recipe or an append file that leverages off an existing kernel recipe. @@ -1668,9 +1820,8 @@ The remainder of this section provides a description of the Yocto Project reference BSP for Beaglebone, which resides in the - <ulink url='&YOCTO_DOCS_REF_URL;#term-container-layer'>Container Layer</ulink> - (i.e. - <ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi/poky/tree/meta-yocto-bsp'><filename>meta-yocto-bsp</filename></ulink>). + <ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi/poky/tree/meta-yocto-bsp'><filename>meta-yocto-bsp</filename></ulink> + layer. </para> <section id='bsp-layer-configuration-example'> @@ -1725,15 +1876,18 @@ </para> <para> - Machine configuration files exist in the + One or more machine configuration files exist in the <replaceable>bsp_layer</replaceable><filename>/conf/machine/</filename> directory of the layer: <literallayout class='monospaced'> - <replaceable>bsp_layer</replaceable><filename>/conf/machine/</filename><replaceable>machine</replaceable><filename>.conf</filename> + <replaceable>bsp_layer</replaceable><filename>/conf/machine/</filename><replaceable>machine1</replaceable><filename>.conf</filename> + <replaceable>bsp_layer</replaceable><filename>/conf/machine/</filename><replaceable>machine2</replaceable><filename>.conf</filename> + <replaceable>bsp_layer</replaceable><filename>/conf/machine/</filename><replaceable>machine3</replaceable><filename>.conf</filename> + ... more ... </literallayout> For example, the machine configuration file for the <ulink url='http://beagleboard.org/bone'>BeagleBone and BeagleBone Black development boards</ulink> - is located in the container layer + is located in the layer <filename>poky/meta-yocto-bsp/conf/machine</filename> and is named <filename>beaglebone-yocto.conf</filename>: <literallayout class='monospaced'> @@ -1759,10 +1913,11 @@ IMAGE_INSTALL_append = " kernel-devicetree kernel-image-zimage" do_image_wic[depends] += "mtools-native:do_populate_sysroot dosfstools-native:do_populate_sysroot" - SERIAL_CONSOLES = "115200;ttyO0" + SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyO0" + SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}" PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" - PREFERRED_VERSION_linux-yocto ?= "4.12%" + PREFERRED_VERSION_linux-yocto ?= "5.0%" KERNEL_IMAGETYPE = "zImage" KERNEL_DEVICETREE = "am335x-bone.dtb am335x-boneblack.dtb am335x-bonegreen.dtb" @@ -1770,17 +1925,17 @@ SPL_BINARY = "MLO" UBOOT_SUFFIX = "img" - UBOOT_MACHINE = "am335x_boneblack_config" + UBOOT_MACHINE = "am335x_evm_defconfig" UBOOT_ENTRYPOINT = "0x80008000" UBOOT_LOADADDRESS = "0x80008000" MACHINE_FEATURES = "usbgadget usbhost vfat alsa" - IMAGE_BOOT_FILES ?= "u-boot.${UBOOT_SUFFIX} MLO" + IMAGE_BOOT_FILES ?= "u-boot.${UBOOT_SUFFIX} MLO zImage am335x-bone.dtb am335x-boneblack.dtb am335x-bonegreen.dtb" </literallayout> The variables used to configure the machine define - machine-specific properties. - For example, machine-dependent packages, machine + machine-specific properties; + for example, machine-dependent packages, machine tunings, the type of kernel to build, and U-Boot configurations. </para> @@ -1791,7 +1946,7 @@ machine configuration file for the BeagleBone development boards. Realize that much more can be defined as part of - a machines configuration file. + a machine's configuration file. In general, you can learn about related variables that this example does not have by locating the variables in the @@ -1805,7 +1960,7 @@ In this case, the recipe that provides "virtual/xserver" is "xserver-xorg", which exists in - <filename>poky/meta/recipes-graphics/xserver-xorg</filename>. + <filename>poky/meta/recipes-graphics/xorg-xserver</filename>. </para></listitem> <listitem><para> <ulink url='&YOCTO_DOCS_REF_URL;#var-XSERVER'><filename>XSERVER</filename></ulink>: @@ -1918,7 +2073,7 @@ <listitem><para> <ulink url='&YOCTO_DOCS_REF_URL;#var-PREFERRED_VERSION'><filename>PREFERRED_VERSION_linux-yocto</filename></ulink>: Defines the version of the recipe used - to build the kernel, which is "4.12" in this + to build the kernel, which is "5.0" in this case. </para></listitem> <listitem><para> @@ -1929,8 +2084,8 @@ </para></listitem> <listitem><para> <ulink url='&YOCTO_DOCS_REF_URL;#var-KERNEL_DEVICETREE'><filename>KERNEL_DEVICETREE</filename></ulink>: - The name of the generated Linux kernel device - tree (i.e. the <filename>.dtb</filename>) file. + The names of the generated Linux kernel device + trees (i.e. the <filename>*.dtb</filename>) files. All the device trees for the various BeagleBone devices are included. <!-- @@ -2004,8 +2159,6 @@ when preparing the image using the Wic tool with the <filename>bootimg-partition</filename> source plugin. - In this case, the "u-boot.${UBOOT_SUFFIX}" and - "MLO" files are installed. </para></listitem> </itemizedlist> </para> @@ -2020,55 +2173,49 @@ machine configuration: <literallayout class='monospaced'> PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" - PREFERRED_VERSION_linux-yocto ?= "4.12%" + PREFERRED_VERSION_linux-yocto ?= "5.0%" </literallayout> The <filename>meta-yocto-bsp/recipes-kernel/linux</filename> directory in the layer contains metadata used to build the kernel. - In this case, a kernel append file is used to - override an established kernel recipe, which is + In this case, a kernel append file (i.e. + <filename>linux-yocto_5.0.bbappend</filename>) is used to + override an established kernel recipe (i.e. + <filename>linux-yocto_5.0.bb</filename>), which is located in - <ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi/poky/tree/meta/recipes-kernel/linux'></ulink> - and named - <filename>linux-yocto_4.12.bb</filename>. + <ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi/poky/tree/meta/recipes-kernel/linux'></ulink>. </para> <para> Following is the contents of the append file: <literallayout class='monospaced'> - KBRANCH_genericx86 = "standard/base" - KBRANCH_genericx86-64 = "standard/base" + KBRANCH_genericx86 = "v5.0/standard/base" + KBRANCH_genericx86-64 = "v5.0/standard/base" + KBRANCH_edgerouter = "v5.0/standard/edgerouter" + KBRANCH_beaglebone-yocto = "v5.0/standard/beaglebone" KMACHINE_genericx86 ?= "common-pc" KMACHINE_genericx86-64 ?= "common-pc-64" - KBRANCH_edgerouter = "standard/edgerouter" - KBRANCH_beaglebone-yocto = "standard/beaglebone" - KMACHINE_beaglebone-yocto = "beaglebone" - KBRANCH_mpc8315e-rdb = "standard/fsl-mpc8315e-rdb" - - SRCREV_machine_genericx86 ?= "1c4ad569af3e23a77994235435040e322908687f" - SRCREV_machine_genericx86-64 ?= "1c4ad569af3e23a77994235435040e322908687f" - SRCREV_machine_edgerouter ?= "257f843ea367744620f1d92910afd2f454e31483" - SRCREV_machine_beaglebone-yocto ?= "257f843ea367744620f1d92910afd2f454e31483" - SRCREV_machine_mpc8315e-rdb ?= "014560874f9eb2a86138c9cc35046ff1720485e1" + KMACHINE_beaglebone-yocto ?= "beaglebone" + SRCREV_machine_genericx86 ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d" + SRCREV_machine_genericx86-64 ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d" + SRCREV_machine_edgerouter ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d" + SRCREV_machine_beaglebone-yocto ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d" COMPATIBLE_MACHINE_genericx86 = "genericx86" COMPATIBLE_MACHINE_genericx86-64 = "genericx86-64" COMPATIBLE_MACHINE_edgerouter = "edgerouter" COMPATIBLE_MACHINE_beaglebone-yocto = "beaglebone-yocto" - COMPATIBLE_MACHINE_mpc8315e-rdb = "mpc8315e-rdb" - LINUX_VERSION_genericx86 = "4.12.20" - LINUX_VERSION_genericx86-64 = "4.12.20" - LINUX_VERSION_edgerouter = "4.12.19" - LINUX_VERSION_beaglebone-yocto = "4.12.19" - LINUX_VERSION_mpc8315e-rdb = "4.12.19" + LINUX_VERSION_genericx86 = "5.0.3" + LINUX_VERSION_genericx86-64 = "5.0.3" + LINUX_VERSION_edgerouter = "5.0.3" + LINUX_VERSION_beaglebone-yocto = "5.0.3" </literallayout> This particular append file works for all the machines that are part of the - <filename>meta-yocto-bsp</filename> container - layer. + <filename>meta-yocto-bsp</filename> layer. The relevant statements are appended with the "beaglebone-yocto" string. The OpenEmbedded build system uses these @@ -2091,15 +2238,6 @@ <ulink url='&YOCTO_DOCS_REF_URL;#var-SRCREV'><filename>SRCREV</filename></ulink>: Identifies the revision of the source code used to build the image. -<!-- - You find out about that point in the kernel source tree by - doing the following command: - - git log ‐‐decorate 257f843ea367744620f1d92910afd2f454e31483 - - Returns information about the commit, which is usually - that it is a merge point for a stable kernel release. ---> </para></listitem> <listitem><para> <ulink url='&YOCTO_DOCS_REF_URL;#var-COMPATIBLE_MACHINE'><filename>COMPATIBLE_MACHINE</filename></ulink>: |