#!/usr/bin/env bash set -euo pipefail BOOTFS=${1:-/run/media/jet/bootfs} ROOTFS=${2:-/run/media/jet/rootfs} HOSTNAME=noisebell-pi WIFI_SSID=Noisebridge WIFI_PASSWORD=noisebridge PI_USERNAME=pi SSH_KEY='ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE40ISu3ydCqfdpb26JYD5cIN0Fu0id/FDS+xjB5zpqu' if [[ $EUID -ne 0 ]]; then echo "Run with sudo: sudo $0 [bootfs] [rootfs]" >&2 exit 1 fi if [[ ! -d "$BOOTFS" ]]; then echo "Expected mounted boot partition." >&2 echo "Boot: $BOOTFS" >&2 exit 1 fi CONFIG_TXT="$BOOTFS/config.txt" if [[ ! -f "$CONFIG_TXT" && -f "$BOOTFS/firmware/config.txt" ]]; then CONFIG_TXT="$BOOTFS/firmware/config.txt" fi if [[ ! -f "$CONFIG_TXT" ]]; then echo "Could not find config.txt in $BOOTFS" >&2 exit 1 fi ROOTFS_READY=0 if [[ -d "$ROOTFS" && -f "$ROOTFS/etc/shadow" ]]; then ROOTFS_READY=1 fi cat > "$BOOTFS/network-config" < "$BOOTFS/user-data" < "$BOOTFS/meta-data" <> "$CONFIG_TXT" : > "$BOOTFS/ssh" if [[ "$ROOTFS_READY" -eq 1 ]]; then cat > "$ROOTFS/etc/hostname" < "$ROOTFS/etc/hosts" < "$ROOTFS/home/pi/.ssh/authorized_keys" <