flash-one.sh: handle desktop automounter interference during resize/mount

This commit is contained in:
Adam Carr
2026-09-19 12:49:08 -07:00
parent 0625ef6feb
commit 7d5e6f5be1

View File

@@ -40,8 +40,15 @@ sleep 1
# --- grow root partition to fill the disk ---------------------------------
echo ",+" | sfdisk --no-reread -N 2 /dev/$DEV
partprobe /dev/$DEV
for i in $(seq 1 10); do
partprobe /dev/$DEV 2>/dev/null || true
udevadm settle 2>/dev/null || true
umount /dev/${DEV}1 /dev/${DEV}2 2>/dev/null
SIZE2=$(blockdev --getsize64 /dev/${DEV}2 2>/dev/null || echo 0)
[ "$SIZE2" -gt 200000000000 ] && break
sleep 1
done
[ "$SIZE2" -gt 200000000000 ] || fail "kernel never saw the resized partition"
e2fsck -fp /dev/${DEV}2 >/dev/null
resize2fs /dev/${DEV}2 >/dev/null
@@ -49,8 +56,12 @@ resize2fs /dev/${DEV}2 >/dev/null
B=/mnt/planck-boot
R=/mnt/planck-root
mkdir -p $B $R
mount /dev/${DEV}1 $B
mount /dev/${DEV}2 $R
for i in 1 2 3; do
umount /dev/${DEV}1 /dev/${DEV}2 2>/dev/null
mount /dev/${DEV}1 $B 2>/dev/null && mount /dev/${DEV}2 $R 2>/dev/null && break
sleep 2
done
mountpoint -q $B && mountpoint -q $R || fail "could not mount partitions (desktop keeps grabbing them)"
# enable ssh on first boot
touch $B/ssh