tags 273960 + patch thanks > If I install with root on software raid1, os-prober sees the component > drives as separate linux installs. If one is a spare, linux-os-prober > probably cannot mount it to work out how to boot it. Otherwise, it > thinks it figures this out. Amusing results in grub-installer either > way.
Hi Joey, Here's a possible patch for this issue. I've not yet committed it because I wanted to see if you like the idea first. Please let me know and I'll commit. What I do is skip any partitions that are part of a software raid array. Tested. Cheers, Frans
Index: os-prober =================================================================== --- os-prober (revision 25185) +++ os-prober (working copy) @@ -7,6 +7,24 @@ find /dev/discs/ -follow -type b | grep /part } +test_raid () { + [ -f /proc/mdstat ] || return 1 + + disk=$(echo $1 | cut -d"/" -f1-4) + [ -z "$disk" ] && return 1 + part=$(echo $1 | sed "s:$disk::") + + realdev=$(readlink $disk | sed "s:^\.\./::") + [ -z "$realdev" ] && return 1 + + if grep -q "^md.*$realdev$part" /proc/mdstat ; then + debug "$1: part of software raid array" + return 0 + else + return 1 + fi +} + for prog in /usr/lib/os-probes/init/*; do if [ -x $prog ] && [ -f $prog ]; then debug "running init $prog" @@ -15,6 +33,9 @@ done for partition in $(partitions); do + # Skip partitions used in software RAID arrays + test_raid $partition && continue + if ! grep -q "^$partition " /proc/mounts; then for test in /usr/lib/os-probes/*; do if [ -x $test ] && [ -f $test ]; then