diff options
-rw-r--r-- | perl-install/any.pm | 2 | ||||
-rw-r--r-- | perl-install/bootloader.pm | 12 |
2 files changed, 13 insertions, 1 deletions
diff --git a/perl-install/any.pm b/perl-install/any.pm index 5017ac753..823f0fdec 100644 --- a/perl-install/any.pm +++ b/perl-install/any.pm @@ -209,7 +209,7 @@ sub setupBootloader__general { }, [ { label => N("Bootloader to use"), val => \$b->{method}, list => \@method_choices, format => \&bootloader::method2text }, if_(arch() !~ /ia64/, - { label => N("Boot device"), val => \$b->{boot}, list => [ map { "/dev/$_" } (map { $_->{device} } (@{$all_hds->{hds}}, grep { !isFat_or_NTFS($_) } @$fstab)), detect_devices::floppies_dev() ], not_edit => !$::expert }, + { label => N("Boot device"), val => \$b->{boot}, list => [ map { "/dev/$_->{device}" } bootloader::allowed_boot_parts($b, $all_hds) ], not_edit => !$::expert }, ), { label => N("Delay before booting default image"), val => \$b->{timeout} }, { text => N("Enable ACPI"), val => \$force_acpi, type => 'bool' }, diff --git a/perl-install/bootloader.pm b/perl-install/bootloader.pm index e31249d9a..12b918474 100644 --- a/perl-install/bootloader.pm +++ b/perl-install/bootloader.pm @@ -310,6 +310,18 @@ sub suggest_onmbr { ($onmbr, $unsafe); } +sub allowed_boot_parts { + my ($bootloader, $all_hds) = @_; + ( + @{$all_hds->{hds}}, + if_($bootloader->{method} =~ /lilo/, + grep { $_ && $_->{level} eq '1' } @{$all_hds->{raids}} + ), + (grep { !isFat_or_NTFS($_) } fs::get::hds_fstab(@{$all_hds->{hds}})), + detect_devices::floppies(), + ); +} + sub same_entries { my ($a, $b) = @_; |