Frans Pop ha scritto: > improvement before it can be merged. Before it gets merged I'd like to > see a dual boot with Windows tested as well.
Unfortunately I haven't a dual boot with Windows for testing. > As this whole section is Linux-specific, I don't really like it being > outside the 'case' statement. If it remains outside, it should start > with a test for host_os. Why is Linux-specific ? I think the missing root option is for other OS on dmraid in general, not only for Linux OS on dmraid > Note that in other places we use 'dmraid -s -c'. Is there a real > difference? Consistency is important! -sa displays only active raid sets, I think you should use -sa also in other place. > Why not just set tmp_part instead of tmp_satadevn in the first hunk? Then this > whole hunk would not be needed. Right, attached the new debdiff Giuseppe.
diff -Nru grub-installer-1.34/debian/changelog grub-installer-1.35/debian/changelog --- grub-installer-1.34/debian/changelog 2008-09-22 02:47:51.000000000 +0200 +++ grub-installer-1.35/debian/changelog 2008-09-25 14:12:22.000000000 +0200 @@ -1,3 +1,11 @@ +grub-installer (1.35) unstable; urgency=low + + [Giuseppe Iuculano] + * Fix root detection in menu.lst for dmraid devices discovered by os-prober + (Closes: #500079) + + -- Giuseppe Iuculano <[EMAIL PROTECTED]> Thu, 25 Sep 2008 14:10:33 +0200 + grub-installer (1.34) unstable; urgency=low [ Frans Pop ] diff -Nru grub-installer-1.34/grub-installer grub-installer-1.35/grub-installer --- grub-installer-1.34/grub-installer 2008-09-21 22:25:25.000000000 +0200 +++ grub-installer-1.35/grub-installer 2008-09-25 14:35:09.000000000 +0200 @@ -135,6 +135,21 @@ tmp_drive=$(grep -v '^#' $device_map | grep "$tmp_disk *$" | \ sed 's%.*\(([hf]d[0-9][a-g0-9,]*)\).*%\1%') + # If not found, check if it is a SATA RAID partition, and set tmp_drive and tmp_part + if type dmraid >/dev/null 2>&1 && [ -z "$tmp_drive" ]; then + for frdisk in $(dmraid -sa -c | grep -v "No RAID disks"); do + if echo "$(basename $tmp_disk)" | grep -q "$frdisk"; then + for raiddisk in $(dmraid -r -c | grep -v "No RAID disks"); do + if [ $(dmraid -r -cr $raiddisk)=$frdisk ]; then + tmp_drive=$(grep -v '^#' $device_map | grep "$raiddisk *$" | \ + sed 's%.*\(([hf]d[0-9][a-g0-9,]*)\).*%\1%') + tmp_part=$(basename $tmp_disk | sed "s%$frdisk%%") + fi + done + fi + done + fi + # If not found, print an error message and exit if [ -z "$tmp_drive" ]; then echo "$1 does not have any corresponding BIOS drive." 1>&2
signature.asc
Description: OpenPGP digital signature