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 ---------------------------------
|
# --- grow root partition to fill the disk ---------------------------------
|
||||||
echo ",+" | sfdisk --no-reread -N 2 /dev/$DEV
|
echo ",+" | sfdisk --no-reread -N 2 /dev/$DEV
|
||||||
partprobe /dev/$DEV
|
for i in $(seq 1 10); do
|
||||||
sleep 1
|
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
|
e2fsck -fp /dev/${DEV}2 >/dev/null
|
||||||
resize2fs /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
|
B=/mnt/planck-boot
|
||||||
R=/mnt/planck-root
|
R=/mnt/planck-root
|
||||||
mkdir -p $B $R
|
mkdir -p $B $R
|
||||||
mount /dev/${DEV}1 $B
|
for i in 1 2 3; do
|
||||||
mount /dev/${DEV}2 $R
|
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
|
# enable ssh on first boot
|
||||||
touch $B/ssh
|
touch $B/ssh
|
||||||
|
|||||||
Reference in New Issue
Block a user