86 lines
1.8 KiB
Bash
Executable File
86 lines
1.8 KiB
Bash
Executable File
#!/bin/sh
|
|
# Fix extroot by formatting mmcblk0p3 fresh
|
|
# Run this from console or SSH after failsafe boot
|
|
|
|
OVERLAY_DEV="/dev/mmcblk0p3"
|
|
|
|
echo "=== SecuBox Extroot Fix ==="
|
|
echo ""
|
|
|
|
# Stop services using overlay
|
|
echo "Stopping services..."
|
|
for svc in /etc/init.d/*; do
|
|
[ -x "$svc" ] && "$svc" stop 2>/dev/null &
|
|
done
|
|
sleep 3
|
|
|
|
# Kill processes using overlay
|
|
echo "Killing processes using overlay..."
|
|
fuser -km /overlay 2>/dev/null || true
|
|
sleep 2
|
|
|
|
# Unmount everything
|
|
echo "Unmounting filesystems..."
|
|
umount -l /overlay 2>/dev/null || true
|
|
umount -l /mnt/extroot 2>/dev/null || true
|
|
umount -l "$OVERLAY_DEV" 2>/dev/null || true
|
|
sync
|
|
sleep 2
|
|
|
|
# Verify unmounted
|
|
if mount | grep -q "$OVERLAY_DEV"; then
|
|
echo "ERROR: Cannot unmount $OVERLAY_DEV"
|
|
echo "Try: reboot into failsafe mode and run this script"
|
|
exit 1
|
|
fi
|
|
|
|
echo ""
|
|
echo "Formatting $OVERLAY_DEV as f2fs..."
|
|
mkfs.f2fs -f -l rootfs_data "$OVERLAY_DEV" || {
|
|
echo "Format failed! Try: mkfs.ext4 -L rootfs_data $OVERLAY_DEV"
|
|
exit 1
|
|
}
|
|
|
|
echo ""
|
|
echo "Preparing overlay structure..."
|
|
mkdir -p /mnt/extroot
|
|
mount -t f2fs "$OVERLAY_DEV" /mnt/extroot
|
|
mkdir -p /mnt/extroot/upper /mnt/extroot/work
|
|
sync
|
|
umount /mnt/extroot
|
|
|
|
echo ""
|
|
echo "Configuring fstab..."
|
|
UUID=$(blkid "$OVERLAY_DEV" -s UUID -o value)
|
|
echo "UUID: $UUID"
|
|
|
|
# Write fstab config
|
|
cat > /etc/config/fstab << EOF
|
|
config global
|
|
option anon_swap '0'
|
|
option anon_mount '0'
|
|
option auto_swap '0'
|
|
option auto_mount '1'
|
|
option delay_root '5'
|
|
option check_fs '1'
|
|
|
|
config mount 'extroot'
|
|
option target '/overlay'
|
|
option uuid '$UUID'
|
|
option enabled '1'
|
|
option fstype 'f2fs'
|
|
option options 'rw,noatime'
|
|
|
|
config mount 'srv'
|
|
option target '/srv'
|
|
option uuid '443e8304-4d3b-4fd0-9f26-74c50ba64113'
|
|
option enabled '1'
|
|
EOF
|
|
|
|
echo ""
|
|
echo "=== Setup complete ==="
|
|
echo ""
|
|
cat /etc/config/fstab
|
|
echo ""
|
|
echo "Now reboot: reboot"
|