Add filesystem validation after flashing

Run fsck.vfat on boot partition and e2fsck on root partition
after flashing to catch and fix any corruption.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Aaron D. Lee
2026-01-08 13:00:37 -05:00
parent 6e906d5981
commit 252efbec7e

View File

@@ -307,23 +307,37 @@ echo ""
echo -e "${GREEN}Syncing...${NC}" echo -e "${GREEN}Syncing...${NC}"
sync sync
# Inject WiFi config if config.json was loaded
if [ "$HAS_CONFIG" = true ]; then
echo ""
echo -e "${GREEN}Configuring WiFi from config.json...${NC}"
# Wait for partitions to appear # Wait for partitions to appear
sleep 2 sleep 2
partprobe "$SELECTED" 2>/dev/null || true partprobe "$SELECTED" 2>/dev/null || true
sleep 1 sleep 1
# Determine boot partition # Determine partition names
if [[ "$SELECTED" == *"nvme"* ]] || [[ "$SELECTED" == *"mmcblk"* ]]; then if [[ "$SELECTED" == *"nvme"* ]] || [[ "$SELECTED" == *"mmcblk"* ]]; then
BOOT_PART="${SELECTED}p1" BOOT_PART="${SELECTED}p1"
ROOT_PART="${SELECTED}p2"
else else
BOOT_PART="${SELECTED}1" BOOT_PART="${SELECTED}1"
ROOT_PART="${SELECTED}2"
fi fi
# Validate and repair filesystems
echo ""
echo -e "${YELLOW}Validating filesystems...${NC}"
echo " Checking boot partition ($BOOT_PART)..."
sudo fsck.vfat -a "$BOOT_PART" 2>&1 | grep -v "^$" || true
echo " Checking root partition ($ROOT_PART)..."
sudo e2fsck -f -y "$ROOT_PART" 2>&1 | tail -5 || true
echo -e "${GREEN} ✓ Filesystems validated${NC}"
# Inject WiFi config if config.json was loaded
if [ "$HAS_CONFIG" = true ]; then
echo ""
echo -e "${GREEN}Configuring WiFi from config.json...${NC}"
if [ -b "$BOOT_PART" ]; then if [ -b "$BOOT_PART" ]; then
MOUNT_DIR=$(mktemp -d) MOUNT_DIR=$(mktemp -d)
if mount "$BOOT_PART" "$MOUNT_DIR" 2>/dev/null; then if mount "$BOOT_PART" "$MOUNT_DIR" 2>/dev/null; then