Add dashboard UI updates and settings modal
This commit is contained in:
43
flash_sd.sh
Executable file
43
flash_sd.sh
Executable file
@@ -0,0 +1,43 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
# Pi-Kit flashing helper (small wrapper around xzcat | dd).
|
||||
# Usage: sudo ./flash_sd.sh /path/to/image.img.xz /dev/sdX
|
||||
# Example: sudo ./flash_sd.sh images/output/DietPi_RPi5-ARMv8-Trixie-base.img.xz /dev/sdb
|
||||
# Safety guardrails:
|
||||
# - Requires root (sudo).
|
||||
# - WILL wipe the target block device; prompt asks for YES before writing.
|
||||
# - If a .sha256 sits next to the image, consider verifying it first.
|
||||
|
||||
img="${1:-}"
|
||||
dev="${2:-}"
|
||||
|
||||
if [[ -z "$img" || -z "$dev" ]]; then
|
||||
echo "Usage: sudo $0 image.img.xz /dev/sdX"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ $EUID -ne 0 ]]; then
|
||||
echo "Please run as root (sudo)."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ ! -b "$dev" ]]; then
|
||||
echo "Device $dev not found or not a block device."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "About to wipe and flash $dev with $img"
|
||||
read -rp "Type YES to continue: " yn
|
||||
[[ "$yn" == "YES" ]] || { echo "Aborted."; exit 1; }
|
||||
|
||||
echo "Decompressing and writing... this may take several minutes."
|
||||
xzcat "$img" | pv | dd of="$dev" bs=4M conv=fsync status=none
|
||||
|
||||
echo "Syncing..."
|
||||
sync
|
||||
|
||||
echo "Flashed $img to $dev successfully."
|
||||
|
||||
echo "Ejecting $dev..."
|
||||
sudo eject "$dev" || true
|
||||
Reference in New Issue
Block a user