diff options
Diffstat (limited to 'documentation/bsp-guide/bsp.rst')
-rw-r--r-- | documentation/bsp-guide/bsp.rst | 54 |
1 files changed, 25 insertions, 29 deletions
diff --git a/documentation/bsp-guide/bsp.rst b/documentation/bsp-guide/bsp.rst index 35972f1726..09246b4ae4 100644 --- a/documentation/bsp-guide/bsp.rst +++ b/documentation/bsp-guide/bsp.rst | |||
@@ -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 :term:`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 | ======================================== |
@@ -876,7 +881,7 @@ The requirements for a released BSP that conform to the Yocto Project are: | |||
876 | ``recipes-*`` subdirectories specific to the recipe's function, or | 881 | ``recipes-*`` subdirectories specific to the recipe's function, or |
877 | within a subdirectory containing a set of closely-related recipes. | 882 | within a subdirectory containing a set of closely-related recipes. |
878 | The recipes themselves should follow the general guidelines for | 883 | The recipes themselves should follow the general guidelines for |
879 | recipes found in the ":doc:`../contributor-guide/recipe-style-guide`" | 884 | recipes found in the ":doc:`/contributor-guide/recipe-style-guide`" |
880 | in the Yocto Project and OpenEmbedded Contributor Guide. | 885 | in the Yocto Project and OpenEmbedded Contributor Guide. |
881 | 886 | ||
882 | - *License File:* You must include a license file in the | 887 | - *License File:* You must include a license file in the |
@@ -910,7 +915,7 @@ The requirements for a released BSP that conform to the Yocto Project are: | |||
910 | - The name and contact information for the BSP layer maintainer. | 915 | - The name and contact information for the BSP layer maintainer. |
911 | 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. |
912 | For information on how to find the right person, see the | 917 | For information on how to find the right person, see the |
913 | :doc:`../contributor-guide/submit-changes` section in the Yocto Project and | 918 | :doc:`/contributor-guide/submit-changes` section in the Yocto Project and |
914 | OpenEmbedded Contributor Guide. | 919 | OpenEmbedded Contributor Guide. |
915 | 920 | ||
916 | - Instructions on how to build the BSP using the BSP layer. | 921 | - Instructions on how to build the BSP using the BSP layer. |
@@ -1177,7 +1182,7 @@ Use these steps to create a BSP layer: | |||
1177 | 1182 | ||
1178 | - *Create a Kernel Recipe:* Create a kernel recipe in | 1183 | - *Create a Kernel Recipe:* Create a kernel recipe in |
1179 | ``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 |
1180 | new custom kernel recipe file (e.g. ``linux-yocto_4.12.bb``). The BSP | 1185 | new custom kernel recipe file (e.g. ``linux-yocto_6.12.bb``). The BSP |
1181 | layers mentioned in the previous step also contain different kernel | 1186 | layers mentioned in the previous step also contain different kernel |
1182 | examples. See the ":ref:`kernel-dev/common:modifying an existing recipe`" | 1187 | examples. See the ":ref:`kernel-dev/common:modifying an existing recipe`" |
1183 | section in the Yocto Project Linux Kernel Development Manual for | 1188 | section in the Yocto Project Linux Kernel Development Manual for |
@@ -1242,7 +1247,7 @@ located in :yocto_git:`poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf | |||
1242 | 1247 | ||
1243 | PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg" | 1248 | PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg" |
1244 | 1249 | ||
1245 | MACHINE_EXTRA_RRECOMMENDS = "kernel-modules kernel-devicetree" | 1250 | MACHINE_EXTRA_RRECOMMENDS = "kernel-modules" |
1246 | 1251 | ||
1247 | EXTRA_IMAGEDEPENDS += "virtual/bootloader" | 1252 | EXTRA_IMAGEDEPENDS += "virtual/bootloader" |
1248 | 1253 | ||
@@ -1258,23 +1263,21 @@ located in :yocto_git:`poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf | |||
1258 | SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyO0 115200;ttyAMA0" | 1263 | SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyO0 115200;ttyAMA0" |
1259 | 1264 | ||
1260 | PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" | 1265 | PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" |
1261 | PREFERRED_VERSION_linux-yocto ?= "6.1%" | 1266 | PREFERRED_VERSION_linux-yocto ?= "6.12%" |
1262 | 1267 | ||
1263 | KERNEL_IMAGETYPE = "zImage" | 1268 | KERNEL_IMAGETYPE = "zImage" |
1264 | KERNEL_DEVICETREE = "am335x-bone.dtb am335x-boneblack.dtb am335x-bonegreen.dtb" | 1269 | DTB_FILES = "am335x-bone.dtb am335x-boneblack.dtb am335x-bonegreen.dtb" |
1265 | KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}" | 1270 | KERNEL_DEVICETREE = '${@' '.join('ti/omap/%s' % d for d in '${DTB_FILES}'.split())}' |
1266 | 1271 | ||
1267 | PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot" | 1272 | PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot" |
1268 | 1273 | ||
1269 | SPL_BINARY = "MLO" | 1274 | SPL_BINARY = "MLO" |
1270 | UBOOT_SUFFIX = "img" | 1275 | UBOOT_SUFFIX = "img" |
1271 | UBOOT_MACHINE = "am335x_evm_defconfig" | 1276 | UBOOT_MACHINE = "am335x_evm_defconfig" |
1272 | UBOOT_ENTRYPOINT = "0x80008000" | ||
1273 | UBOOT_LOADADDRESS = "0x80008000" | ||
1274 | 1277 | ||
1275 | MACHINE_FEATURES = "usbgadget usbhost vfat alsa" | 1278 | MACHINE_FEATURES = "usbgadget usbhost vfat alsa" |
1276 | 1279 | ||
1277 | IMAGE_BOOT_FILES ?= "u-boot.${UBOOT_SUFFIX} ${SPL_BINARY} ${KERNEL_IMAGETYPE} ${KERNEL_DEVICETREE}" | 1280 | IMAGE_BOOT_FILES ?= "u-boot.${UBOOT_SUFFIX} ${SPL_BINARY} ${KERNEL_IMAGETYPE} ${DTB_FILES}" |
1278 | 1281 | ||
1279 | # support runqemu | 1282 | # support runqemu |
1280 | EXTRA_IMAGEDEPENDS += "qemu-native qemu-helper-native" | 1283 | EXTRA_IMAGEDEPENDS += "qemu-native qemu-helper-native" |
@@ -1328,12 +1331,12 @@ Project Reference Manual. | |||
1328 | 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 |
1329 | be built for the image. | 1332 | be built for the image. |
1330 | 1333 | ||
1331 | At the end of the file, we also use this setings to implement | 1334 | At the end of the file, we also use this setting to implement |
1332 | ``runqemu`` support on the host machine. | 1335 | ``runqemu`` support on the host machine. |
1333 | 1336 | ||
1334 | - :term:`DEFAULTTUNE`: Machines | 1337 | - :term:`DEFAULTTUNE`: Machines |
1335 | use tunings to optimize machine, CPU, and application performance. | 1338 | use tunings to optimize machine, CPU, and application performance. |
1336 | These features, which are collectively known as "tuning features", | 1339 | These features --- collectively known as "tuning features" --- |
1337 | are set in the :term:`OpenEmbedded-Core (OE-Core)` layer. In this | 1340 | are set in the :term:`OpenEmbedded-Core (OE-Core)` layer. In this |
1338 | example, the default tuning file is :oe_git:`tune-cortexa8 | 1341 | example, the default tuning file is :oe_git:`tune-cortexa8 |
1339 | </openembedded-core/tree/meta/conf/machine/include/arm/armv7a/tune-cortexa8.inc>`. | 1342 | </openembedded-core/tree/meta/conf/machine/include/arm/armv7a/tune-cortexa8.inc>`. |
@@ -1363,8 +1366,7 @@ Project Reference Manual. | |||
1363 | to create the sysroot when building a Wic image. | 1366 | to create the sysroot when building a Wic image. |
1364 | 1367 | ||
1365 | - :term:`SERIAL_CONSOLES`: | 1368 | - :term:`SERIAL_CONSOLES`: |
1366 | Defines a serial console (TTY) to enable using getty. In this case, | 1369 | Defines one or more serial consoles (TTYs) to enable using getty. |
1367 | the baud rate is "115200" and the device name is "ttyO0". | ||
1368 | 1370 | ||
1369 | - :term:`PREFERRED_PROVIDER_virtual/kernel <PREFERRED_PROVIDER>`: | 1371 | - :term:`PREFERRED_PROVIDER_virtual/kernel <PREFERRED_PROVIDER>`: |
1370 | Specifies the recipe that provides "virtual/kernel" when more than | 1372 | Specifies the recipe that provides "virtual/kernel" when more than |
@@ -1374,7 +1376,7 @@ Project Reference Manual. | |||
1374 | 1376 | ||
1375 | - :term:`PREFERRED_VERSION_linux-yocto <PREFERRED_VERSION>`: | 1377 | - :term:`PREFERRED_VERSION_linux-yocto <PREFERRED_VERSION>`: |
1376 | 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 |
1377 | "6.1" in this case. | 1379 | "6.12" in this case. |
1378 | 1380 | ||
1379 | - :term:`KERNEL_IMAGETYPE`: | 1381 | - :term:`KERNEL_IMAGETYPE`: |
1380 | 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 |
@@ -1416,12 +1418,6 @@ Project Reference Manual. | |||
1416 | Specifies the value passed on the make command line when building | 1418 | Specifies the value passed on the make command line when building |
1417 | a U-Boot image. | 1419 | a U-Boot image. |
1418 | 1420 | ||
1419 | - :term:`UBOOT_ENTRYPOINT`: | ||
1420 | Specifies the entry point for the U-Boot image. | ||
1421 | |||
1422 | - :term:`UBOOT_LOADADDRESS`: | ||
1423 | Specifies the load address for the U-Boot image. | ||
1424 | |||
1425 | - :term:`MACHINE_FEATURES`: | 1421 | - :term:`MACHINE_FEATURES`: |
1426 | Specifies the list of hardware features the BeagleBone device is | 1422 | Specifies the list of hardware features the BeagleBone device is |
1427 | capable of supporting. In this case, the device supports "usbgadget | 1423 | capable of supporting. In this case, the device supports "usbgadget |