From 00a82977c8064bf4b18601b7f3a71e9124b56c20 Mon Sep 17 00:00:00 2001 From: Stew Benedict Date: Fri, 25 May 2001 02:40:28 +0000 Subject: add hfs support to rescue - PPC, fix bootstrap creation, formatting sequence --- perl-install/bootloader.pm | 7 ++++-- perl-install/install_steps_interactive.pm | 36 +++++++++++++++---------------- 2 files changed, 23 insertions(+), 20 deletions(-) (limited to 'perl-install') diff --git a/perl-install/bootloader.pm b/perl-install/bootloader.pm index da26c5672..a7758e897 100644 --- a/perl-install/bootloader.pm +++ b/perl-install/bootloader.pm @@ -504,9 +504,12 @@ sub install_yaboot($$$) { } log::l("Installing boot loader..."); my $f = "$prefix/tmp/of_boot_dev"; - my $of_dev = get_of_dev($prefix, $lilo->{boot}); - output($f, "$of_dev\n"); + my $of_dev = get_of_dev($prefix, $lilo->{boot}); + output($f, "$of_dev\n"); $::testing and return; + if (defined $install_steps_interactive::new_bootstrap) { + run_program::run("hformat", "$lilo->{boot}") or die "hformat failed"; + } run_program::rooted($prefix, "/sbin/ybin", "2>", "/tmp/.error") or die "ybin failed"; unlink "$prefix/tmp/.error"; } diff --git a/perl-install/install_steps_interactive.pm b/perl-install/install_steps_interactive.pm index 20bcd80de..8a9ddf769 100644 --- a/perl-install/install_steps_interactive.pm +++ b/perl-install/install_steps_interactive.pm @@ -3,7 +3,7 @@ package install_steps_interactive; # $Id$ use diagnostics; use strict; -use vars qw(@ISA); +use vars qw(@ISA $new_bootstrap); @ISA = qw(install_steps); @@ -336,23 +336,23 @@ Do you agree to loose all the partitions? _("DiskDrake failed to read correctly the partition table. Continue at your own risk!")); - if (arch() =~ /ppc/ && !$::expert) { #- need to make bootstrap part if recommended install - thx Pixel ;^) - if (defined $partition_table_mac::bootstrap_part) { - #- don't do anything if we've got the bootstrap setup - #- otherwise, go ahead and create one somewhere in the drive free space - } else { - if (defined $partition_table_mac::freepart_start && $partition_table_mac::freepart_size >= 1) { - my ($hd) = $partition_table_mac::freepart_device; - log::l("creating bootstrap partition on drive /dev/$hd->{device}, block $partition_table_mac::freepart_start"); - $partition_table_mac::bootstrap_part = $partition_table_mac::freepart_part; - log::l("bootstrap now at $partition_table_mac::bootstrap_part"); - fsedit::add($hd, { start => $partition_table_mac::freepart_start, size => 1 << 11, type => 0x401, mntpoint => '' }, $o->{hds}, { force => 1, primaryOrExtended => 'Primary' }); - run_program::run("hformat", $partition_table_mac::bootstrap_part) or die "hformat of $partition_table_mac::bootstrap_part failed"; - } else { - die "no free space for 1MB bootstrap"; - } - } + if (arch() =~ /ppc/) { #- need to make bootstrap part if recommended install - thx Pixel ;^) + if (defined $partition_table_mac::bootstrap_part) { + #- don't do anything if we've got the bootstrap setup + #- otherwise, go ahead and create one somewhere in the drive free space + } else { + if (defined $partition_table_mac::freepart_start && $partition_table_mac::freepart_size >= 1) { + my ($hd) = $partition_table_mac::freepart_device; + log::l("creating bootstrap partition on drive /dev/$hd->{device}, block $partition_table_mac::freepart_start"); + $partition_table_mac::bootstrap_part = $partition_table_mac::freepart_part; + log::l("bootstrap now at $partition_table_mac::bootstrap_part"); + fsedit::add($hd, { start => $partition_table_mac::freepart_start, size => 1 << 11, type => 0x401, mntpoint => '' }, $o->{hds}, { force => 1, primaryOrExtended => 'Primary' }); + $new_bootstrap = 1; + } else { + die "no free space for 1MB bootstrap"; + } } + } if ($o->{isUpgrade}) { # either one root is defined (and all is ok), or we take the first one we find @@ -1027,7 +1027,7 @@ try to force installation even if that destroys the first partition?")); my $of_boot = cat_("$o->{prefix}/tmp/of_boot_dev") || die "Can't open $o->{prefix}/tmp/of_boot_dev"; chop($of_boot); unlink "$o->{prefix}/tmp/.error"; - $o->ask_warn('', _("You may need to change your Open Firmware boot-device to\n enable the bootloader. If you don't see the bootloader prompt at\n reboot, hold down Command-Option-O-F at reboot and enter:\n setenv boot-device $of_boot,\\\\tbxi\n Then type: shut-down\nAt your next boot you should see the bootloader prompt.")); + $o->ask_warn('', _("You may need to change your Open Firmware boot-device to\n enable the bootloader. If you don't see the bootloader prompt at\n reboot, hold down Command-Option-O-F at reboot and enter:\n setenv boot-device $of_boot,\\\\yaboot\n Then type: shut-down\nAt your next boot you should see the bootloader prompt.")); } } } -- cgit v1.2.1