#!/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'