Go to file
Martin Jansa 95a9103f91 sdimage-raspberrypi.wks: increase /boot partition minimal size from 20 to 100
* current aarch64 kernel image alone is 24MB:
  24M tmp-glibc/deploy/images/raspberrypi4-64/Image-raspberrypi4-64-1-6.1.77+git0+43d1723dbe_77fc1fbcb5-r0.1-20110405230000.bin
  and with rpi-bootfiles it takes around 46MB (e.g. this is from kirkstone raspberrypi4-64 build):

2.0K    boot.scr
2.0K    cmdline.txt
4.0K    fixup4cd.dat
4.0K    fixup_cd.dat
4.0K    uEnv.txt
6.0K    fixup4.dat
8.0K    fixup.dat
10K     fixup4db.dat
10K     fixup4x.dat
10K     fixup_db.dat
10K     fixup_x.dat
16K     uboot.env
36K     config.txt
52K     bcm2711-rpi-4-b.dtb
52K     bcm2711-rpi-400.dtb
52K     bcm2711-rpi-cm4.dtb
52K     bootcode.bin
126K    overlays
558K    kernel8.img
786K    start4cd.elf
786K    start_cd.elf
2.2M    start4.elf
2.9M    start.elf
2.9M    start4x.elf
3.6M    start4db.elf
3.6M    start_x.elf
4.6M    start_db.elf
23M     Image

* it is increased automatically to fit the content:

  tmp-glibc/deploy/images/raspberrypi4-64 $ sfdisk -l core-image-minimal-raspberrypi4-64.rootfs--1.0-r0-20110405230000.wic
  Disk core-image-minimal-raspberrypi4-64.rootfs--1.0-r0-20110405230000.wic: 241.2 MiB, 252915712 bytes, 493976 sectors
  Units: sectors of 1 * 512 = 512 bytes
  Sector size (logical/physical): 512 bytes / 512 bytes
  I/O size (minimum/optimal): 512 bytes / 512 bytes
  Disklabel type: dos
  Disk identifier: 0x076c4a2a

  Device                                                                Boot  Start    End Sectors   Size Id Type
  core-image-minimal-raspberrypi4-64.rootfs--1.0-r0-20110405230000.wic1 *      8192 157815  149624  73.1M  c W95 FAT32 (LBA)
  core-image-minimal-raspberrypi4-64.rootfs--1.0-r0-20110405230000.wic2      163840 493975  330136 161.2M 83 Linux

  but if you want to update the kernel in place or add some additional files
  later, it might not be big enough, increase the minimal size from 20M to 100M

* reminder (as I forgot about it before):
  "--size" is just minimum

  https://docs.yoctoproject.org/ref-manual/kickstart.html
  says:

  --size: The minimum partition size. Specify as an integer value optionally followed by one of the units “k” / “K” for kibibyte, “M” for mebibyte and “G” for gibibyte. The default unit if none is given is “M”. You do not need this option if you use --source.
  --fixed-size: The exact partition size. Specify as an integer value optionally followed by one of the units “k” / “K” for kibibyte, “M” for mebibyte and “G” for gibibyte. The default unit if none is given is “M”. Cannot be specify together with --size. An error occurs when assembling the disk image if the partition data is larger than --fixed-size.

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
2024-02-23 01:24:46 +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: increase /boot partition minimal size from 20 to 100 2024-02-23 01:24:46 +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>