diff --git a/scripts/flash-one.sh b/scripts/flash-one.sh index 17410dd..23d6949 100755 --- a/scripts/flash-one.sh +++ b/scripts/flash-one.sh @@ -40,8 +40,15 @@ sleep 1 # --- grow root partition to fill the disk --------------------------------- echo ",+" | sfdisk --no-reread -N 2 /dev/$DEV -partprobe /dev/$DEV -sleep 1 +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