Go to file
Martin Jansa b65bff6323 sdcard_image-rpi.bbclass: include ${IMAGE_NAME_SUFFIX} directly in both ${IMAGE_NAME} and ${IMAGE_LINK_NAME}
* Adjust to
  https://git.openembedded.org/openembedded-core/commit/?id=26d97acc71379ab6702fa54a23b6542a3f51779c

* ${IMAGE_NAME}${IMAGE_NAME_SUFFIX} is almost always used together already
  and when they aren't it's usually because of hardcoded '.rootfs' suffix

* it's a bit strange, because ${IMAGE_NAME_SUFFIX} is applied after the
  version from ${IMAGE_VERSION_SUFFIX}, if we move it to ${IMAGE_LINK_NAME}
  then it will be applied before the version and ${IMAGE_LINK_NAME}
  will be just the version-less symlink to latest built version.

* it's not added to INITRAMFS_IMAGE_NAME as it assumes that all
  images used as initramfs will set IMAGE_NAME_SUFFIX to empty.
  Many already do as shown bellow, but you might need to extend
  this list in your layer.

* without this fix, build with:
  IMAGE_FSTYPES:rpi = "rpi-sdimg.gz"
  will fail due to duplicated .rootfs suffix as shown in:
  http://errors.yoctoproject.org/Errors/Details/754267/

  130023424 bytes (130 MB, 124 MiB) copied, 0.0706353 s, 1.8 GB/s
  gzip: skipping: core-image-minimal-raspberrypi4-64.rootfs-20240222111049.rpi-sdimg does not exist
  WARNING: TOPDIR/tmp-glibc/work/raspberrypi4_64-oe-linux/core-image-minimal/1.0/temp/run.do_image_rpi_sdimg.1238835:263 exit 1 from 'gzip -f -9 -n -c --rsyncable core-image-minimal-raspberrypi4-64.rootfs-20240222111049.rpi-sdimg > core-image-minimal-raspberrypi4-64.rootfs-20240222111049.rpi-sdimg.gz'

  OE raspberrypi4-64@ /OE/build/oe-core/tmp-glibc/work/raspberrypi4_64-oe-linux/core-image-minimal/1.0/deploy-core-image-minimal-image-complete $ ll
  total 305612
  drwxr-xr-x  2 martin martin      4096 Feb 22 12:12 ./
  drwxr-xr-x 17 martin martin      4096 Feb 22 12:12 ../
  -rw-r--r--  1 martin martin 130023424 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs-20240222111049.ext3
  -rw-r--r--  1 martin martin      3535 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs-20240222111049.manifest
  -rw-r--r--  1 martin martin 184549376 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs-20240222111049.rootfs.rpi-sdimg
  -rw-r--r--  1 martin martin         0 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs-20240222111049.rpi-sdimg.gz
  -rw-r--r--  1 martin martin    361441 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs-20240222111049.spdx.tar.zst
  -rw-r--r--  1 martin martin    271541 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs-20240222111049.testdata.json
  -rw-r--r--  1 martin martin  50331648 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs-20240222111049.vfat
  lrwxrwxrwx  1 martin martin        61 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs.ext3 -> core-image-minimal-raspberrypi4-64.rootfs-20240222111049.ext3
  lrwxrwxrwx  1 martin martin        65 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs.manifest -> core-image-minimal-raspberrypi4-64.rootfs-20240222111049.manifest
  lrwxrwxrwx  1 martin martin        69 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs.spdx.tar.zst -> core-image-minimal-raspberrypi4-64.rootfs-20240222111049.spdx.tar.zst
  lrwxrwxrwx  1 martin martin        70 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs.testdata.json -> core-image-minimal-raspberrypi4-64.rootfs-20240222111049.testdata.json
  lrwxrwxrwx  1 martin martin        61 Feb 22 12:12 core-image-minimal-raspberrypi4-64.rootfs.vfat -> core-image-minimal-raspberrypi4-64.rootfs-20240222111049.vfat

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
2024-02-22 15:21:59 +00:00
.github Add Raspberry Pi 5 2024-01-25 17:25:39 +00:00
classes sdcard_image-rpi.bbclass: include ${IMAGE_NAME_SUFFIX} directly in both ${IMAGE_NAME} and ${IMAGE_LINK_NAME} 2024-02-22 15:21:59 +00:00
conf layer.conf: Update for the scarthgap release series 2024-02-19 19:23:28 +00:00
docs docs: add info on how to set different CAN interrupt pins 2024-01-26 00:39:32 +00:00
dynamic-layers python3-sense-hat: Drop PYTHON_PN 2024-02-22 13:12:22 +00:00
files/custom-licenses bcm2835-bootfiles: Clarify license conditions 2019-10-24 14:08:16 +01:00
img Use a png with transparency for balena logo 2022-07-31 02:18:20 +01:00
lib/oeqa/runtime/cases parselogs: Update the error regexps to 5.10 kernel 2021-11-23 11:32:35 +00:00
recipes-bsp rpi-eeprom_git: v.2024.01.05-2712 Update recipe to latest rpi-eeprom repo 2024-02-20 13:00:04 +00:00
recipes-connectivity *.patch: add Upstream-Status to all patches 2023-06-22 00:04:40 +01:00
recipes-core udev-rules-rpi: Use 99-com.rules directly from upstream 2023-05-28 10:19:52 +01:00
recipes-devtools bcm2835: update 1.71 -> 1.73 2024-01-08 11:45:41 +00:00
recipes-graphics userland: Update to trunk from 20230419 2023-09-22 10:39:52 +01:00
recipes-kernel linux-raspberrypi: Upgrade to 6.1.77 2024-02-19 19:23:28 +00:00
recipes-multimedia rpidistro-ffmpeg: Fix old override syntax 2024-02-20 07:39:32 +00:00
recipes-sato libwpe: Migrate build workaround from oe-core 2021-11-14 15:39:24 +00:00
wic sdimage-raspberrypi.wks: find /boot partition on mmcblk0 2018-03-07 23:35:18 +00:00
.gitignore gitignore: Ignore .pyc files 2021-03-24 10:07:46 +00:00
.readthedocs.yaml docs: Fix ReadTheDocs builds.os requirement 2023-10-24 12:36:33 +01:00
COPYING.MIT COPYING.MIT: Add license file for the metadata. 2012-04-03 20:44:03 +01:00
kas-poky-rpi.yml kas-poky-rpi.yml: renamed ABORT to HALT 2023-07-24 12:09:29 +01:00
README.md README.md: Refactor top table 2022-07-31 02:18:20 +01:00

