summaryrefslogtreecommitdiffstats
path: root/perl-install
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install')
-rw-r--r--perl-install/install2.pm8
-rw-r--r--perl-install/install_any.pm4
-rw-r--r--perl-install/install_steps.pm10
3 files changed, 19 insertions, 3 deletions
diff --git a/perl-install/install2.pm b/perl-install/install2.pm
index 9ee903de0..5f62b3ac1 100644
--- a/perl-install/install2.pm
+++ b/perl-install/install2.pm
@@ -294,7 +294,6 @@ sub addUser {
#------------------------------------------------------------------------------
sub setupBootloader {
my ($_clicked, $ent_number, $auto) = @_;
- return if $::local_install;
$o->{modules_conf}->write;
@@ -341,6 +340,7 @@ sub start_i810fb() {
#- MAIN
#-######################################################################################
sub main {
+#- $SIG{__DIE__} = sub { warn "DIE " . backtrace() . "\n" };
$SIG{SEGV} = sub {
my $msg = "segmentation fault: seems like memory is missing as the install crashes"; log::l($msg);
$o->ask_warn('', $msg);
@@ -446,6 +446,12 @@ sub main {
require move;
move::init($o);
}
+ if ($::local_install) {
+ push @auto,
+ 'selectLanguage', 'selectKeyboard', 'miscellaneous',
+ 'selectInstallClass', 'doPartitionDisks', 'formatPartitions', 'setupBootloader';
+ fs::mount_usbfs(''); #- do it now so that when_load doesn't do it
+ }
cp_f(glob('/stage1/tmp/*'), '/tmp');
diff --git a/perl-install/install_any.pm b/perl-install/install_any.pm
index 46cfd2769..a44a98685 100644
--- a/perl-install/install_any.pm
+++ b/perl-install/install_any.pm
@@ -1567,7 +1567,7 @@ sub getHds {
$o->{all_hds} = $all_hds;
$o->{fstab} = [ fs::get::really_all_fstab($all_hds) ];
- fs::merge_info_from_mtab($o->{fstab});
+ fs::merge_info_from_mtab($o->{fstab}) if !$::local_install;
my @win = grep { isFat_or_NTFS($_) && maybeFormatted($_) && !$_->{is_removable} } @{$o->{fstab}};
log::l("win parts: ", join ",", map { $_->{device} } @win) if @win;
@@ -1784,7 +1784,7 @@ my $clp_name = 'mdkinst.clp';
sub clp_on_disk() { "$::prefix/tmp/$clp_name" }
sub move_clp_to_disk() {
- return if -e clp_on_disk();
+ return if -e clp_on_disk() || $::local_install;
my ($loop, $current_clp) = devices::find_clp_loop($clp_name) or return;
log::l("move_clp_to_disk: copying $current_clp to ", clp_on_disk());
diff --git a/perl-install/install_steps.pm b/perl-install/install_steps.pm
index 2aa5e9643..7749aa851 100644
--- a/perl-install/install_steps.pm
+++ b/perl-install/install_steps.pm
@@ -201,6 +201,14 @@ sub doPartitionDisksAfter {
if !$o->{isUpgrade};
$o->{fstab} = [ fs::get::fstab($o->{all_hds}) ];
+
+ if ($::local_install) {
+ my $p = fs::get::mntpoint2part($::prefix, [ fs::read_fstab('', '/proc/mounts') ]);
+ my $part = fs::get::device2part($p->{device}, $o->{fstab});
+ $part->{mntpoint} = '/';
+ $part->{isMounted} = 1;
+ }
+
fs::get::root_($o->{fstab}) or die "Oops, no root partition";
if (arch() =~ /ppc/ && detect_devices::get_mac_generation() =~ /NewWorld/) {
@@ -262,6 +270,8 @@ sub rebootNeeded($) {
sub choosePartitionsToFormat($$) {
my ($_o, $fstab) = @_;
+ return if $::local_install;
+
foreach (@$fstab) {
$_->{mntpoint} = "swap" if isSwap($_);
$_->{mntpoint} or next;