diff options
Diffstat (limited to 'documentation/bsp-guide')
| -rw-r--r-- | documentation/bsp-guide/bsp.rst | 365 | ||||
| -rw-r--r-- | documentation/bsp-guide/history.rst | 73 | ||||
| -rw-r--r-- | documentation/bsp-guide/index.rst | 1 |
3 files changed, 173 insertions, 266 deletions
diff --git a/documentation/bsp-guide/bsp.rst b/documentation/bsp-guide/bsp.rst index 93e9182490..a6444d9af1 100644 --- a/documentation/bsp-guide/bsp.rst +++ b/documentation/bsp-guide/bsp.rst | |||
| @@ -1,8 +1,8 @@ | |||
| 1 | .. SPDX-License-Identifier: CC-BY-SA-2.0-UK | 1 | .. SPDX-License-Identifier: CC-BY-SA-2.0-UK |
| 2 | 2 | ||
| 3 | ************************************************ | 3 | ************************************************** |
| 4 | Board Support Packages (BSP) - Developer's Guide | 4 | Board Support Packages (BSP) --- Developer's Guide |
| 5 | ************************************************ | 5 | ************************************************** |
| 6 | 6 | ||
| 7 | A Board Support Package (BSP) is a collection of information that | 7 | A Board Support Package (BSP) is a collection of information that |
| 8 | defines how to support a particular hardware device, set of devices, or | 8 | defines how to support a particular hardware device, set of devices, or |
| @@ -26,7 +26,7 @@ A BSP consists of a file structure inside a base directory. | |||
| 26 | Collectively, you can think of the base directory, its file structure, | 26 | Collectively, you can think of the base directory, its file structure, |
| 27 | and the contents as a BSP layer. Although not a strict requirement, BSP | 27 | and the contents as a BSP layer. Although not a strict requirement, BSP |
| 28 | layers in the Yocto Project use the following well-established naming | 28 | layers in the Yocto Project use the following well-established naming |
| 29 | convention: :: | 29 | convention:: |
| 30 | 30 | ||
| 31 | meta-bsp_root_name | 31 | meta-bsp_root_name |
| 32 | 32 | ||
| @@ -58,14 +58,14 @@ Each repository is a BSP layer supported by the Yocto Project (e.g. | |||
| 58 | ``meta-raspberrypi`` and ``meta-intel``). Each of these layers is a | 58 | ``meta-raspberrypi`` and ``meta-intel``). Each of these layers is a |
| 59 | repository unto itself and clicking on the layer name displays two URLs | 59 | repository unto itself and clicking on the layer name displays two URLs |
| 60 | from which you can clone the layer's repository to your local system. | 60 | from which you can clone the layer's repository to your local system. |
| 61 | Here is an example that clones the Raspberry Pi BSP layer: :: | 61 | Here is an example that clones the Raspberry Pi BSP layer:: |
| 62 | 62 | ||
| 63 | $ git clone git://git.yoctoproject.org/meta-raspberrypi | 63 | $ git clone git://git.yoctoproject.org/meta-raspberrypi |
| 64 | 64 | ||
| 65 | In addition to BSP layers, the ``meta-yocto-bsp`` layer is part of the | 65 | In addition to BSP layers, the ``meta-yocto-bsp`` layer is part of the |
| 66 | shipped ``poky`` repository. The ``meta-yocto-bsp`` layer maintains | 66 | shipped ``poky`` repository. The ``meta-yocto-bsp`` layer maintains |
| 67 | several "reference" BSPs including the ARM-based Beaglebone, MIPS-based | 67 | several "reference" BSPs including the ARM-based Beaglebone and generic |
| 68 | EdgeRouter, and generic versions of both 32-bit and 64-bit IA machines. | 68 | versions of both 32-bit and 64-bit IA machines. |
| 69 | 69 | ||
| 70 | For information on typical BSP development workflow, see the | 70 | For information on typical BSP development workflow, see the |
| 71 | :ref:`bsp-guide/bsp:developing a board support package (bsp)` | 71 | :ref:`bsp-guide/bsp:developing a board support package (bsp)` |
| @@ -81,10 +81,10 @@ directory of that Layer. This directory is what you add to the | |||
| 81 | ``conf/bblayers.conf`` file found in your | 81 | ``conf/bblayers.conf`` file found in your |
| 82 | :term:`Build Directory`, which is | 82 | :term:`Build Directory`, which is |
| 83 | established after you run the OpenEmbedded build environment setup | 83 | established after you run the OpenEmbedded build environment setup |
| 84 | script (i.e. :ref:`ref-manual/structure:\`\`oe-init-build-env\`\``). | 84 | script (i.e. :ref:`ref-manual/structure:``oe-init-build-env```). |
| 85 | Adding the root directory allows the :term:`OpenEmbedded Build System` | 85 | Adding the root directory allows the :term:`OpenEmbedded Build System` |
| 86 | to recognize the BSP | 86 | to recognize the BSP |
| 87 | layer and from it build an image. Here is an example: :: | 87 | layer and from it build an image. Here is an example:: |
| 88 | 88 | ||
| 89 | BBLAYERS ?= " \ | 89 | BBLAYERS ?= " \ |
| 90 | /usr/local/src/yocto/meta \ | 90 | /usr/local/src/yocto/meta \ |
| @@ -95,11 +95,11 @@ layer and from it build an image. Here is an example: :: | |||
| 95 | 95 | ||
| 96 | .. note:: | 96 | .. note:: |
| 97 | 97 | ||
| 98 | Ordering and :term:`BBFILE_PRIORITY` for the layers listed in ``BBLAYERS`` | 98 | Ordering and :term:`BBFILE_PRIORITY` for the layers listed in :term:`BBLAYERS` |
| 99 | matter. For example, if multiple layers define a machine configuration, the | 99 | matter. For example, if multiple layers define a machine configuration, the |
| 100 | OpenEmbedded build system uses the last layer searched given similar layer | 100 | OpenEmbedded build system uses the last layer searched given similar layer |
| 101 | priorities. The build system works from the top-down through the layers | 101 | priorities. The build system works from the top-down through the layers |
| 102 | listed in ``BBLAYERS``. | 102 | listed in :term:`BBLAYERS`. |
| 103 | 103 | ||
| 104 | Some BSPs require or depend on additional layers beyond the BSP's root | 104 | Some BSPs require or depend on additional layers beyond the BSP's root |
| 105 | layer in order to be functional. In this case, you need to specify these | 105 | layer in order to be functional. In this case, you need to specify these |
| @@ -109,11 +109,10 @@ them to the "Dependencies" section. | |||
| 109 | 109 | ||
| 110 | Some layers function as a layer to hold other BSP layers. These layers | 110 | Some layers function as a layer to hold other BSP layers. These layers |
| 111 | are known as ":term:`container layers <Container Layer>`". An example of | 111 | are known as ":term:`container layers <Container Layer>`". An example of |
| 112 | this type of layer is OpenEmbedded's | 112 | this type of layer is OpenEmbedded's :oe_git:`meta-openembedded </meta-openembedded>` |
| 113 | `meta-openembedded <https://github.com/openembedded/meta-openembedded>`__ | ||
| 114 | layer. The ``meta-openembedded`` layer contains many ``meta-*`` layers. | 113 | layer. The ``meta-openembedded`` layer contains many ``meta-*`` layers. |
| 115 | In cases like this, you need to include the names of the actual layers | 114 | In cases like this, you need to include the names of the actual layers |
| 116 | you want to work with, such as: :: | 115 | you want to work with, such as:: |
| 117 | 116 | ||
| 118 | BBLAYERS ?= " \ | 117 | BBLAYERS ?= " \ |
| 119 | /usr/local/src/yocto/meta \ | 118 | /usr/local/src/yocto/meta \ |
| @@ -128,7 +127,7 @@ you want to work with, such as: :: | |||
| 128 | and so on. | 127 | and so on. |
| 129 | 128 | ||
| 130 | For more information on layers, see the | 129 | For more information on layers, see the |
| 131 | ":ref:`dev-manual/common-tasks:understanding and creating layers`" | 130 | ":ref:`dev-manual/layers:understanding and creating layers`" |
| 132 | section of the Yocto Project Development Tasks Manual. | 131 | section of the Yocto Project Development Tasks Manual. |
| 133 | 132 | ||
| 134 | Preparing Your Build Host to Work With BSP Layers | 133 | Preparing Your Build Host to Work With BSP Layers |
| @@ -166,13 +165,14 @@ section. | |||
| 166 | #. *Determine the BSP Layer You Want:* The Yocto Project supports many | 165 | #. *Determine the BSP Layer You Want:* The Yocto Project supports many |
| 167 | BSPs, which are maintained in their own layers or in layers designed | 166 | BSPs, which are maintained in their own layers or in layers designed |
| 168 | to contain several BSPs. To get an idea of machine support through | 167 | to contain several BSPs. To get an idea of machine support through |
| 169 | BSP layers, you can look at the `index of | 168 | BSP layers, you can look at the |
| 170 | machines <&YOCTO_RELEASE_DL_URL;/machines>`__ for the release. | 169 | :yocto_dl:`index of machines </releases/yocto/&DISTRO_REL_LATEST_TAG;/machines>` |
| 170 | for the release. | ||
| 171 | 171 | ||
| 172 | #. *Optionally Clone the meta-intel BSP Layer:* If your hardware is | 172 | #. *Optionally Clone the meta-intel BSP Layer:* If your hardware is |
| 173 | based on current Intel CPUs and devices, you can leverage this BSP | 173 | based on current Intel CPUs and devices, you can leverage this BSP |
| 174 | layer. For details on the ``meta-intel`` BSP layer, see the layer's | 174 | layer. For details on the ``meta-intel`` BSP layer, see the layer's |
| 175 | :yocto_git:`README </meta-intel/tree/README>` file. | 175 | :yocto_git:`README </meta-intel/tree/README.md>` file. |
| 176 | 176 | ||
| 177 | #. *Navigate to Your Source Directory:* Typically, you set up the | 177 | #. *Navigate to Your Source Directory:* Typically, you set up the |
| 178 | ``meta-intel`` Git repository inside the :term:`Source Directory` (e.g. | 178 | ``meta-intel`` Git repository inside the :term:`Source Directory` (e.g. |
| @@ -193,7 +193,7 @@ section. | |||
| 193 | 193 | ||
| 194 | #. *Check Out the Proper Branch:* The branch you check out for | 194 | #. *Check Out the Proper Branch:* The branch you check out for |
| 195 | ``meta-intel`` must match the same branch you are using for the | 195 | ``meta-intel`` must match the same branch you are using for the |
| 196 | Yocto Project release (e.g. ``&DISTRO_NAME_NO_CAP;``): :: | 196 | Yocto Project release (e.g. ``&DISTRO_NAME_NO_CAP;``):: |
| 197 | 197 | ||
| 198 | $ cd meta-intel | 198 | $ cd meta-intel |
| 199 | $ git checkout -b &DISTRO_NAME_NO_CAP; remotes/origin/&DISTRO_NAME_NO_CAP; | 199 | $ git checkout -b &DISTRO_NAME_NO_CAP; remotes/origin/&DISTRO_NAME_NO_CAP; |
| @@ -204,7 +204,7 @@ section. | |||
| 204 | .. note:: | 204 | .. note:: |
| 205 | 205 | ||
| 206 | To see the available branch names in a cloned repository, use the ``git | 206 | To see the available branch names in a cloned repository, use the ``git |
| 207 | branch -al`` command. See the | 207 | branch -a`` command. See the |
| 208 | ":ref:`dev-manual/start:checking out by branch in poky`" | 208 | ":ref:`dev-manual/start:checking out by branch in poky`" |
| 209 | section in the Yocto Project Development Tasks Manual for more | 209 | section in the Yocto Project Development Tasks Manual for more |
| 210 | information. | 210 | information. |
| @@ -216,7 +216,7 @@ section. | |||
| 216 | The process is identical to the process used for the ``meta-intel`` | 216 | The process is identical to the process used for the ``meta-intel`` |
| 217 | layer except for the layer's name. For example, if you determine that | 217 | layer except for the layer's name. For example, if you determine that |
| 218 | your hardware most closely matches the ``meta-raspberrypi``, clone | 218 | your hardware most closely matches the ``meta-raspberrypi``, clone |
| 219 | that layer: :: | 219 | that layer:: |
| 220 | 220 | ||
| 221 | $ git clone git://git.yoctoproject.org/meta-raspberrypi | 221 | $ git clone git://git.yoctoproject.org/meta-raspberrypi |
| 222 | Cloning into 'meta-raspberrypi'... | 222 | Cloning into 'meta-raspberrypi'... |
| @@ -229,7 +229,7 @@ section. | |||
| 229 | 229 | ||
| 230 | #. *Initialize the Build Environment:* While in the root directory of | 230 | #. *Initialize the Build Environment:* While in the root directory of |
| 231 | the Source Directory (i.e. ``poky``), run the | 231 | the Source Directory (i.e. ``poky``), run the |
| 232 | :ref:`ref-manual/structure:\`\`oe-init-build-env\`\`` environment | 232 | :ref:`ref-manual/structure:``oe-init-build-env``` environment |
| 233 | setup script to define the OpenEmbedded build environment on your | 233 | setup script to define the OpenEmbedded build environment on your |
| 234 | build host. :: | 234 | build host. :: |
| 235 | 235 | ||
| @@ -250,7 +250,7 @@ standardization of software support for hardware. | |||
| 250 | The proposed form described in this section does have elements that are | 250 | The proposed form described in this section does have elements that are |
| 251 | specific to the OpenEmbedded build system. It is intended that | 251 | specific to the OpenEmbedded build system. It is intended that |
| 252 | developers can use this structure with other build systems besides the | 252 | developers can use this structure with other build systems besides the |
| 253 | OpenEmbedded build system. It is also intended that it will be be simple | 253 | OpenEmbedded build system. It is also intended that it will be simple |
| 254 | to extract information and convert it to other formats if required. The | 254 | to extract information and convert it to other formats if required. The |
| 255 | OpenEmbedded build system, through its standard :ref:`layers mechanism | 255 | OpenEmbedded build system, through its standard :ref:`layers mechanism |
| 256 | <overview-manual/yp-intro:the yocto project layer model>`, can | 256 | <overview-manual/yp-intro:the yocto project layer model>`, can |
| @@ -267,7 +267,7 @@ maintain the distinction that the BSP layer, a build system, and tools | |||
| 267 | are separate components that could be combined in certain end products. | 267 | are separate components that could be combined in certain end products. |
| 268 | 268 | ||
| 269 | Before looking at the recommended form for the directory structure | 269 | Before looking at the recommended form for the directory structure |
| 270 | inside a BSP layer, you should be aware that some requirements do exist | 270 | inside a BSP layer, you should be aware that there are some requirements |
| 271 | in order for a BSP layer to be considered compliant with the Yocto | 271 | in order for a BSP layer to be considered compliant with the Yocto |
| 272 | Project. For that list of requirements, see the | 272 | Project. For that list of requirements, see the |
| 273 | ":ref:`bsp-guide/bsp:released bsp requirements`" section. | 273 | ":ref:`bsp-guide/bsp:released bsp requirements`" section. |
| @@ -289,7 +289,7 @@ individual BSPs could differ. :: | |||
| 289 | meta-bsp_root_name/recipes-kernel/linux/linux-yocto_kernel_rev.bbappend | 289 | meta-bsp_root_name/recipes-kernel/linux/linux-yocto_kernel_rev.bbappend |
| 290 | 290 | ||
| 291 | Below is an example of the Raspberry Pi BSP layer that is available from | 291 | Below is an example of the Raspberry Pi BSP layer that is available from |
| 292 | the :yocto_git:`Source Respositories <>`: | 292 | the :yocto_git:`Source Repositories <>`: |
| 293 | 293 | ||
| 294 | .. code-block:: none | 294 | .. code-block:: none |
| 295 | 295 | ||
| @@ -336,7 +336,7 @@ the :yocto_git:`Source Respositories <>`: | |||
| 336 | meta-raspberrypi/recipes-bsp/formfactor/formfactor | 336 | meta-raspberrypi/recipes-bsp/formfactor/formfactor |
| 337 | meta-raspberrypi/recipes-bsp/formfactor/formfactor/raspberrypi | 337 | meta-raspberrypi/recipes-bsp/formfactor/formfactor/raspberrypi |
| 338 | meta-raspberrypi/recipes-bsp/formfactor/formfactor/raspberrypi/machconfig | 338 | meta-raspberrypi/recipes-bsp/formfactor/formfactor/raspberrypi/machconfig |
| 339 | meta-raspberrypi/recipes-bsp/formfactor/formfactor_0.0.bbappend | 339 | meta-raspberrypi/recipes-bsp/formfactor/formfactor_%.bbappend |
| 340 | meta-raspberrypi/recipes-bsp/rpi-u-boot-src | 340 | meta-raspberrypi/recipes-bsp/rpi-u-boot-src |
| 341 | meta-raspberrypi/recipes-bsp/rpi-u-boot-src/files | 341 | meta-raspberrypi/recipes-bsp/rpi-u-boot-src/files |
| 342 | meta-raspberrypi/recipes-bsp/rpi-u-boot-src/files/boot.cmd.in | 342 | meta-raspberrypi/recipes-bsp/rpi-u-boot-src/files/boot.cmd.in |
| @@ -451,7 +451,7 @@ The following sections describe each part of the proposed BSP format. | |||
| 451 | License Files | 451 | License Files |
| 452 | ------------- | 452 | ------------- |
| 453 | 453 | ||
| 454 | You can find these files in the BSP Layer at: :: | 454 | You can find these files in the BSP Layer at:: |
| 455 | 455 | ||
| 456 | meta-bsp_root_name/bsp_license_file | 456 | meta-bsp_root_name/bsp_license_file |
| 457 | 457 | ||
| @@ -463,13 +463,13 @@ requirements are handled with the ``COPYING.MIT`` file. | |||
| 463 | Licensing files can be MIT, BSD, GPLv*, and so forth. These files are | 463 | Licensing files can be MIT, BSD, GPLv*, and so forth. These files are |
| 464 | recommended for the BSP but are optional and totally up to the BSP | 464 | recommended for the BSP but are optional and totally up to the BSP |
| 465 | developer. For information on how to maintain license compliance, see | 465 | developer. For information on how to maintain license compliance, see |
| 466 | the ":ref:`dev-manual/common-tasks:maintaining open source license compliance during your product's lifecycle`" | 466 | the ":ref:`dev-manual/licenses:maintaining open source license compliance during your product's lifecycle`" |
| 467 | section in the Yocto Project Development Tasks Manual. | 467 | section in the Yocto Project Development Tasks Manual. |
| 468 | 468 | ||
| 469 | README File | 469 | README File |
| 470 | ----------- | 470 | ----------- |
| 471 | 471 | ||
| 472 | You can find this file in the BSP Layer at: :: | 472 | You can find this file in the BSP Layer at:: |
| 473 | 473 | ||
| 474 | meta-bsp_root_name/README | 474 | meta-bsp_root_name/README |
| 475 | 475 | ||
| @@ -484,7 +484,7 @@ name of the BSP maintainer with his or her contact information. | |||
| 484 | README.sources File | 484 | README.sources File |
| 485 | ------------------- | 485 | ------------------- |
| 486 | 486 | ||
| 487 | You can find this file in the BSP Layer at: :: | 487 | You can find this file in the BSP Layer at:: |
| 488 | 488 | ||
| 489 | meta-bsp_root_name/README.sources | 489 | meta-bsp_root_name/README.sources |
| 490 | 490 | ||
| @@ -503,7 +503,7 @@ used to generate the images that ship with the BSP. | |||
| 503 | Pre-built User Binaries | 503 | Pre-built User Binaries |
| 504 | ----------------------- | 504 | ----------------------- |
| 505 | 505 | ||
| 506 | You can find these files in the BSP Layer at: :: | 506 | You can find these files in the BSP Layer at:: |
| 507 | 507 | ||
| 508 | meta-bsp_root_name/binary/bootable_images | 508 | meta-bsp_root_name/binary/bootable_images |
| 509 | 509 | ||
| @@ -526,7 +526,7 @@ information on the Metadata. | |||
| 526 | Layer Configuration File | 526 | Layer Configuration File |
| 527 | ------------------------ | 527 | ------------------------ |
| 528 | 528 | ||
| 529 | You can find this file in the BSP Layer at: :: | 529 | You can find this file in the BSP Layer at:: |
| 530 | 530 | ||
| 531 | meta-bsp_root_name/conf/layer.conf | 531 | meta-bsp_root_name/conf/layer.conf |
| 532 | 532 | ||
| @@ -550,7 +550,7 @@ template). :: | |||
| 550 | LAYERDEPENDS_bsp = "intel" | 550 | LAYERDEPENDS_bsp = "intel" |
| 551 | 551 | ||
| 552 | To illustrate the string substitutions, here are the corresponding | 552 | To illustrate the string substitutions, here are the corresponding |
| 553 | statements from the Raspberry Pi ``conf/layer.conf`` file: :: | 553 | statements from the Raspberry Pi ``conf/layer.conf`` file:: |
| 554 | 554 | ||
| 555 | # We have a conf and classes directory, append to BBPATH | 555 | # We have a conf and classes directory, append to BBPATH |
| 556 | BBPATH .= ":${LAYERDIR}" | 556 | BBPATH .= ":${LAYERDIR}" |
| @@ -576,7 +576,7 @@ recognize the BSP. | |||
| 576 | Hardware Configuration Options | 576 | Hardware Configuration Options |
| 577 | ------------------------------ | 577 | ------------------------------ |
| 578 | 578 | ||
| 579 | You can find these files in the BSP Layer at: :: | 579 | You can find these files in the BSP Layer at:: |
| 580 | 580 | ||
| 581 | meta-bsp_root_name/conf/machine/*.conf | 581 | meta-bsp_root_name/conf/machine/*.conf |
| 582 | 582 | ||
| @@ -589,7 +589,7 @@ filenames correspond to the values to which users have set the | |||
| 589 | 589 | ||
| 590 | These files define things such as the kernel package to use | 590 | These files define things such as the kernel package to use |
| 591 | (:term:`PREFERRED_PROVIDER` of | 591 | (:term:`PREFERRED_PROVIDER` of |
| 592 | :ref:`virtual/kernel <dev-manual/common-tasks:using virtual providers>`), | 592 | :ref:`virtual/kernel <dev-manual/new-recipe:using virtual providers>`), |
| 593 | the hardware drivers to include in different types of images, any | 593 | the hardware drivers to include in different types of images, any |
| 594 | special software components that are needed, any bootloader information, | 594 | special software components that are needed, any bootloader information, |
| 595 | and also any special image format requirements. | 595 | and also any special image format requirements. |
| @@ -607,24 +607,24 @@ For example, many ``tune-*`` files (e.g. ``tune-arm1136jf-s.inc``, | |||
| 607 | 607 | ||
| 608 | To use an include file, you simply include them in the machine | 608 | To use an include file, you simply include them in the machine |
| 609 | configuration file. For example, the Raspberry Pi BSP | 609 | configuration file. For example, the Raspberry Pi BSP |
| 610 | ``raspberrypi3.conf`` contains the following statement: :: | 610 | ``raspberrypi3.conf`` contains the following statement:: |
| 611 | 611 | ||
| 612 | include conf/machine/include/rpi-base.inc | 612 | include conf/machine/include/rpi-base.inc |
| 613 | 613 | ||
| 614 | Miscellaneous BSP-Specific Recipe Files | 614 | Miscellaneous BSP-Specific Recipe Files |
| 615 | --------------------------------------- | 615 | --------------------------------------- |
| 616 | 616 | ||
| 617 | You can find these files in the BSP Layer at: :: | 617 | You can find these files in the BSP Layer at:: |
| 618 | 618 | ||
| 619 | meta-bsp_root_name/recipes-bsp/* | 619 | meta-bsp_root_name/recipes-bsp/* |
| 620 | 620 | ||
| 621 | This optional directory contains miscellaneous recipe files for the BSP. | 621 | This optional directory contains miscellaneous recipe files for the BSP. |
| 622 | Most notably would be the formfactor files. For example, in the | 622 | Most notably would be the formfactor files. For example, in the |
| 623 | Raspberry Pi BSP, there is the ``formfactor_0.0.bbappend`` file, which | 623 | Raspberry Pi BSP, there is the ``formfactor_%.bbappend`` file, which |
| 624 | is an append file used to augment the recipe that starts the build. | 624 | is an append file used to augment the recipe that starts the build. |
| 625 | Furthermore, there are machine-specific settings used during the build | 625 | Furthermore, there are machine-specific settings used during the build |
| 626 | that are defined by the ``machconfig`` file further down in the | 626 | that are defined by the ``machconfig`` file further down in the |
| 627 | directory. Here is the ``machconfig`` file for the Raspberry Pi BSP: :: | 627 | directory. Here is the ``machconfig`` file for the Raspberry Pi BSP:: |
| 628 | 628 | ||
| 629 | HAVE_TOUCHSCREEN=0 | 629 | HAVE_TOUCHSCREEN=0 |
| 630 | HAVE_KEYBOARD=1 | 630 | HAVE_KEYBOARD=1 |
| @@ -644,7 +644,7 @@ directory. Here is the ``machconfig`` file for the Raspberry Pi BSP: :: | |||
| 644 | Display Support Files | 644 | Display Support Files |
| 645 | --------------------- | 645 | --------------------- |
| 646 | 646 | ||
| 647 | You can find these files in the BSP Layer at: :: | 647 | You can find these files in the BSP Layer at:: |
| 648 | 648 | ||
| 649 | meta-bsp_root_name/recipes-graphics/* | 649 | meta-bsp_root_name/recipes-graphics/* |
| 650 | 650 | ||
| @@ -655,7 +655,7 @@ to support a display are kept here. | |||
| 655 | Linux Kernel Configuration | 655 | Linux Kernel Configuration |
| 656 | -------------------------- | 656 | -------------------------- |
| 657 | 657 | ||
| 658 | You can find these files in the BSP Layer at: :: | 658 | You can find these files in the BSP Layer at:: |
| 659 | 659 | ||
| 660 | meta-bsp_root_name/recipes-kernel/linux/linux*.bbappend | 660 | meta-bsp_root_name/recipes-kernel/linux/linux*.bbappend |
| 661 | meta-bsp_root_name/recipes-kernel/linux/*.bb | 661 | meta-bsp_root_name/recipes-kernel/linux/*.bb |
| @@ -674,21 +674,21 @@ to the kernel recipe by using a similarly named append file, which is | |||
| 674 | located in the BSP Layer for your target device (e.g. the | 674 | located in the BSP Layer for your target device (e.g. the |
| 675 | ``meta-bsp_root_name/recipes-kernel/linux`` directory). | 675 | ``meta-bsp_root_name/recipes-kernel/linux`` directory). |
| 676 | 676 | ||
| 677 | Suppose you are using the ``linux-yocto_4.4.bb`` recipe to build the | 677 | Suppose you are using the ``linux-yocto_6.12.bb`` recipe to build the |
| 678 | kernel. In other words, you have selected the kernel in your | 678 | kernel. In other words, you have selected the kernel in your |
| 679 | ``"bsp_root_name".conf`` file by adding | 679 | ``"bsp_root_name".conf`` file by adding |
| 680 | :term:`PREFERRED_PROVIDER` and :term:`PREFERRED_VERSION` | 680 | :term:`PREFERRED_PROVIDER` and :term:`PREFERRED_VERSION` |
| 681 | statements as follows: :: | 681 | statements as follows:: |
| 682 | 682 | ||
| 683 | PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" | 683 | PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" |
| 684 | PREFERRED_VERSION_linux-yocto ?= "4.4%" | 684 | PREFERRED_VERSION_linux-yocto ?= "6.12%" |
| 685 | 685 | ||
| 686 | .. note:: | 686 | .. note:: |
| 687 | 687 | ||
| 688 | When the preferred provider is assumed by default, the ``PREFERRED_PROVIDER`` | 688 | When the preferred provider is assumed by default, the :term:`PREFERRED_PROVIDER` |
| 689 | statement does not appear in the ``"bsp_root_name".conf`` file. | 689 | statement does not appear in the ``"bsp_root_name".conf`` file. |
| 690 | 690 | ||
| 691 | You would use the ``linux-yocto_4.4.bbappend`` file to append specific | 691 | You would use the ``linux-yocto_6.12.bbappend`` file to append specific |
| 692 | BSP settings to the kernel, thus configuring the kernel for your | 692 | BSP settings to the kernel, thus configuring the kernel for your |
| 693 | particular BSP. | 693 | particular BSP. |
| 694 | 694 | ||
| @@ -698,14 +698,19 @@ in the Yocto Project Linux Kernel Development Manual. | |||
| 698 | 698 | ||
| 699 | An alternate scenario is when you create your own kernel recipe for the | 699 | An alternate scenario is when you create your own kernel recipe for the |
| 700 | BSP. A good example of this is the Raspberry Pi BSP. If you examine the | 700 | BSP. A good example of this is the Raspberry Pi BSP. If you examine the |
| 701 | ``recipes-kernel/linux`` directory you see the following: :: | 701 | ``recipes-kernel/linux`` directory in that layer you see the following |
| 702 | Raspberry Pi-specific recipes and associated files:: | ||
| 702 | 703 | ||
| 704 | files/ | ||
| 705 | linux-raspberrypi_6.12.bb | ||
| 706 | linux-raspberrypi_6.1.bb | ||
| 707 | linux-raspberrypi_6.6.bb | ||
| 703 | linux-raspberrypi-dev.bb | 708 | linux-raspberrypi-dev.bb |
| 704 | linux-raspberrypi.inc | 709 | linux-raspberrypi.inc |
| 705 | linux-raspberrypi_4.14.bb | 710 | linux-raspberrypi-v7_6.12.bb |
| 706 | linux-raspberrypi_4.9.bb | 711 | linux-raspberrypi-v7_6.1.bb |
| 707 | 712 | linux-raspberrypi-v7_6.6.bb | |
| 708 | The directory contains three kernel recipes and a common include file. | 713 | linux-raspberrypi-v7.inc |
| 709 | 714 | ||
| 710 | Developing a Board Support Package (BSP) | 715 | Developing a Board Support Package (BSP) |
| 711 | ======================================== | 716 | ======================================== |
| @@ -724,6 +729,7 @@ workflow. | |||
| 724 | 729 | ||
| 725 | .. image:: figures/bsp-dev-flow.png | 730 | .. image:: figures/bsp-dev-flow.png |
| 726 | :align: center | 731 | :align: center |
| 732 | :width: 70% | ||
| 727 | 733 | ||
| 728 | #. *Set up Your Host Development System to Support Development Using the | 734 | #. *Set up Your Host Development System to Support Development Using the |
| 729 | Yocto Project*: See the ":ref:`dev-manual/start:preparing the build host`" | 735 | Yocto Project*: See the ":ref:`dev-manual/start:preparing the build host`" |
| @@ -756,36 +762,20 @@ workflow. | |||
| 756 | OpenEmbedded build system knows about. For more information on | 762 | OpenEmbedded build system knows about. For more information on |
| 757 | layers, see the ":ref:`overview-manual/yp-intro:the yocto project layer model`" | 763 | layers, see the ":ref:`overview-manual/yp-intro:the yocto project layer model`" |
| 758 | section in the Yocto Project Overview and Concepts Manual. You can also | 764 | section in the Yocto Project Overview and Concepts Manual. You can also |
| 759 | reference the ":ref:`dev-manual/common-tasks:understanding and creating layers`" | 765 | reference the ":ref:`dev-manual/layers:understanding and creating layers`" |
| 760 | section in the Yocto Project Development Tasks Manual. For more | 766 | section in the Yocto Project Development Tasks Manual. For more |
| 761 | information on BSP layers, see the ":ref:`bsp-guide/bsp:bsp layers`" | 767 | information on BSP layers, see the ":ref:`bsp-guide/bsp:bsp layers`" |
| 762 | section. | 768 | section. |
| 763 | 769 | ||
| 764 | .. note:: | 770 | .. note:: |
| 765 | 771 | ||
| 766 | - Four hardware reference BSPs exist that are part of the Yocto | 772 | - There are three hardware reference BSPs in the Yocto |
| 767 | Project release and are located in the ``poky/meta-yocto-bsp`` | 773 | Project release, located in the ``poky/meta-yocto-bsp`` |
| 768 | BSP layer: | 774 | BSP layer: |
| 769 | 775 | ||
| 770 | - Texas Instruments Beaglebone (``beaglebone-yocto``) | 776 | - Texas Instruments Beaglebone (``beaglebone-yocto``) |
| 771 | 777 | ||
| 772 | - Ubiquiti Networks EdgeRouter Lite (``edgerouter``) | 778 | - Two generic IA platforms (``genericx86`` and ``genericx86-64``) |
| 773 | |||
| 774 | - Two general IA platforms (``genericx86`` and ``genericx86-64``) | ||
| 775 | |||
| 776 | - Three core Intel BSPs exist as part of the Yocto Project | ||
| 777 | release in the ``meta-intel`` layer: | ||
| 778 | |||
| 779 | - ``intel-core2-32``, which is a BSP optimized for the Core2 | ||
| 780 | family of CPUs as well as all CPUs prior to the Silvermont | ||
| 781 | core. | ||
| 782 | |||
| 783 | - ``intel-corei7-64``, which is a BSP optimized for Nehalem | ||
| 784 | and later Core and Xeon CPUs as well as Silvermont and later | ||
| 785 | Atom CPUs, such as the Baytrail SoCs. | ||
| 786 | |||
| 787 | - ``intel-quark``, which is a BSP optimized for the Intel | ||
| 788 | Galileo gen1 & gen2 development boards. | ||
| 789 | 779 | ||
| 790 | When you set up a layer for a new BSP, you should follow a standard | 780 | When you set up a layer for a new BSP, you should follow a standard |
| 791 | layout. This layout is described in the ":ref:`bsp-guide/bsp:example filesystem layout`" | 781 | layout. This layout is described in the ":ref:`bsp-guide/bsp:example filesystem layout`" |
| @@ -815,7 +805,7 @@ workflow. | |||
| 815 | key configuration files are configured appropriately: the | 805 | key configuration files are configured appropriately: the |
| 816 | ``conf/local.conf`` and the ``conf/bblayers.conf`` file. You must | 806 | ``conf/local.conf`` and the ``conf/bblayers.conf`` file. You must |
| 817 | make the OpenEmbedded build system aware of your new layer. See the | 807 | make the OpenEmbedded build system aware of your new layer. See the |
| 818 | ":ref:`dev-manual/common-tasks:enabling your layer`" | 808 | ":ref:`dev-manual/layers:enabling your layer`" |
| 819 | section in the Yocto Project Development Tasks Manual for information | 809 | section in the Yocto Project Development Tasks Manual for information |
| 820 | on how to let the build system know about your new layer. | 810 | on how to let the build system know about your new layer. |
| 821 | 811 | ||
| @@ -832,10 +822,8 @@ workflow. | |||
| 832 | Requirements and Recommendations for Released BSPs | 822 | Requirements and Recommendations for Released BSPs |
| 833 | ================================================== | 823 | ================================================== |
| 834 | 824 | ||
| 835 | Certain requirements exist for a released BSP to be considered compliant | 825 | This section describes requirements and recommendations for a released |
| 836 | with the Yocto Project. Additionally, recommendations also exist. This | 826 | BSP to be considered compliant with the Yocto Project. |
| 837 | section describes the requirements and recommendations for released | ||
| 838 | BSPs. | ||
| 839 | 827 | ||
| 840 | Released BSP Requirements | 828 | Released BSP Requirements |
| 841 | ------------------------- | 829 | ------------------------- |
| @@ -846,7 +834,7 @@ Before looking at BSP requirements, you should consider the following: | |||
| 846 | layer that can be added to the Yocto Project. For guidelines on | 834 | layer that can be added to the Yocto Project. For guidelines on |
| 847 | creating a layer that meets these base requirements, see the | 835 | creating a layer that meets these base requirements, see the |
| 848 | ":ref:`bsp-guide/bsp:bsp layers`" section in this manual and the | 836 | ":ref:`bsp-guide/bsp:bsp layers`" section in this manual and the |
| 849 | ":ref:`dev-manual/common-tasks:understanding and creating layers`" | 837 | ":ref:`dev-manual/layers:understanding and creating layers`" |
| 850 | section in the Yocto Project Development Tasks Manual. | 838 | section in the Yocto Project Development Tasks Manual. |
| 851 | 839 | ||
| 852 | - The requirements in this section apply regardless of how you package | 840 | - The requirements in this section apply regardless of how you package |
| @@ -864,12 +852,11 @@ Before looking at BSP requirements, you should consider the following: | |||
| 864 | 852 | ||
| 865 | - It is not required that specific packages or package modifications | 853 | - It is not required that specific packages or package modifications |
| 866 | exist in the BSP layer, beyond the requirements for general | 854 | exist in the BSP layer, beyond the requirements for general |
| 867 | compliance with the Yocto Project. For example, no requirement exists | 855 | compliance with the Yocto Project. For example, there is no requirement |
| 868 | dictating that a specific kernel or kernel version be used in a given | 856 | dictating that a specific kernel or kernel version be used in a given |
| 869 | BSP. | 857 | BSP. |
| 870 | 858 | ||
| 871 | Following are the requirements for a released BSP that conform to the | 859 | The requirements for a released BSP that conform to the Yocto Project are: |
| 872 | Yocto Project: | ||
| 873 | 860 | ||
| 874 | - *Layer Name:* The BSP must have a layer name that follows the Yocto | 861 | - *Layer Name:* The BSP must have a layer name that follows the Yocto |
| 875 | Project standards. For information on BSP layer names, see the | 862 | Project standards. For information on BSP layer names, see the |
| @@ -879,7 +866,7 @@ Yocto Project: | |||
| 879 | your BSP layer as listed in the ``recipes.txt`` file, which is found | 866 | your BSP layer as listed in the ``recipes.txt`` file, which is found |
| 880 | in ``poky/meta`` directory of the :term:`Source Directory` | 867 | in ``poky/meta`` directory of the :term:`Source Directory` |
| 881 | or in the OpenEmbedded-Core Layer (``openembedded-core``) at | 868 | or in the OpenEmbedded-Core Layer (``openembedded-core``) at |
| 882 | https://git.openembedded.org/openembedded-core/tree/meta. | 869 | :oe_git:`/openembedded-core/tree/meta`. |
| 883 | 870 | ||
| 884 | You should place recipes (``*.bb`` files) and recipe modifications | 871 | You should place recipes (``*.bb`` files) and recipe modifications |
| 885 | (``*.bbappend`` files) into ``recipes-*`` subdirectories by | 872 | (``*.bbappend`` files) into ``recipes-*`` subdirectories by |
| @@ -894,13 +881,13 @@ Yocto Project: | |||
| 894 | ``recipes-*`` subdirectories specific to the recipe's function, or | 881 | ``recipes-*`` subdirectories specific to the recipe's function, or |
| 895 | within a subdirectory containing a set of closely-related recipes. | 882 | within a subdirectory containing a set of closely-related recipes. |
| 896 | The recipes themselves should follow the general guidelines for | 883 | The recipes themselves should follow the general guidelines for |
| 897 | recipes used in the Yocto Project found in the ":oe_wiki:`OpenEmbedded | 884 | recipes found in the ":doc:`/contributor-guide/recipe-style-guide`" |
| 898 | Style Guide </Styleguide>`". | 885 | in the Yocto Project and OpenEmbedded Contributor Guide. |
| 899 | 886 | ||
| 900 | - *License File:* You must include a license file in the | 887 | - *License File:* You must include a license file in the |
| 901 | ``meta-bsp_root_name`` directory. This license covers the BSP | 888 | ``meta-bsp_root_name`` directory. This license covers the BSP |
| 902 | Metadata as a whole. You must specify which license to use since no | 889 | Metadata as a whole. You must specify which license to use since no |
| 903 | default license exists when one is not specified. See the | 890 | default license exists. See the |
| 904 | :yocto_git:`COPYING.MIT </meta-raspberrypi/tree/COPYING.MIT>` | 891 | :yocto_git:`COPYING.MIT </meta-raspberrypi/tree/COPYING.MIT>` |
| 905 | file for the Raspberry Pi BSP in the ``meta-raspberrypi`` BSP layer | 892 | file for the Raspberry Pi BSP in the ``meta-raspberrypi`` BSP layer |
| 906 | as an example. | 893 | as an example. |
| @@ -928,8 +915,8 @@ Yocto Project: | |||
| 928 | - The name and contact information for the BSP layer maintainer. | 915 | - The name and contact information for the BSP layer maintainer. |
| 929 | This is the person to whom patches and questions should be sent. | 916 | This is the person to whom patches and questions should be sent. |
| 930 | For information on how to find the right person, see the | 917 | For information on how to find the right person, see the |
| 931 | ":ref:`dev-manual/common-tasks:submitting a change to the yocto project`" | 918 | :doc:`/contributor-guide/submit-changes` section in the Yocto Project and |
| 932 | section in the Yocto Project Development Tasks Manual. | 919 | OpenEmbedded Contributor Guide. |
| 933 | 920 | ||
| 934 | - Instructions on how to build the BSP using the BSP layer. | 921 | - Instructions on how to build the BSP using the BSP layer. |
| 935 | 922 | ||
| @@ -973,7 +960,7 @@ Yocto Project: | |||
| 973 | Released BSP Recommendations | 960 | Released BSP Recommendations |
| 974 | ---------------------------- | 961 | ---------------------------- |
| 975 | 962 | ||
| 976 | Following are recommendations for released BSPs that conform to the | 963 | Here are recommendations for released BSPs that conform to the |
| 977 | Yocto Project: | 964 | Yocto Project: |
| 978 | 965 | ||
| 979 | - *Bootable Images:* Released BSPs can contain one or more bootable | 966 | - *Bootable Images:* Released BSPs can contain one or more bootable |
| @@ -1013,9 +1000,9 @@ If you plan on customizing a recipe for a particular BSP, you need to do | |||
| 1013 | the following: | 1000 | the following: |
| 1014 | 1001 | ||
| 1015 | - Create a ``*.bbappend`` file for the modified recipe. For information on using | 1002 | - Create a ``*.bbappend`` file for the modified recipe. For information on using |
| 1016 | append files, see the ":ref:`dev-manual/common-tasks:using | 1003 | append files, see the |
| 1017 | .bbappend files in your layer`" section in the Yocto Project Development | 1004 | ":ref:`dev-manual/layers:appending other layers metadata with your layer`" |
| 1018 | Tasks Manual. | 1005 | section in the Yocto Project Development Tasks Manual. |
| 1019 | 1006 | ||
| 1020 | - Ensure your directory structure in the BSP layer that supports your | 1007 | - Ensure your directory structure in the BSP layer that supports your |
| 1021 | machine is such that the OpenEmbedded build system can find it. See | 1008 | machine is such that the OpenEmbedded build system can find it. See |
| @@ -1035,29 +1022,29 @@ the following: | |||
| 1035 | that additional hierarchy and the files would obviously not be able | 1022 | that additional hierarchy and the files would obviously not be able |
| 1036 | to reside in a machine-specific directory. | 1023 | to reside in a machine-specific directory. |
| 1037 | 1024 | ||
| 1038 | Following is a specific example to help you better understand the | 1025 | Here is a specific example to help you better understand the |
| 1039 | process. This example customizes customizes a recipe by adding a | 1026 | process. This example customizes a recipe by adding a |
| 1040 | BSP-specific configuration file named ``interfaces`` to the | 1027 | BSP-specific configuration file named ``interfaces`` to the |
| 1041 | ``init-ifupdown_1.0.bb`` recipe for machine "xyz" where the BSP layer | 1028 | ``init-ifupdown_1.0.bb`` recipe for machine "xyz" where the BSP layer |
| 1042 | also supports several other machines: | 1029 | also supports several other machines: |
| 1043 | 1030 | ||
| 1044 | #. Edit the ``init-ifupdown_1.0.bbappend`` file so that it contains the | 1031 | #. Edit the ``init-ifupdown_1.0.bbappend`` file so that it contains the |
| 1045 | following: :: | 1032 | following:: |
| 1046 | 1033 | ||
| 1047 | FILESEXTRAPATHS_prepend := "${THISDIR}/files:" | 1034 | FILESEXTRAPATHS:prepend := "${THISDIR}/files:" |
| 1048 | 1035 | ||
| 1049 | The append file needs to be in the ``meta-xyz/recipes-core/init-ifupdown`` | 1036 | The append file needs to be in the ``meta-xyz/recipes-core/init-ifupdown`` |
| 1050 | directory. | 1037 | directory. |
| 1051 | 1038 | ||
| 1052 | #. Create and place the new ``interfaces`` configuration file in the | 1039 | #. Create and place the new ``interfaces`` configuration file in the |
| 1053 | BSP's layer here: :: | 1040 | BSP's layer here:: |
| 1054 | 1041 | ||
| 1055 | meta-xyz/recipes-core/init-ifupdown/files/xyz-machine-one/interfaces | 1042 | meta-xyz/recipes-core/init-ifupdown/files/xyz-machine-one/interfaces |
| 1056 | 1043 | ||
| 1057 | .. note:: | 1044 | .. note:: |
| 1058 | 1045 | ||
| 1059 | If the ``meta-xyz`` layer did not support multiple machines, you would place | 1046 | If the ``meta-xyz`` layer did not support multiple machines, you would place |
| 1060 | the interfaces configuration file in the layer here: :: | 1047 | the interfaces configuration file in the layer here:: |
| 1061 | 1048 | ||
| 1062 | meta-xyz/recipes-core/init-ifupdown/files/interfaces | 1049 | meta-xyz/recipes-core/init-ifupdown/files/interfaces |
| 1063 | 1050 | ||
| @@ -1107,31 +1094,31 @@ system requirements. | |||
| 1107 | unsuitable functionality or quality, you can use an encumbered | 1094 | unsuitable functionality or quality, you can use an encumbered |
| 1108 | version. | 1095 | version. |
| 1109 | 1096 | ||
| 1110 | A couple different methods exist within the OpenEmbedded build system to | 1097 | There are two different methods within the OpenEmbedded build system to |
| 1111 | satisfy the licensing requirements for an encumbered BSP. The following | 1098 | satisfy the licensing requirements for an encumbered BSP. The following |
| 1112 | list describes them in order of preference: | 1099 | list describes them in order of preference: |
| 1113 | 1100 | ||
| 1114 | #. *Use the LICENSE_FLAGS Variable to Define the Recipes that Have Commercial or | 1101 | #. *Use the LICENSE_FLAGS Variable to Define the Recipes that Have Commercial or |
| 1115 | Other Types of Specially-Licensed Packages:* For each of those recipes, you can | 1102 | Other Types of Specially-Licensed Packages:* For each of those recipes, you can |
| 1116 | specify a matching license string in a ``local.conf`` variable named | 1103 | specify a matching license string in a ``local.conf`` variable named |
| 1117 | :term:`LICENSE_FLAGS_WHITELIST`. | 1104 | :term:`LICENSE_FLAGS_ACCEPTED`. |
| 1118 | Specifying the matching license string signifies that you agree to | 1105 | Specifying the matching license string signifies that you agree to |
| 1119 | the license. Thus, the build system can build the corresponding | 1106 | the license. Thus, the build system can build the corresponding |
| 1120 | recipe and include the component in the image. See the | 1107 | recipe and include the component in the image. See the |
| 1121 | ":ref:`dev-manual/common-tasks:enabling commercially licensed recipes`" | 1108 | ":ref:`dev-manual/licenses:enabling commercially licensed recipes`" |
| 1122 | section in the Yocto Project Development Tasks Manual for details on | 1109 | section in the Yocto Project Development Tasks Manual for details on |
| 1123 | how to use these variables. | 1110 | how to use these variables. |
| 1124 | 1111 | ||
| 1125 | If you build as you normally would, without specifying any recipes in | 1112 | If you build as you normally would, without specifying any recipes in |
| 1126 | the ``LICENSE_FLAGS_WHITELIST``, the build stops and provides you | 1113 | the :term:`LICENSE_FLAGS_ACCEPTED` variable, the build stops and provides |
| 1127 | with the list of recipes that you have tried to include in the image | 1114 | you with the list of recipes that you have tried to include in the image |
| 1128 | that need entries in the ``LICENSE_FLAGS_WHITELIST``. Once you enter | 1115 | that need entries in the :term:`LICENSE_FLAGS_ACCEPTED` variable. Once you |
| 1129 | the appropriate license flags into the whitelist, restart the build | 1116 | enter the appropriate license flags into it, restart the build to continue |
| 1130 | to continue where it left off. During the build, the prompt will not | 1117 | where it left off. During the build, the prompt will not appear again since |
| 1131 | appear again since you have satisfied the requirement. | 1118 | you have satisfied the requirement. |
| 1132 | 1119 | ||
| 1133 | Once the appropriate license flags are on the white list in the | 1120 | Once the appropriate license flags are on the white list in the |
| 1134 | ``LICENSE_FLAGS_WHITELIST`` variable, you can build the encumbered | 1121 | :term:`LICENSE_FLAGS_ACCEPTED` variable, you can build the encumbered |
| 1135 | image with no change at all to the normal build process. | 1122 | image with no change at all to the normal build process. |
| 1136 | 1123 | ||
| 1137 | #. *Get a Pre-Built Version of the BSP:* You can get this type of BSP by | 1124 | #. *Get a Pre-Built Version of the BSP:* You can get this type of BSP by |
| @@ -1144,7 +1131,7 @@ list describes them in order of preference: | |||
| 1144 | click-through license agreements presented by the website. If you | 1131 | click-through license agreements presented by the website. If you |
| 1145 | want to build the image yourself using the recipes contained within | 1132 | want to build the image yourself using the recipes contained within |
| 1146 | the BSP tarball, you will still need to create an appropriate | 1133 | the BSP tarball, you will still need to create an appropriate |
| 1147 | ``LICENSE_FLAGS_WHITELIST`` to match the encumbered recipes in the | 1134 | :term:`LICENSE_FLAGS_ACCEPTED` to match the encumbered recipes in the |
| 1148 | BSP. | 1135 | BSP. |
| 1149 | 1136 | ||
| 1150 | .. note:: | 1137 | .. note:: |
| @@ -1170,7 +1157,7 @@ Use these steps to create a BSP layer: | |||
| 1170 | ``create-layer`` subcommand to create a new general layer. For | 1157 | ``create-layer`` subcommand to create a new general layer. For |
| 1171 | instructions on how to create a general layer using the | 1158 | instructions on how to create a general layer using the |
| 1172 | ``bitbake-layers`` script, see the | 1159 | ``bitbake-layers`` script, see the |
| 1173 | ":ref:`dev-manual/common-tasks:creating a general layer using the \`\`bitbake-layers\`\` script`" | 1160 | ":ref:`dev-manual/layers:creating a general layer using the \`\`bitbake-layers\`\` script`" |
| 1174 | section in the Yocto Project Development Tasks Manual. | 1161 | section in the Yocto Project Development Tasks Manual. |
| 1175 | 1162 | ||
| 1176 | - *Create a Layer Configuration File:* Every layer needs a layer | 1163 | - *Create a Layer Configuration File:* Every layer needs a layer |
| @@ -1180,22 +1167,22 @@ Use these steps to create a BSP layer: | |||
| 1180 | :yocto_git:`Source Repositories <>`. To get examples of what you need | 1167 | :yocto_git:`Source Repositories <>`. To get examples of what you need |
| 1181 | in your configuration file, locate a layer (e.g. "meta-ti") and | 1168 | in your configuration file, locate a layer (e.g. "meta-ti") and |
| 1182 | examine the | 1169 | examine the |
| 1183 | :yocto_git:`local.conf </meta-ti/tree/conf/layer.conf>` | 1170 | :yocto_git:`local.conf </meta-ti/tree/meta-ti-bsp/conf/layer.conf>` |
| 1184 | file. | 1171 | file. |
| 1185 | 1172 | ||
| 1186 | - *Create a Machine Configuration File:* Create a | 1173 | - *Create a Machine Configuration File:* Create a |
| 1187 | ``conf/machine/bsp_root_name.conf`` file. See | 1174 | ``conf/machine/bsp_root_name.conf`` file. See |
| 1188 | :yocto_git:`meta-yocto-bsp/conf/machine </poky/tree/meta-yocto-bsp/conf/machine>` | 1175 | :yocto_git:`meta-yocto-bsp/conf/machine </poky/tree/meta-yocto-bsp/conf/machine>` |
| 1189 | for sample ``bsp_root_name.conf`` files. Other samples such as | 1176 | for sample ``bsp_root_name.conf`` files. There are other samples such as |
| 1190 | :yocto_git:`meta-ti </meta-ti/tree/conf/machine>` | 1177 | :yocto_git:`meta-ti </meta-ti/tree/meta-ti-bsp/conf/machine>` |
| 1191 | and | 1178 | and |
| 1192 | :yocto_git:`meta-freescale </meta-freescale/tree/conf/machine>` | 1179 | :yocto_git:`meta-freescale </meta-freescale/tree/conf/machine>` |
| 1193 | exist from other vendors that have more specific machine and tuning | 1180 | from other vendors that have more specific machine and tuning |
| 1194 | examples. | 1181 | examples. |
| 1195 | 1182 | ||
| 1196 | - *Create a Kernel Recipe:* Create a kernel recipe in | 1183 | - *Create a Kernel Recipe:* Create a kernel recipe in |
| 1197 | ``recipes-kernel/linux`` by either using a kernel append file or a | 1184 | ``recipes-kernel/linux`` by either using a kernel append file or a |
| 1198 | new custom kernel recipe file (e.g. ``yocto-linux_4.12.bb``). The BSP | 1185 | new custom kernel recipe file (e.g. ``linux-yocto_6.12.bb``). The BSP |
| 1199 | layers mentioned in the previous step also contain different kernel | 1186 | layers mentioned in the previous step also contain different kernel |
| 1200 | examples. See the ":ref:`kernel-dev/common:modifying an existing recipe`" | 1187 | examples. See the ":ref:`kernel-dev/common:modifying an existing recipe`" |
| 1201 | section in the Yocto Project Linux Kernel Development Manual for | 1188 | section in the Yocto Project Linux Kernel Development Manual for |
| @@ -1210,7 +1197,7 @@ BSP Layer Configuration Example | |||
| 1210 | ------------------------------- | 1197 | ------------------------------- |
| 1211 | 1198 | ||
| 1212 | The layer's ``conf`` directory contains the ``layer.conf`` configuration | 1199 | The layer's ``conf`` directory contains the ``layer.conf`` configuration |
| 1213 | file. In this example, the ``conf/layer.conf`` is the following: :: | 1200 | file. In this example, the ``conf/layer.conf`` file is the following:: |
| 1214 | 1201 | ||
| 1215 | # We have a conf and classes directory, add to BBPATH | 1202 | # We have a conf and classes directory, add to BBPATH |
| 1216 | BBPATH .= ":${LAYERDIR}" | 1203 | BBPATH .= ":${LAYERDIR}" |
| @@ -1230,7 +1217,7 @@ configuration files is to examine various files for BSP from the | |||
| 1230 | :yocto_git:`Source Repositories <>`. | 1217 | :yocto_git:`Source Repositories <>`. |
| 1231 | 1218 | ||
| 1232 | For a detailed description of this particular layer configuration file, | 1219 | For a detailed description of this particular layer configuration file, |
| 1233 | see ":ref:`step 3 <dev-manual/common-tasks:creating your own layer>`" | 1220 | see ":ref:`step 3 <dev-manual/layers:creating your own layer>`" |
| 1234 | in the discussion that describes how to create layers in the Yocto | 1221 | in the discussion that describes how to create layers in the Yocto |
| 1235 | Project Development Tasks Manual. | 1222 | Project Development Tasks Manual. |
| 1236 | 1223 | ||
| @@ -1241,8 +1228,8 @@ As mentioned earlier in this section, the existence of a machine | |||
| 1241 | configuration file is what makes a layer a BSP layer as compared to a | 1228 | configuration file is what makes a layer a BSP layer as compared to a |
| 1242 | general or kernel layer. | 1229 | general or kernel layer. |
| 1243 | 1230 | ||
| 1244 | One or more machine configuration files exist in the | 1231 | There are one or more machine configuration files in the |
| 1245 | ``bsp_layer/conf/machine/`` directory of the layer: :: | 1232 | ``bsp_layer/conf/machine/`` directory of the layer:: |
| 1246 | 1233 | ||
| 1247 | bsp_layer/conf/machine/machine1\.conf | 1234 | bsp_layer/conf/machine/machine1\.conf |
| 1248 | bsp_layer/conf/machine/machine2\.conf | 1235 | bsp_layer/conf/machine/machine2\.conf |
| @@ -1251,50 +1238,63 @@ One or more machine configuration files exist in the | |||
| 1251 | 1238 | ||
| 1252 | For example, the machine configuration file for the `BeagleBone and | 1239 | For example, the machine configuration file for the `BeagleBone and |
| 1253 | BeagleBone Black development boards <https://beagleboard.org/bone>`__ is | 1240 | BeagleBone Black development boards <https://beagleboard.org/bone>`__ is |
| 1254 | located in the layer ``poky/meta-yocto-bsp/conf/machine`` and is named | 1241 | located in :yocto_git:`poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf |
| 1255 | ``beaglebone-yocto.conf``: :: | 1242 | </poky/tree/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf>`:: |
| 1256 | 1243 | ||
| 1257 | #@TYPE: Machine | 1244 | #@TYPE: Machine |
| 1258 | #@NAME: Beaglebone-yocto machine | 1245 | #@NAME: Beaglebone-yocto machine |
| 1259 | #@DESCRIPTION: Reference machine configuration for http://beagleboard.org/bone and http://beagleboard.org/black boards | 1246 | #@DESCRIPTION: Reference machine configuration for http://beagleboard.org/bone and http://beagleboard.org/black boards |
| 1260 | 1247 | ||
| 1261 | PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg" | 1248 | PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg" |
| 1262 | XSERVER ?= "xserver-xorg \ | ||
| 1263 | xf86-video-modesetting \ | ||
| 1264 | " | ||
| 1265 | 1249 | ||
| 1266 | MACHINE_EXTRA_RRECOMMENDS = "kernel-modules kernel-devicetree" | 1250 | MACHINE_EXTRA_RRECOMMENDS = "kernel-modules" |
| 1267 | 1251 | ||
| 1268 | EXTRA_IMAGEDEPENDS += "u-boot" | 1252 | EXTRA_IMAGEDEPENDS += "virtual/bootloader" |
| 1269 | 1253 | ||
| 1270 | DEFAULTTUNE ?= "cortexa8hf-neon" | 1254 | DEFAULTTUNE ?= "cortexa8hf-neon" |
| 1271 | include conf/machine/include/tune-cortexa8.inc | 1255 | include conf/machine/include/arm/armv7a/tune-cortexa8.inc |
| 1272 | 1256 | ||
| 1273 | IMAGE_FSTYPES += "tar.bz2 jffs2 wic wic.bmap" | 1257 | IMAGE_FSTYPES += "tar.bz2 jffs2 wic wic.bmap" |
| 1274 | EXTRA_IMAGECMD_jffs2 = "-lnp " | 1258 | EXTRA_IMAGECMD:jffs2 = "-lnp " |
| 1275 | WKS_FILE ?= "beaglebone-yocto.wks" | 1259 | WKS_FILE ?= "beaglebone-yocto.wks" |
| 1276 | IMAGE_INSTALL_append = " kernel-devicetree kernel-image-zimage" | 1260 | MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "kernel-image kernel-devicetree" |
| 1277 | do_image_wic[depends] += "mtools-native:do_populate_sysroot dosfstools-native:do_populate_sysroot" | 1261 | do_image_wic[depends] += "mtools-native:do_populate_sysroot dosfstools-native:do_populate_sysroot virtual/bootloader:do_deploy" |
| 1278 | 1262 | ||
| 1279 | SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyO0" | 1263 | SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyO0 115200;ttyAMA0" |
| 1280 | SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}" | ||
| 1281 | 1264 | ||
| 1282 | PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" | 1265 | PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" |
| 1283 | PREFERRED_VERSION_linux-yocto ?= "5.0%" | 1266 | PREFERRED_VERSION_linux-yocto ?= "6.12%" |
| 1284 | 1267 | ||
| 1285 | KERNEL_IMAGETYPE = "zImage" | 1268 | KERNEL_IMAGETYPE = "zImage" |
| 1286 | KERNEL_DEVICETREE = "am335x-bone.dtb am335x-boneblack.dtb am335x-bonegreen.dtb" | 1269 | DTB_FILES = "am335x-bone.dtb am335x-boneblack.dtb am335x-bonegreen.dtb" |
| 1287 | KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}" | 1270 | KERNEL_DEVICETREE = '${@' '.join('ti/omap/%s' % d for d in '${DTB_FILES}'.split())}' |
| 1271 | |||
| 1272 | PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot" | ||
| 1288 | 1273 | ||
| 1289 | SPL_BINARY = "MLO" | 1274 | SPL_BINARY = "MLO" |
| 1290 | UBOOT_SUFFIX = "img" | 1275 | UBOOT_SUFFIX = "img" |
| 1291 | UBOOT_MACHINE = "am335x_evm_defconfig" | 1276 | UBOOT_MACHINE = "am335x_evm_defconfig" |
| 1292 | UBOOT_ENTRYPOINT = "0x80008000" | ||
| 1293 | UBOOT_LOADADDRESS = "0x80008000" | ||
| 1294 | 1277 | ||
| 1295 | MACHINE_FEATURES = "usbgadget usbhost vfat alsa" | 1278 | MACHINE_FEATURES = "usbgadget usbhost vfat alsa" |
| 1296 | 1279 | ||
| 1297 | IMAGE_BOOT_FILES ?= "u-boot.${UBOOT_SUFFIX} MLO zImage am335x-bone.dtb am335x-boneblack.dtb am335x-bonegreen.dtb" | 1280 | IMAGE_BOOT_FILES ?= "u-boot.${UBOOT_SUFFIX} ${SPL_BINARY} ${KERNEL_IMAGETYPE} ${DTB_FILES}" |
| 1281 | |||
| 1282 | # support runqemu | ||
| 1283 | EXTRA_IMAGEDEPENDS += "qemu-native qemu-helper-native" | ||
| 1284 | IMAGE_CLASSES += "qemuboot" | ||
| 1285 | QB_DEFAULT_FSTYPE = "wic" | ||
| 1286 | QB_FSINFO = "wic:no-kernel-in-fs" | ||
| 1287 | QB_KERNEL_ROOT = "/dev/vda2" | ||
| 1288 | QB_SYSTEM_NAME = "qemu-system-arm" | ||
| 1289 | QB_MACHINE = "-machine virt" | ||
| 1290 | QB_CPU = "-cpu cortex-a15" | ||
| 1291 | QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0 systemd.mask=systemd-networkd" | ||
| 1292 | QB_OPT_APPEND = "-device virtio-rng-device" | ||
| 1293 | QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no" | ||
| 1294 | QB_NETWORK_DEVICE = "-device virtio-net-device,netdev=net0,mac=@MAC@" | ||
| 1295 | QB_ROOTFS_OPT = "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device virtio-blk-device,drive=disk0" | ||
| 1296 | QB_SERIAL_OPT = "" | ||
| 1297 | QB_TCPSERIAL_OPT = "-device virtio-serial-device -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1 -device virtconsole,chardev=virtcon" | ||
| 1298 | 1298 | ||
| 1299 | The variables used to configure the machine define machine-specific properties; for | 1299 | The variables used to configure the machine define machine-specific properties; for |
| 1300 | example, machine-dependent packages, machine tunings, the type of kernel | 1300 | example, machine-dependent packages, machine tunings, the type of kernel |
| @@ -1311,14 +1311,9 @@ Project Reference Manual. | |||
| 1311 | - :term:`PREFERRED_PROVIDER_virtual/xserver <PREFERRED_PROVIDER>`: | 1311 | - :term:`PREFERRED_PROVIDER_virtual/xserver <PREFERRED_PROVIDER>`: |
| 1312 | The recipe that provides "virtual/xserver" when more than one | 1312 | The recipe that provides "virtual/xserver" when more than one |
| 1313 | provider is found. In this case, the recipe that provides | 1313 | provider is found. In this case, the recipe that provides |
| 1314 | "virtual/xserver" is "xserver-xorg", which exists in | 1314 | "virtual/xserver" is "xserver-xorg", available in |
| 1315 | ``poky/meta/recipes-graphics/xorg-xserver``. | 1315 | ``poky/meta/recipes-graphics/xorg-xserver``. |
| 1316 | 1316 | ||
| 1317 | - :term:`XSERVER`: The packages that | ||
| 1318 | should be installed to provide an X server and drivers for the | ||
| 1319 | machine. In this example, the "xserver-xorg" and | ||
| 1320 | "xf86-video-modesetting" are installed. | ||
| 1321 | |||
| 1322 | - :term:`MACHINE_EXTRA_RRECOMMENDS`: | 1317 | - :term:`MACHINE_EXTRA_RRECOMMENDS`: |
| 1323 | A list of machine-dependent packages not essential for booting the | 1318 | A list of machine-dependent packages not essential for booting the |
| 1324 | image. Thus, the build does not fail if the packages do not exist. | 1319 | image. Thus, the build does not fail if the packages do not exist. |
| @@ -1326,7 +1321,7 @@ Project Reference Manual. | |||
| 1326 | 1321 | ||
| 1327 | .. tip:: | 1322 | .. tip:: |
| 1328 | 1323 | ||
| 1329 | Many ``MACHINE*`` variables exist that help you configure a particular piece | 1324 | There are many ``MACHINE*`` variables that help you configure a particular piece |
| 1330 | of hardware. | 1325 | of hardware. |
| 1331 | 1326 | ||
| 1332 | - :term:`EXTRA_IMAGEDEPENDS`: | 1327 | - :term:`EXTRA_IMAGEDEPENDS`: |
| @@ -1336,17 +1331,20 @@ Project Reference Manual. | |||
| 1336 | needed in the root filesystem. In this case, the U-Boot recipe must | 1331 | needed in the root filesystem. In this case, the U-Boot recipe must |
| 1337 | be built for the image. | 1332 | be built for the image. |
| 1338 | 1333 | ||
| 1334 | At the end of the file, we also use this setting to implement | ||
| 1335 | ``runqemu`` support on the host machine. | ||
| 1336 | |||
| 1339 | - :term:`DEFAULTTUNE`: Machines | 1337 | - :term:`DEFAULTTUNE`: Machines |
| 1340 | use tunings to optimize machine, CPU, and application performance. | 1338 | use tunings to optimize machine, CPU, and application performance. |
| 1341 | These features, which are collectively known as "tuning features", | 1339 | These features --- collectively known as "tuning features" --- |
| 1342 | exist in the :term:`OpenEmbedded-Core (OE-Core)` layer (e.g. | 1340 | are set in the :term:`OpenEmbedded-Core (OE-Core)` layer. In this |
| 1343 | ``poky/meta/conf/machine/include``). In this example, the default | 1341 | example, the default tuning file is :oe_git:`tune-cortexa8 |
| 1344 | tuning file is "cortexa8hf-neon". | 1342 | </openembedded-core/tree/meta/conf/machine/include/arm/armv7a/tune-cortexa8.inc>`. |
| 1345 | 1343 | ||
| 1346 | .. note:: | 1344 | .. note:: |
| 1347 | 1345 | ||
| 1348 | The include statement that pulls in the | 1346 | The include statement that pulls in the |
| 1349 | ``conf/machine/include/tune-cortexa8.inc`` file provides many tuning | 1347 | ``conf/machine/include/arm/tune-cortexa8.inc`` file provides many tuning |
| 1350 | possibilities. | 1348 | possibilities. |
| 1351 | 1349 | ||
| 1352 | - :term:`IMAGE_FSTYPES`: The | 1350 | - :term:`IMAGE_FSTYPES`: The |
| @@ -1357,25 +1355,18 @@ Project Reference Manual. | |||
| 1357 | - :term:`EXTRA_IMAGECMD`: | 1355 | - :term:`EXTRA_IMAGECMD`: |
| 1358 | Specifies additional options for image creation commands. In this | 1356 | Specifies additional options for image creation commands. In this |
| 1359 | example, the "-lnp " option is used when creating the | 1357 | example, the "-lnp " option is used when creating the |
| 1360 | `JFFS2 <https://en.wikipedia.org/wiki/JFFS2>`__ image. | 1358 | :wikipedia:`JFFS2 <JFFS2>` image. |
| 1361 | 1359 | ||
| 1362 | - :term:`WKS_FILE`: The location of | 1360 | - :term:`WKS_FILE`: The location of |
| 1363 | the :ref:`Wic kickstart <ref-manual/kickstart:openembedded kickstart (\`\`.wks\`\`) reference>` file used | 1361 | the :ref:`Wic kickstart <ref-manual/kickstart:openembedded kickstart (\`\`.wks\`\`) reference>` file used |
| 1364 | by the OpenEmbedded build system to create a partitioned image | 1362 | by the OpenEmbedded build system to create a partitioned image. |
| 1365 | (image.wic). | ||
| 1366 | |||
| 1367 | - :term:`IMAGE_INSTALL`: | ||
| 1368 | Specifies packages to install into an image through the | ||
| 1369 | :ref:`image <ref-classes-image>` class. Recipes | ||
| 1370 | use the ``IMAGE_INSTALL`` variable. | ||
| 1371 | 1363 | ||
| 1372 | - ``do_image_wic[depends]``: A task that is constructed during the | 1364 | - ``do_image_wic[depends]``: A task that is constructed during the |
| 1373 | build. In this example, the task depends on specific tools in order | 1365 | build. In this example, the task depends on specific tools in order |
| 1374 | to create the sysroot when building a Wic image. | 1366 | to create the sysroot when building a Wic image. |
| 1375 | 1367 | ||
| 1376 | - :term:`SERIAL_CONSOLES`: | 1368 | - :term:`SERIAL_CONSOLES`: |
| 1377 | Defines a serial console (TTY) to enable using getty. In this case, | 1369 | Defines one or more serial consoles (TTYs) to enable using getty. |
| 1378 | the baud rate is "115200" and the device name is "ttyO0". | ||
| 1379 | 1370 | ||
| 1380 | - :term:`PREFERRED_PROVIDER_virtual/kernel <PREFERRED_PROVIDER>`: | 1371 | - :term:`PREFERRED_PROVIDER_virtual/kernel <PREFERRED_PROVIDER>`: |
| 1381 | Specifies the recipe that provides "virtual/kernel" when more than | 1372 | Specifies the recipe that provides "virtual/kernel" when more than |
| @@ -1385,7 +1376,7 @@ Project Reference Manual. | |||
| 1385 | 1376 | ||
| 1386 | - :term:`PREFERRED_VERSION_linux-yocto <PREFERRED_VERSION>`: | 1377 | - :term:`PREFERRED_VERSION_linux-yocto <PREFERRED_VERSION>`: |
| 1387 | Defines the version of the recipe used to build the kernel, which is | 1378 | Defines the version of the recipe used to build the kernel, which is |
| 1388 | "5.0" in this case. | 1379 | "6.12" in this case. |
| 1389 | 1380 | ||
| 1390 | - :term:`KERNEL_IMAGETYPE`: | 1381 | - :term:`KERNEL_IMAGETYPE`: |
| 1391 | The type of kernel to build for the device. In this case, the | 1382 | The type of kernel to build for the device. In this case, the |
| @@ -1407,7 +1398,7 @@ Project Reference Manual. | |||
| 1407 | 1398 | ||
| 1408 | The BeagleBone development board requires an SPL to boot and that SPL | 1399 | The BeagleBone development board requires an SPL to boot and that SPL |
| 1409 | file type must be MLO. Consequently, the machine configuration needs | 1400 | file type must be MLO. Consequently, the machine configuration needs |
| 1410 | to define ``SPL_BINARY`` as ``MLO``. | 1401 | to define :term:`SPL_BINARY` as ``MLO``. |
| 1411 | 1402 | ||
| 1412 | .. note:: | 1403 | .. note:: |
| 1413 | 1404 | ||
| @@ -1427,12 +1418,6 @@ Project Reference Manual. | |||
| 1427 | Specifies the value passed on the make command line when building | 1418 | Specifies the value passed on the make command line when building |
| 1428 | a U-Boot image. | 1419 | a U-Boot image. |
| 1429 | 1420 | ||
| 1430 | - :term:`UBOOT_ENTRYPOINT`: | ||
| 1431 | Specifies the entry point for the U-Boot image. | ||
| 1432 | |||
| 1433 | - :term:`UBOOT_LOADADDRESS`: | ||
| 1434 | Specifies the load address for the U-Boot image. | ||
| 1435 | |||
| 1436 | - :term:`MACHINE_FEATURES`: | 1421 | - :term:`MACHINE_FEATURES`: |
| 1437 | Specifies the list of hardware features the BeagleBone device is | 1422 | Specifies the list of hardware features the BeagleBone device is |
| 1438 | capable of supporting. In this case, the device supports "usbgadget | 1423 | capable of supporting. In this case, the device supports "usbgadget |
| @@ -1440,49 +1425,45 @@ Project Reference Manual. | |||
| 1440 | 1425 | ||
| 1441 | - :term:`IMAGE_BOOT_FILES`: | 1426 | - :term:`IMAGE_BOOT_FILES`: |
| 1442 | Files installed into the device's boot partition when preparing the | 1427 | Files installed into the device's boot partition when preparing the |
| 1443 | image using the Wic tool with the ``bootimg-partition`` or | 1428 | image using the Wic tool with the ``bootimg_partition`` or |
| 1444 | ``bootimg-efi`` source plugin. | 1429 | ``bootimg_efi`` source plugin. |
| 1445 | 1430 | ||
| 1446 | BSP Kernel Recipe Example | 1431 | BSP Kernel Recipe Example |
| 1447 | ------------------------- | 1432 | ------------------------- |
| 1448 | 1433 | ||
| 1449 | The kernel recipe used to build the kernel image for the BeagleBone | 1434 | The kernel recipe used to build the kernel image for the BeagleBone |
| 1450 | device was established in the machine configuration: :: | 1435 | device was established in the machine configuration:: |
| 1451 | 1436 | ||
| 1452 | PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" | 1437 | PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" |
| 1453 | PREFERRED_VERSION_linux-yocto ?= "5.0%" | 1438 | PREFERRED_VERSION_linux-yocto ?= "6.1%" |
| 1454 | 1439 | ||
| 1455 | The ``meta-yocto-bsp/recipes-kernel/linux`` directory in the layer contains | 1440 | The ``meta-yocto-bsp/recipes-kernel/linux`` directory in the layer contains |
| 1456 | metadata used to build the kernel. In this case, a kernel append file | 1441 | metadata used to build the kernel. In this case, a kernel append file |
| 1457 | (i.e. ``linux-yocto_5.0.bbappend``) is used to override an established | 1442 | (i.e. ``linux-yocto_6.1.bbappend``) is used to override an established |
| 1458 | kernel recipe (i.e. ``linux-yocto_5.0.bb``), which is located in | 1443 | kernel recipe (i.e. ``linux-yocto_6.1.bb``), which is located in |
| 1459 | :yocto_git:`/poky/tree/meta/recipes-kernel/linux`. | 1444 | :yocto_git:`/poky/tree/meta/recipes-kernel/linux`. |
| 1460 | 1445 | ||
| 1461 | Following is the contents of the append file: :: | 1446 | The contents of the append file are:: |
| 1462 | 1447 | ||
| 1463 | KBRANCH_genericx86 = "v5.0/standard/base" | 1448 | KBRANCH:genericx86 = "v6.1/standard/base" |
| 1464 | KBRANCH_genericx86-64 = "v5.0/standard/base" | 1449 | KBRANCH:genericx86-64 = "v6.1/standard/base" |
| 1465 | KBRANCH_edgerouter = "v5.0/standard/edgerouter" | 1450 | KBRANCH:beaglebone-yocto = "v6.1/standard/beaglebone" |
| 1466 | KBRANCH_beaglebone-yocto = "v5.0/standard/beaglebone" | ||
| 1467 | 1451 | ||
| 1468 | KMACHINE_genericx86 ?= "common-pc" | 1452 | KMACHINE:genericx86 ?= "common-pc" |
| 1469 | KMACHINE_genericx86-64 ?= "common-pc-64" | 1453 | KMACHINE:genericx86-64 ?= "common-pc-64" |
| 1470 | KMACHINE_beaglebone-yocto ?= "beaglebone" | 1454 | KMACHINE:beaglebone-yocto ?= "beaglebone" |
| 1471 | 1455 | ||
| 1472 | SRCREV_machine_genericx86 ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d" | 1456 | SRCREV_machine:genericx86 ?= "6ec439b4b456ce929c4c07fe457b5d6a4b468e86" |
| 1473 | SRCREV_machine_genericx86-64 ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d" | 1457 | SRCREV_machine:genericx86-64 ?= "6ec439b4b456ce929c4c07fe457b5d6a4b468e86" |
| 1474 | SRCREV_machine_edgerouter ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d" | 1458 | SRCREV_machine:beaglebone-yocto ?= "423e1996694b61fbfc8ec3bf062fc6461d64fde1" |
| 1475 | SRCREV_machine_beaglebone-yocto ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d" | ||
| 1476 | 1459 | ||
| 1477 | COMPATIBLE_MACHINE_genericx86 = "genericx86" | 1460 | COMPATIBLE_MACHINE:genericx86 = "genericx86" |
| 1478 | COMPATIBLE_MACHINE_genericx86-64 = "genericx86-64" | 1461 | COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64" |
| 1479 | COMPATIBLE_MACHINE_edgerouter = "edgerouter" | 1462 | COMPATIBLE_MACHINE:beaglebone-yocto = "beaglebone-yocto" |
| 1480 | COMPATIBLE_MACHINE_beaglebone-yocto = "beaglebone-yocto" | ||
| 1481 | 1463 | ||
| 1482 | LINUX_VERSION_genericx86 = "5.0.3" | 1464 | LINUX_VERSION:genericx86 = "6.1.30" |
| 1483 | LINUX_VERSION_genericx86-64 = "5.0.3" | 1465 | LINUX_VERSION:genericx86-64 = "6.1.30" |
| 1484 | LINUX_VERSION_edgerouter = "5.0.3" | 1466 | LINUX_VERSION:beaglebone-yocto = "6.1.20" |
| 1485 | LINUX_VERSION_beaglebone-yocto = "5.0.3" | ||
| 1486 | 1467 | ||
| 1487 | This particular append file works for all the machines that are | 1468 | This particular append file works for all the machines that are |
| 1488 | part of the ``meta-yocto-bsp`` layer. The relevant statements are | 1469 | part of the ``meta-yocto-bsp`` layer. The relevant statements are |
diff --git a/documentation/bsp-guide/history.rst b/documentation/bsp-guide/history.rst deleted file mode 100644 index d7cd8ef7f0..0000000000 --- a/documentation/bsp-guide/history.rst +++ /dev/null | |||
| @@ -1,73 +0,0 @@ | |||
| 1 | .. SPDX-License-Identifier: CC-BY-SA-2.0-UK | ||
| 2 | |||
| 3 | *********************** | ||
| 4 | Manual Revision History | ||
| 5 | *********************** | ||
| 6 | |||
| 7 | .. list-table:: | ||
| 8 | :widths: 10 15 40 | ||
| 9 | :header-rows: 1 | ||
| 10 | |||
| 11 | * - Revision | ||
| 12 | - Date | ||
| 13 | - Note | ||
| 14 | * - 0.9 | ||
| 15 | - November 2010 | ||
| 16 | - The initial document released with the Yocto Project 0.9 Release | ||
| 17 | * - 1.0 | ||
| 18 | - April 2011 | ||
| 19 | - Released with the Yocto Project 1.0 Release. | ||
| 20 | * - 1.1 | ||
| 21 | - October 2011 | ||
| 22 | - Released with the Yocto Project 1.1 Release. | ||
| 23 | * - 1.2 | ||
| 24 | - April 2012 | ||
| 25 | - Released with the Yocto Project 1.2 Release. | ||
| 26 | * - 1.3 | ||
| 27 | - October 2012 | ||
| 28 | - Released with the Yocto Project 1.3 Release. | ||
| 29 | * - 1.4 | ||
| 30 | - April 2013 | ||
| 31 | - Released with the Yocto Project 1.4 Release. | ||
| 32 | * - 1.5 | ||
| 33 | - October 2013 | ||
| 34 | - Released with the Yocto Project 1.5 Release. | ||
| 35 | * - 1.6 | ||
| 36 | - April 2014 | ||
| 37 | - Released with the Yocto Project 1.6 Release. | ||
| 38 | * - 1.7 | ||
| 39 | - October 2014 | ||
| 40 | - Released with the Yocto Project 1.7 Release. | ||
| 41 | * - 1.8 | ||
| 42 | - April 2015 | ||
| 43 | - Released with the Yocto Project 1.8 Release. | ||
| 44 | * - 2.0 | ||
| 45 | - October 2015 | ||
| 46 | - Released with the Yocto Project 2.0 Release. | ||
| 47 | * - 2.1 | ||
| 48 | - April 2016 | ||
| 49 | - Released with the Yocto Project 2.1 Release. | ||
| 50 | * - 2.2 | ||
| 51 | - October 2016 | ||
| 52 | - Released with the Yocto Project 2.2 Release. | ||
| 53 | * - 2.3 | ||
| 54 | - May 2017 | ||
| 55 | - Released with the Yocto Project 2.3 Release. | ||
| 56 | * - 2.4 | ||
| 57 | - October 2017 | ||
| 58 | - Released with the Yocto Project 2.4 Release. | ||
| 59 | * - 2.5 | ||
| 60 | - May 2018 | ||
| 61 | - Released with the Yocto Project 2.5 Release. | ||
| 62 | * - 2.6 | ||
| 63 | - November 2018 | ||
| 64 | - Released with the Yocto Project 2.6 Release. | ||
| 65 | * - 2.7 | ||
| 66 | - May 2019 | ||
| 67 | - Released with the Yocto Project 2.7 Release. | ||
| 68 | * - 3.0 | ||
| 69 | - October 2019 | ||
| 70 | - Released with the Yocto Project 3.0 Release. | ||
| 71 | * - 3.1 | ||
| 72 | - April 2020 | ||
| 73 | - Released with the Yocto Project 3.1 Release. | ||
diff --git a/documentation/bsp-guide/index.rst b/documentation/bsp-guide/index.rst index a4394a85ed..9a8e034ae6 100644 --- a/documentation/bsp-guide/index.rst +++ b/documentation/bsp-guide/index.rst | |||
| @@ -11,6 +11,5 @@ Yocto Project Board Support Package Developer's Guide | |||
| 11 | :numbered: | 11 | :numbered: |
| 12 | 12 | ||
| 13 | bsp | 13 | bsp |
| 14 | history | ||
| 15 | 14 | ||
| 16 | .. include:: /boilerplate.rst | 15 | .. include:: /boilerplate.rst |
