diff --git a/packages/firmware/opensuse/collection.yaml b/packages/firmware/opensuse/collection.yaml index 12ee8be..3b6a26f 100644 --- a/packages/firmware/opensuse/collection.yaml +++ b/packages/firmware/opensuse/collection.yaml @@ -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" diff --git a/packages/firmware/rpi/build.yaml b/packages/firmware/rpi/build.yaml new file mode 100644 index 0000000..6c0381e --- /dev/null +++ b/packages/firmware/rpi/build.yaml @@ -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 \ No newline at end of file diff --git a/packages/firmware/rpi/config.txt b/packages/firmware/rpi/config.txt new file mode 100644 index 0000000..315b101 --- /dev/null +++ b/packages/firmware/rpi/config.txt @@ -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 \ No newline at end of file diff --git a/packages/firmware/rpi/definition.yaml b/packages/firmware/rpi/definition.yaml new file mode 100644 index 0000000..f52de8f --- /dev/null +++ b/packages/firmware/rpi/definition.yaml @@ -0,0 +1,8 @@ +name: "rpi" +category: "firmware" +version: "1.20250127" +labels: + github.repo: "firmware" + github.owner: "raspberrypi" + +