Files
fds-os/tools/prepare-pi-firmware
T
2026-09-21 22:29:23 +08:00

19 lines
870 B
Bash
Executable File

#!/usr/bin/env bash
source "$(dirname -- "${BASH_SOURCE[0]}")/lib.sh"
[[ $# == 0 ]] || die 'Usage: tools/prepare-pi-firmware'
cd "$FDS_ROOT"
use_xbps
check_void_pin
source config/pi-firmware.conf
mkdir -p .host/boot-input/{var/db/xbps/keys,config} out/cache/boot
cp "$FDS_VOID/common/repo-keys/"*.plist .host/boot-input/var/db/xbps/keys/
package="out/cache/boot/rpi-firmware-$PI_FIRMWARE_VERSION.aarch64.xbps"
if [[ ! -f $package ]]; then
[[ ${FDS_OFFLINE:-0} != 1 ]] || die "Missing offline Pi firmware: $package"
XBPS_ARCH=aarch64 xbps-install -r "$FDS_ROOT/.host/boot-input" \
-C "$FDS_ROOT/.host/boot-input/config" -c "$FDS_ROOT/out/cache/boot" \
-i -R "$PI_FIRMWARE_REPOSITORY" -SyD "rpi-firmware-$PI_FIRMWARE_VERSION"
fi
printf '%s %s\n' "$PI_FIRMWARE_SHA256" "$package" | sha256sum -c -
printf 'PASS: pinned Pi firmware input verified\n'