diff options
Diffstat (limited to 'perl-install')
-rw-r--r-- | perl-install/install2.pm | 8 | ||||
-rw-r--r-- | perl-install/install_any.pm | 4 | ||||
-rw-r--r-- | perl-install/install_steps.pm | 10 |
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; |