diff options
Diffstat (limited to 'perl-install/install_steps.pm')
-rw-r--r-- | perl-install/install_steps.pm | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/perl-install/install_steps.pm b/perl-install/install_steps.pm index 5abd53cff..7d3b00e03 100644 --- a/perl-install/install_steps.pm +++ b/perl-install/install_steps.pm @@ -17,6 +17,7 @@ use raid; use keyboard; use log; use fsedit; +use loopback; use commands; use network; use any; @@ -157,7 +158,9 @@ sub choosePartitionsToFormat($$) { $_->{mntpoint} or next; unless ($_->{toFormat} = $_->{notFormatted} || $o->{partitioning}{autoformat}) { - my $t = fsedit::typeOfPart($_->{device}); + my $t = isLoopback($_) ? + eval { fsedit::typeOfPart($o->{prefix} . loopback::file($_)) } : + fsedit::typeOfPart($_->{device}); $_->{toFormatUnsure} = $_->{mntpoint} eq "/" || #- if detected dos/win, it's not precise enough to just compare the types (too many of them) (isFat({ type => $t }) ? !isFat($_) : $t != $_->{type}); @@ -655,8 +658,10 @@ sub setupBootloader($) { } elsif (arch() =~ /^sparc/) { silo::install($o->{prefix}, $o->{bootloader}); } else { - lilo::install_grub($o->{prefix}, $o->{bootloader}, $o->{fstab}); - lilo::install($o->{prefix}, $o->{bootloader}, $o->{fstab}); + eval { lilo::install($o->{prefix}, $o->{bootloader}, $o->{fstab}) }; + my $err = $@; + eval { lilo::install_grub($o->{prefix}, $o->{bootloader}, $o->{fstab}) }; + die if $err; } } |