diff --git a/misc/swraid b/misc/swraid index 1391d8c8..e7860d47 100644 --- a/misc/swraid +++ b/misc/swraid @@ -7,17 +7,24 @@ 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 -mdadm -C /dev/md/raid $DEVICES -n $NUMDEVS -e 1.0 -l $RAIDLEVEL +mdadm -C /dev/md/raid $DEVICES -n $NUMDEVS -e 1.0 -l $RAIDLEVEL -b internal # shut and restart array to prime things for anaconda 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