Add common rpi firmware package built from source (#1296)

This removes the older separated builds

Signed-off-by: Itxaka <itxaka@kairos.io>
This commit is contained in:
Itxaka 2025-03-03 13:58:40 +01:00 committed by GitHub
parent 5cf196f2f0
commit 39d38b2ef0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 121 additions and 48 deletions

View File

@ -18,51 +18,3 @@ packages:
curl -s -L https://download.opensuse.org/ports/aarch64/tumbleweed/repo/oss/$(curl -s -L https://download.opensuse.org/ports/aarch64/tumbleweed/repo/oss/repodata/repomd.xml | dasel -r xml 'repomd.data.[0].location.-href') | zstd -d - | dasel -r xml -w json | jq '.metadata.package[] | select(.name=="u-boot-rpiarm64") | select(.arch!="src").checksum."#text"' -r | tail -n1
package.version: "2025.01-3.1"
package.checksum: "5ececbeaaa43d42662fe01b4a9aedc75e97db3d98501e77a5be451029bca70e18eaf859a4278f1f98aa00ebc16133de98c7a5eb301831d3a0e4cf7ad746a0f35"
- name: "raspberrypi-firmware"
category: "firmware"
version: "2024.08.30-1.1"
labels:
autobump.strategy: "custom"
autobump.string_replace: '{ "prefix": "" }'
autobump.prefix: "prefix"
autobump.hook: |
curl -s -L https://download.opensuse.org/ports/aarch64/tumbleweed/repo/oss/$(curl -s -L https://download.opensuse.org/ports/aarch64/tumbleweed/repo/oss/repodata/repomd.xml | dasel -r xml 'repomd.data.[0].location.-href') | zstd -d - | dasel -r xml -w json | jq '.metadata.package[] | select(.name=="raspberrypi-firmware") | select(.arch!="src").version | map(.)[2] + "-" + map(.)[1]' -r | tail -n1
autobump.version_hook: |
curl -s -L https://download.opensuse.org/ports/aarch64/tumbleweed/repo/oss/$(curl -s -L https://download.opensuse.org/ports/aarch64/tumbleweed/repo/oss/repodata/repomd.xml | dasel -r xml 'repomd.data.[0].location.-href') | zstd -d - | dasel -r xml -w json | jq '.metadata.package[] | select(.name=="raspberrypi-firmware") | select(.arch!="src").version | map(.)[2] + "-" + map(.)[1]' -r | tail -n1
# We do assume that checksum is sha256
autobump.checksum_hook: |
curl -s -L https://download.opensuse.org/ports/aarch64/tumbleweed/repo/oss/$(curl -s -L https://download.opensuse.org/ports/aarch64/tumbleweed/repo/oss/repodata/repomd.xml | dasel -r xml 'repomd.data.[0].location.-href') | zstd -d - | dasel -r xml -w json | jq '.metadata.package[] | select(.name=="raspberrypi-firmware") | select(.arch!="src").checksum."#text"' -r | tail -n1
package.version: "2024.08.30-1.1"
package.checksum: "6e732a58d74f4166b07068da15f208e8c2d849a872d4b000a8ddfedb0ff041f3499b193618b746d379fe308f0ab3819bccc4491bfda4d66b35cf54e54cabfcd9"
- name: "raspberrypi-firmware-config"
category: "firmware"
version: "2024.08.30-1.1"
labels:
autobump.strategy: "custom"
autobump.string_replace: '{ "prefix": "" }'
autobump.prefix: "prefix"
autobump.hook: |
curl -s -L https://download.opensuse.org/ports/aarch64/tumbleweed/repo/oss/$(curl -s -L https://download.opensuse.org/ports/aarch64/tumbleweed/repo/oss/repodata/repomd.xml | dasel -r xml 'repomd.data.[0].location.-href') | zstd -d - | dasel -r xml -w json | jq '.metadata.package[] | select(.name=="raspberrypi-firmware-config") | select(.arch!="src").version | map(.)[2] + "-" + map(.)[1]' -r | tail -n1
autobump.version_hook: |
curl -s -L https://download.opensuse.org/ports/aarch64/tumbleweed/repo/oss/$(curl -s -L https://download.opensuse.org/ports/aarch64/tumbleweed/repo/oss/repodata/repomd.xml | dasel -r xml 'repomd.data.[0].location.-href') | zstd -d - | dasel -r xml -w json | jq '.metadata.package[] | select(.name=="raspberrypi-firmware-config") | select(.arch!="src").version | map(.)[2] + "-" + map(.)[1]' -r | tail -n1
# We do assume that checksum is sha256
autobump.checksum_hook: |
curl -s -L https://download.opensuse.org/ports/aarch64/tumbleweed/repo/oss/$(curl -s -L https://download.opensuse.org/ports/aarch64/tumbleweed/repo/oss/repodata/repomd.xml | dasel -r xml 'repomd.data.[0].location.-href') | zstd -d - | dasel -r xml -w json | jq '.metadata.package[] | select(.name=="raspberrypi-firmware-config") | select(.arch!="src").checksum."#text"' -r | tail -n1
package.version: "2024.08.30-1.1"
package.checksum: "860644affd70cfb2e258808ef49e3dad50aec5283e59e2f17aff4484411bce5f1702cc3ce47b5210f8d5526e034d944f9dc3251d6c5bc40efa0a42b630cbc487"
- name: "raspberrypi-firmware-dt"
category: "firmware"
version: "2023.11.21-3.4"
labels:
autobump.strategy: "custom"
autobump.string_replace: '{ "prefix": "" }'
autobump.prefix: "prefix"
autobump.hook: |
curl -s -L https://download.opensuse.org/ports/aarch64/tumbleweed/repo/oss/$(curl -s -L https://download.opensuse.org/ports/aarch64/tumbleweed/repo/oss/repodata/repomd.xml | dasel -r xml 'repomd.data.[0].location.-href') | zstd -d - | dasel -r xml -w json | jq '.metadata.package[] | select(.name=="raspberrypi-firmware-dt") | select(.arch!="src").version | map(.)[2] + "-" + map(.)[1]' -r | tail -n1
autobump.version_hook: |
curl -s -L https://download.opensuse.org/ports/aarch64/tumbleweed/repo/oss/$(curl -s -L https://download.opensuse.org/ports/aarch64/tumbleweed/repo/oss/repodata/repomd.xml | dasel -r xml 'repomd.data.[0].location.-href') | zstd -d - | dasel -r xml -w json | jq '.metadata.package[] | select(.name=="raspberrypi-firmware-dt") | select(.arch!="src").version | map(.)[2] + "-" + map(.)[1]' -r | tail -n1
# We do assume that checksum is sha256
autobump.checksum_hook: |
curl -s -L https://download.opensuse.org/ports/aarch64/tumbleweed/repo/oss/$(curl -s -L https://download.opensuse.org/ports/aarch64/tumbleweed/repo/oss/repodata/repomd.xml | dasel -r xml 'repomd.data.[0].location.-href') | zstd -d - | dasel -r xml -w json | jq '.metadata.package[] | select(.name=="raspberrypi-firmware-dt") | select(.arch!="src").checksum."#text"' -r | tail -n1
package.version: "2023.11.21-3.4"
package.checksum: "ed3daaff9d67aa22d60d58804c8fc85c7d8b6bbe75157b9d50dc7a12d81ea635e41ca8f38f69ebb7b5ae03be54b30897e170e373128e0eccbd26df98497260ef"

View File

@ -0,0 +1,18 @@
requires:
- name: "toolchain-go-ubuntu"
category: "development"
version: ">=0"
package_dir: /output
env:
- GITHUB_ORG={{ ( index .Values.labels "github.owner" ) }}
- GITHUB_REPO={{ ( index .Values.labels "github.repo" ) }}
# Make sure you use depth 1 and branch to avoid downloading the whole repo as its huge!
steps:
- mkdir build/${GITHUB_ORG}/ -p
- mkdir /output -p
- git clone --depth 1 --branch ${PACKAGE_VERSION} https://github.com/${GITHUB_ORG}/${GITHUB_REPO}.git build/${GITHUB_ORG}
- cp -R build/${GITHUB_ORG}/boot/* /output
- cp config.txt /output

View File

@ -0,0 +1,95 @@
# Get more options/information on http://elinux.org/RPiconfig
# or on https://www.raspberrypi.com/documentation/computers/configuration.html
#
# !!!!! This file will get overwritten by updates. Please use !!!!!
# !!!!! extraconfig.txt if you want to set additional !!!!!
# !!!!! configuration options or add dt overlays. !!!!!
# Our kernels are located on a Linux partition. Chainload U-Boot to load them.
kernel=u-boot.bin
# Default gpu_mem value is 76 for 1GB (or greater) and 64 for less. Min 16 - Max 512 MB
# See: https://www.raspberrypi.com/documentation/computers/config_txt.html#gpu_mem
# We don't need that much memory reserved for it, because we drive most hardware
# from Linux, not the VPU OS
gpu_mem=32
# start_x is used to enable the camera module (and must be set here - boo#1192047)
# and requires to install raspberrypi-firmware-extra or raspberrypi-firmware-extra-pi4
# start_x=1
# gpu_mem needs to be increased when start_x is used, 128 is the minimum there
# gpu_mem=128
# Turbo mode: 0 = enable dynamic freq/voltage - 1 = always max
force_turbo=0
# Start in turbo mode for 30 seconds or until cpufreq sets a frequency
initial_turbo=30
# DO NOT overvoltage manually to not void warranty!
over_voltage=0
# Fix mini UART input frequency, and setup/enable up the UART.
enable_uart=1
# Disable warning overlays as they don't work well together with linux's graphical output
avoid_warnings=1
# This overlay fixes divergences between the RPi device tree and what
# upstream provides
dtoverlay=upstream
# overscan is only needed on old TV sets and if analog gear is in the chain (e.g. DPI)
disable_overscan=1
# u-boot expects RPi's UART to have a compatible string not supported anymore in
# linux upstream, while this is fixed, make sure the name shows up in the
# device-tree. This is only needed for RPi, RPi2 and RPi0, but applied
# generally so as to avoid complexity.
dtoverlay=uboot-bcm2835-pl011
# Enables Bluetooth over the PL011 UART. Users wanting to disable it should add
# 'dtoverlay=disable-bt' in 'extraconfig.txt'.
dtoverlay=enable-bt
# Add minimal SMBIOS info
dtoverlay=smbios
[pi1]
# Max ARM freq (default 700 MHz)
arm_freq=840
# Max core (GPU) freq (default 250 MHz)
core_freq=375
# SDRAM freq (default 400)
sdram_freq=400
[pi3]
# These are not applied automatically? Needed to use respective upstream drivers.
dtoverlay=vc4-kms-v3d,cma-default
dtoverlay=dwc2
[pi4]
armstub=armstub8-rpi4.bin
# Note that the 7" DSI panel isn't supported at the moment through VC4, users
# can still use it through efifb by adding 'dtoverlay=disable-vc4' in
# 'extraconfig.txt'.
dtoverlay=vc4-kms-v3d-pi4,cma-default
[cm4]
# The USB interface is disabled to save power by default on CM4. Enable it
# to ease the installation process. For more information see:
# https://datasheets.raspberrypi.org/cm4/cm4-datasheet.pdf
dtoverlay=dwc2
[all]
# Allow u-boot to set arm_control
include ubootconfig.txt
# Allow user overrides of config options
include extraconfig.txt

View File

@ -0,0 +1,8 @@
name: "rpi"
category: "firmware"
version: "1.20250127"
labels:
github.repo: "firmware"
github.owner: "raspberrypi"