19 lines
870 B
Bash
Executable File
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'
|