We were rebuilding Docker images from scratch with --no-cache, tagged by PR number. With this, we were building multiple images per PR for the same context. This change tags the images by the git tree hash of the build context and only build if the tag is missing. This naturally covers rebuilding on build context changes. Finally, this change handles refreshing images every 7 days (for example to refresh OS packages) and prune by CI label after 14 days. The gap ensures an image a running job just picked up isn't pruned under it. Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
meta-raspberrypi
Yocto BSP layer for the Raspberry Pi boards - http://www.raspberrypi.org/.
|
Sponsored by:
|
Quick links
- Git repository web frontend: https://github.com/agherzan/meta-raspberrypi
- Mailing list (yocto mailing list): yocto@lists.yoctoproject.org
- Issues management (Github Issues): https://github.com/agherzan/meta-raspberrypi/issues
- Documentation: http://meta-raspberrypi.readthedocs.io/en/latest/
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: https://git.openembedded.org/bitbake
- branch: master
- revision: HEAD
-
URI: https://git.openembedded.org/openembedded-core
- branch: master
- revision: HEAD
-
URI: https://git.yoctoproject.org/meta-yocto
- branch: master
- revision: HEAD
Quick Start
- source openembedded-core/oe-init-build-env rpi-build
- Add this layer to bblayers.conf and the dependencies above
- Set MACHINE in local.conf to one of the supported boards
- bitbake core-image-base
- Use bmaptool to copy the generated .wic.bz2 file to the SD card
- Boot your RPI
Quick Start with kas
-
Install the kas build tool from PyPI:
pip3 install kas -
Select the appropriate machine configuration file from
kas/(for exampleraspberrypi4.yml,raspberrypi3-64.yml, etc.) -
Run the build:
kas build meta-raspberrypi/kas/<machine>.yml -
Use
bmaptoolto copy the generated.wic.bz2image to the SD card -
Boot your Raspberry Pi
The kas configuration is split into a shared base.yml and per-machine
configuration files. Machine selection is done by choosing the appropriate
kas file rather than editing a machine variable.
To adjust the build configuration with specific options (I2C, SPI, etc.),
extend the configuration by adding a local_conf_header section, for example:
local_conf_header:
rpi-specific: |
ENABLE_I2C = "1"
RPI_EXTRA_CONFIG = "dtoverlay=disable-bt"
Additional configurations can be layered by including extra kas files. For example,
to enable runtime testing with testimage:
kas build meta-raspberrypi/kas/raspberrypi4.yml:meta-raspberrypi/kas/testimage.yml
For further details, see the kas documentation: 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>