From 8c74a52f0188a92a30b6483c909e169488f66e97 Mon Sep 17 00:00:00 2001 From: Denis Stoecklmeier Date: Thu, 15 Oct 2026 09:08:28 +0200 Subject: [PATCH] =?UTF-8?q?Pr=C3=BCfe=20neue=20Partitionsgr=C3=B6=C3=9Fen?= =?UTF-8?q?=20vor=20USB-Schreibzugriff?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/install-usb.sh | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/scripts/install-usb.sh b/scripts/install-usb.sh index d3e43f0..d70cd07 100755 --- a/scripts/install-usb.sh +++ b/scripts/install-usb.sh @@ -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)