flash-one.sh: handle desktop automounter interference during resize/mount
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user