Prüfe neue Partitionsgrößen vor USB-Schreibzugriff
Some checks failed
Tests / test (push) Has been cancelled
Some checks failed
Tests / test (push) Has been cancelled
This commit is contained in:
@@ -38,11 +38,20 @@ wipefs -a "$DEVICE" >/dev/null
|
||||
sgdisk -n 1:2048:+2M -t 1:ef02 -c 1:BIOS_GRUB "$DEVICE"
|
||||
sgdisk -n 2:0:+7G -t 2:ef00 -c 2:INTAKE_BOOT "$DEVICE"
|
||||
sgdisk -n 3:0:0 -t 3:8300 -c 3:INTAKE_DATA "$DEVICE"
|
||||
partprobe "$DEVICE" || true
|
||||
udevadm settle
|
||||
if [[ "$DEVICE" =~ [0-9]$ ]]; then p2="${DEVICE}p2"; p3="${DEVICE}p3"; else p2="${DEVICE}2"; p3="${DEVICE}3"; fi
|
||||
for i in {1..10}; do [[ -b "$p3" ]] && break; sleep 1; done
|
||||
[[ -b "$p3" ]] || { echo 'Partitions not visible after repartition.' >&2; exit 1; }
|
||||
for i in {1..10}; do
|
||||
blockdev --rereadpt "$DEVICE" 2>/dev/null || true
|
||||
partprobe "$DEVICE" 2>/dev/null || true
|
||||
udevadm settle
|
||||
p2_size=$(blockdev --getsize64 "$p2" 2>/dev/null || echo 0)
|
||||
p3_size=$(blockdev --getsize64 "$p3" 2>/dev/null || echo 0)
|
||||
((p2_size >= 7*1024*1024*1024 && p3_size >= 4*1024*1024*1024)) && break
|
||||
sleep 1
|
||||
done
|
||||
((p2_size >= 7*1024*1024*1024 && p3_size >= 4*1024*1024*1024)) || {
|
||||
echo 'Kernel still reports stale partition sizes; reconnect the USB and retry.' >&2
|
||||
exit 1
|
||||
}
|
||||
mkfs.vfat -F32 -n INTAKE_BOOT "$p2"
|
||||
mkfs.ext4 -F -L INTAKE_DATA "$p3"
|
||||
TMP=$(mktemp -d)
|
||||
|
||||
Reference in New Issue
Block a user