summaryrefslogtreecommitdiffstats
path: root/perl-install/bootloader.pm
diff options
context:
space:
mode:
authorPascal Rigaux <pixel@mandriva.com>2005-07-01 07:02:06 +0000
committerPascal Rigaux <pixel@mandriva.com>2005-07-01 07:02:06 +0000
commit25b37aead024b635730b4c8cbc227250b0eecb34 (patch)
treec77a5c632b39cd9cff40f9263122df9ddee616d0 /perl-install/bootloader.pm
parentc3c070a106de6a7d46ec52dbda505a7b820f4bbb (diff)
downloaddrakx-backup-do-not-use-25b37aead024b635730b4c8cbc227250b0eecb34.tar
drakx-backup-do-not-use-25b37aead024b635730b4c8cbc227250b0eecb34.tar.gz
drakx-backup-do-not-use-25b37aead024b635730b4c8cbc227250b0eecb34.tar.bz2
drakx-backup-do-not-use-25b37aead024b635730b4c8cbc227250b0eecb34.tar.xz
drakx-backup-do-not-use-25b37aead024b635730b4c8cbc227250b0eecb34.zip
- lilo doesn't work on dmraid so forcing grub
- method_choices() now wants $all_hds instead of $fstab
Diffstat (limited to 'perl-install/bootloader.pm')
-rw-r--r--perl-install/bootloader.pm13
1 files changed, 8 insertions, 5 deletions
diff --git a/perl-install/bootloader.pm b/perl-install/bootloader.pm
index 4468e814c..a30d9bf9f 100644
--- a/perl-install/bootloader.pm
+++ b/perl-install/bootloader.pm
@@ -820,7 +820,7 @@ wait for default boot.
$bootloader->{default} ||= $preferred;
}
$bootloader->{default} ||= "linux";
- $bootloader->{method} ||= first(method_choices($fstab));
+ $bootloader->{method} ||= first(method_choices($all_hds));
}
sub detect_main_method {
@@ -870,13 +870,16 @@ sub method_choices_raw {
);
}
sub method_choices {
- my ($fstab) = @_;
+ my ($all_hds) = @_;
+ my $fstab = [ fs::get::fstab($all_hds) ];
my $root_part = fs::get::root($fstab);
+ my $boot_part = fs::get::root($fstab, 'boot');
+ my $boot_disk = fs::get::part2hd($boot_part, $all_hds);
grep {
- !(/lilo/ && isLoopback($root_part))
- && !(/lilo-graphic/ && detect_devices::matching_desc__regexp('ProSavageDDR'))
- && !(/grub/ && isRAID($root_part));
+ (!/lilo/ || !isLoopback($root_part) && !fs::type::is_dmraid($boot_disk))
+ && (!/lilo-graphic/ || !detect_devices::matching_desc__regexp('ProSavageDDR'))
+ && (!/grub/ || !isRAID($root_part));
} method_choices_raw(1);
}
sub main_method_choices {