54 lines
1.2 KiB
Bash
Executable File
54 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
FIRMWARE_SRC="$SCRIPT_DIR/firmware"
|
|
BOOT="/boot/firmware"
|
|
|
|
if [[ $EUID -ne 0 ]]; then
|
|
echo "ERROR: this script must be run as root (use sudo)" >&2
|
|
exit 1
|
|
fi
|
|
|
|
echo "=== IOT-GATE-RPI4 layer install ==="
|
|
echo "Source : $FIRMWARE_SRC"
|
|
echo "Target : $BOOT"
|
|
echo
|
|
|
|
# --- config.txt ---
|
|
echo "[1/2] Installing config.txt"
|
|
|
|
if [[ -f "$BOOT/config.txt" ]]; then
|
|
echo " Backing up $BOOT/config.txt -> $BOOT/config.bak"
|
|
cp -v "$BOOT/config.txt" "$BOOT/config.bak"
|
|
else
|
|
echo " WARNING: $BOOT/config.txt not found, skipping backup"
|
|
fi
|
|
|
|
echo " Copying $FIRMWARE_SRC/config.txt -> $BOOT/config.txt"
|
|
cp -v "$FIRMWARE_SRC/config.txt" "$BOOT/config.txt"
|
|
|
|
# --- overlays ---
|
|
echo
|
|
echo "[2/2] Installing device tree overlays"
|
|
|
|
OVERLAY_SRC="$FIRMWARE_SRC/overlays/iotg-rpi4"
|
|
OVERLAY_DST="$BOOT/overlays/iotg-rpi4"
|
|
|
|
if [[ ! -d "$OVERLAY_SRC" ]]; then
|
|
echo " ERROR: overlay source directory not found: $OVERLAY_SRC" >&2
|
|
exit 1
|
|
fi
|
|
|
|
echo " Creating $OVERLAY_DST"
|
|
mkdir -p "$OVERLAY_DST"
|
|
|
|
for f in "$OVERLAY_SRC"/*; do
|
|
echo " Copying $(basename "$f")"
|
|
cp -v "$f" "$OVERLAY_DST/"
|
|
done
|
|
|
|
echo
|
|
echo "=== Done ==="
|
|
echo "Reboot for overlay changes to take effect."
|