diff --git a/misc/swraid b/misc/swraid index bb176a3f..e7860d47 100644 --- a/misc/swraid +++ b/misc/swraid @@ -7,6 +7,7 @@ NUMDEVS=$(for dev in $DEVICES; do echo wipefs -a -f $dev done|wc -l) for dev in $DEVICES; do + mdadm --zero-superblock $dev wipefs -a -f $dev done # must use older metadata format to leave disks looking normal for uefi @@ -15,9 +16,15 @@ mdadm -C /dev/md/raid $DEVICES -n $NUMDEVS -e 1.0 -l $RAIDLEVEL -b internal mdadm -S -s mdadm --assemble --scan ) -while [ ! -e /dev/md/raid ]; do +while :; do + # newer mdraid verions might have : + TARGET_RAID=$(ls /dev/md/raid /dev/md/*:raid 2>/dev/null | head -n 1) + + [ -n "$TARGET_RAID" ] && break + echo 'Waiting on array to be linked...' sleep 0.5 done -readlink /dev/md/raid|sed -e 's/.*\///' > /tmp/installdisk +# Extract the underlying block device name (e.g., md127) using the captured path +readlink "$TARGET_RAID" | sed -e 's/.*\///' > /tmp/installdisk