summaryrefslogtreecommitdiffstats
path: root/perl-install/install_any.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/install_any.pm')
-rw-r--r--perl-install/install_any.pm23
1 files changed, 18 insertions, 5 deletions
diff --git a/perl-install/install_any.pm b/perl-install/install_any.pm
index 04f3279a0..8d838a790 100644
--- a/perl-install/install_any.pm
+++ b/perl-install/install_any.pm
@@ -246,8 +246,8 @@ sub spawnShell {
ioctl(STDIN, c::TIOCSCTTY(), 0) or warn "could not set new controlling tty: $!";
- my $busybox = "/usr/bin/busybox";
- exec { -e $busybox ? $busybox : "/bin/sh" } "/bin/sh" or log::l("exec of /bin/sh failed: $!");
+ my ($busybox, $bash) = ("/usr/bin/busybox", "/usr/bin/bash");
+ exec { -x $busybox ? $busybox : -x $bash ? $bash : "/bin/sh" } "/bin/sh" or log::l("exec of /bin/sh failed: $!");
}
sub getAvailableSpace {
@@ -379,7 +379,7 @@ sub setDefaultPackages {
$o->{compssUsersChoice}{USB} = 1 if modules::get_probeall("usb-interface");
$o->{compssUsersChoice}{PCMCIA} = 1 if detect_devices::hasPCMCIA();
$o->{compssUsersChoice}{HIGH_SECURITY} = 1 if $o->{security} > 3;
- $o->{compssUsersChoice}{BIGMEM} = 1 if !$::oem && (availableRamMB() > 800) && (arch() !~ /ia64/);
+ $o->{compssUsersChoice}{BIGMEM} = 1 if !$::oem && (availableRamMB() > 800) && (arch() !~ /ia64|x86_64/);
$o->{compssUsersChoice}{SMP} = 1 if detect_devices::hasSMP();
$o->{compssUsersChoice}{CDCOM} = 1 if grep { $_->{descr} =~ /commercial/i } values %{$o->{packages}{mediums}};
$o->{compssUsersChoice}{'3D'} = 1 if
@@ -776,6 +776,7 @@ sub getAndSaveInstallFloppy {
cp_af("$postinstall_rpms/auto_install.img", $where);
} else {
my $image = cat_("/proc/cmdline") =~ /pcmcia/ ? "pcmcia" :
+ arch() =~ /ia64|ppc/ ? "all" : #- we only use all.img there
${{ disk => 'hd', cdrom => 'cdrom', ftp => 'network', nfs => 'network', http => 'network' }}{$o->{method}};
$image .= arch() =~ /sparc64/ && "64"; #- for sparc64 there are a specific set of image.
getAndSaveFile("images/$image.img", $where) or log::l("failed to write Install Floppy ($image.img) to $where"), return;
@@ -1041,11 +1042,23 @@ sub getHds {
$o->{fstab} = [ fsedit::get_all_fstab($all_hds) ];
fs::merge_info_from_mtab($o->{fstab});
+ #- Search for EFI partitions
+ my @efi = grep { isEfi($_) && isFat({ type => fsedit::typeOfPart($_->{device}) }) } @{$o->{fstab}};
+ log::l("efi parts: ", join ",", map { $_->{device} } @efi) if @efi;
+ if (@efi == 1) {
+ $efi[0]{mntpoint} = "/boot/efi";
+ } else {
+ my $v = 0;
+ foreach (@efi) {
+ $_->{mntpoint} = $_->{unsafeMntpoint} = "/mnt/efi_" . ($v ? $v+1 : '');
+ $v = $v + 1;
+ }
+ }
+
my @win = grep { isFat($_) && isFat({ type => fsedit::typeOfPart($_->{device}) }) } @{$o->{fstab}};
log::l("win parts: ", join ",", map { $_->{device} } @win) if @win;
if (@win == 1) {
- #- Suggest /boot/efi on ia64.
- $win[0]{mntpoint} = arch() =~ /ia64/ ? "/boot/efi" : "/mnt/windows";
+ $win[0]{mntpoint} = "/mnt/windows";
} else {
my %w; foreach (@win) {
my $v = $w{$_->{device_windobe}}++;