summaryrefslogtreecommitdiffstats
path: root/perl-install/install_steps.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/install_steps.pm')
-rw-r--r--perl-install/install_steps.pm11
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;
}
}