meta-raspberrypi

Yocto BSP layer for the Raspberry Pi boards - http://www.raspberrypi.org/.

Documentation Status Matrix


Yocto Project Layer Compatible
Sponsored by:
balena.io

Description

This is the general hardware specific BSP overlay for the RaspberryPi device.

More information can be found at: http://www.raspberrypi.org/ (Official Site)

The core BSP part of meta-raspberrypi should work with different OpenEmbedded/Yocto distributions and layer stacks, such as:

  • Distro-less (only with OE-Core).
  • Yoe Disto (Video and Camera Products).
  • Yocto/Poky (main focus of testing).

Yocto Project Compatible Layer

This layer is officially approved as part of the Yocto Project Compatible Layers Program. You can find details of that on the official Yocto Project website.

Dependencies

This layer depends on:

  • URI: git://git.yoctoproject.org/poky
    • branch: master
    • revision: HEAD

Quick Start

  1. source poky/oe-init-build-env rpi-build
  2. Add this layer to bblayers.conf and the dependencies above
  3. Set MACHINE in local.conf to one of the supported boards
  4. bitbake core-image-base
  5. Use bmaptool to copy the generated .wic.bz2 file to the SD card
  6. Boot your RPI

Quick Start with kas

  1. Install kas build tool from PyPi (sudo pip3 install kas)
  2. kas build meta-raspberrypi/kas-poky-rpi.yml
  3. Use bmaptool to copy the generated .wic.bz2 file to the SD card
  4. Boot your RPI

To adjust the build configuration with specific options (I2C, SPI, ...), simply add a section as follows:

local_conf_header:
  rpi-specific: |
    ENABLE_I2C = "1"
    RPI_EXTRA_CONFIG = "dtoverlay=pi3-disable-bt"

To configure the machine, you have to update the machine variable. And the same for the distro.

For further information, you can read more at https://kas.readthedocs.io/en/latest/index.html

Contributing

You can send patches using the GitHub pull request process or/and through the Yocto mailing list. Refer to the documentation for more information.

Maintainers

  • Andrei Gherzan <andrei at gherzan.com>