Hi Michael, Michael Tautschnig wrote: > Hmm, according to GRUB docs it may or may not be able to use RAID devices > directly, and alas set them up as appropriate; it will certainly depend on the > GRUB version, newer versions should be able to do this. > > I thus committed version r4869, which does set the BOOT_* variables in all > cases, but uses the RAID/LVM device names, and does (for now) not resolve them > to the underlying disk partitions. > I did not have the time to check this sooner. I check out Revision 4871 and had to fix these small errors first:
Index: lib/fstab.pm =================================================================== --- lib/fstab.pm (revision 3638) +++ lib/fstab.pm (working copy) @@ -207,7 +207,7 @@ # according to http://grub.enbug.org/LVMandRAID, this should work... # if the mount point is / or /boot, the variables should be set, unless # they are already - if ($p_ref->{mountpoint} eq "/boot" || ($p_ref->{mountpoint} eq "/" && + if ($l_ref->{mountpoint} eq "/boot" || ($l_ref->{mountpoint} eq "/" && !defined ($FAI::disk_var{BOOT_PARTITION}))) { # set the BOOT_DEVICE and BOOT_PARTITION variables, if necessary $FAI::disk_var{BOOT_PARTITION} = $device_name; @@ -239,10 +239,10 @@ # according to http://grub.enbug.org/LVMandRAID, this should work... # if the mount point is / or /boot, the variables should be set, unless # they are already - if ($p_ref->{mountpoint} eq "/boot" || ($p_ref->{mountpoint} eq "/" && + if ($r_ref->{mountpoint} eq "/boot" || ($r_ref->{mountpoint} eq "/" && !defined ($FAI::disk_var{BOOT_PARTITION}))) { # set the BOOT_DEVICE and BOOT_PARTITION variables, if necessary - $FAI::disk_var{BOOT_PARTITION} = "$device_name" + $FAI::disk_var{BOOT_PARTITION} = "$device_name"; ($c =~ /^PHY_(.+)$/) or &FAI::internal_error("unexpected mismatch"); defined ($FAI::disk_var{BOOT_DEVICE}) or $FAI::disk_var{BOOT_DEVICE} = "$device_name"; Index: lib/commands.pm =================================================================== --- lib/commands.pm (revision 3638) +++ lib/commands.pm (working copy) @@ -95,7 +95,7 @@ my ($device, $partition) = @_; - return $device unless $part->{encrypt}; + return $device unless $partition->{encrypt}; # encryption requested, rewrite the device name my $enc_dev_name = $device; Then setup-storage runs but I get: INTERNAL ERROR in setup-storage: unexpected mismatch while doing "mkfs.xfs -f /dev/system/tmp". The mkfs itself succeeds without errors but setup-storage stops afterwards and does not create disk_var.sh. FYI: The RAIDs are not recreated as I did not erase their superblocks but as the disk layout did not change this should not matter (or does it?). Regards, Christopher -- Christopher Huhn Linux therapist Gesellschaft für Schwerionenforschung mbH Planckstraße 1 D-64291 Darmstadt http://www.gsi.de/ Handelsregister: Amtsgericht Darmstadt, HRB 1528 Geschäftsführer: Professor Dr. Horst Stöcker Vorsitzende des Aufsichtsrates: Dr. Beatrix Vierkorn-Rudolph, Stellvertreter: Ministerialdirigent Dr. Rolf Bernhardt