summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perl-install/ChangeLog6
-rw-r--r--perl-install/fs.pm2
-rw-r--r--perl-install/install_steps_interactive.pm14
-rw-r--r--perl-install/partition_table.pm4
4 files changed, 23 insertions, 3 deletions
diff --git a/perl-install/ChangeLog b/perl-install/ChangeLog
index bd65932a0..f94e66fd4 100644
--- a/perl-install/ChangeLog
+++ b/perl-install/ChangeLog
@@ -1,3 +1,9 @@
+2001/03/04 stew <sbenedict@mandrakesoft.com>
+
+ * diskdrake.pm, fs.pm, partition_table.pm isBootstrap -> isAppleBootstrap
+
+ * install_steps_interactive.pm - auto-add Apple Bootstrap - PPC
+
2001/03/03 Pixel <pixel@mandrakesoft.com>
* install_steps.pm, fsedit.pm, lvm.pm, standalone/diskdrake,
diff --git a/perl-install/fs.pm b/perl-install/fs.pm
index d3773a430..1bdea6721 100644
--- a/perl-install/fs.pm
+++ b/perl-install/fs.pm
@@ -126,7 +126,7 @@ sub real_format_part {
format_dos($part->{device}, @options, '-F', 32);
} elsif (isHFS($part)) {
format_hfs($part->{device}, @options, '-l', "Untitled");
- } elsif (isBootstrap($part)) {
+ } elsif (isAppleBootstrap($part)) {
format_hfs($part->{device}, @options, '-l', "bootstrap");
} elsif (isSwap($part)) {
my $check_blocks = grep { /^-c$/ } @options;
diff --git a/perl-install/install_steps_interactive.pm b/perl-install/install_steps_interactive.pm
index d9b75ac35..d08fb0efb 100644
--- a/perl-install/install_steps_interactive.pm
+++ b/perl-install/install_steps_interactive.pm
@@ -322,6 +322,20 @@ 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");
+ fsedit::add($hd, { start => $partition_table_mac'freepart_start, size => 1 << 11, type => 0x401, mntpoint => '' }, $o->{hds}, { force => 1, primaryOrExtended => 'Primary' });
+ } 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
diff --git a/perl-install/partition_table.pm b/perl-install/partition_table.pm
index 9211d68c3..eb134ffc6 100644
--- a/perl-install/partition_table.pm
+++ b/perl-install/partition_table.pm
@@ -6,7 +6,7 @@ package partition_table; # $Id$
@ISA = qw(Exporter);
%EXPORT_TAGS = (
- types => [ qw(type2name type2fs name2type fs2type isExtended isExt2 isReiserfs isTrueFS isSwap isDos isWin isFat isSunOS isOtherAvailableFS isPrimary isNfs isSupermount isLVM isRAID isMDRAID isLVMBased isHFS isNT isMountableRW isNonMountable isApplePartMap isLoopback isApple isBootstrap) ],
+ types => [ qw(type2name type2fs name2type fs2type isExtended isExt2 isReiserfs isTrueFS isSwap isDos isWin isFat isSunOS isOtherAvailableFS isPrimary isNfs isSupermount isLVM isRAID isMDRAID isLVMBased isHFS isNT isMountableRW isNonMountable isApplePartMap isLoopback isApple isAppleBootstrap) ],
);
@EXPORT_OK = map { @$_ } values %EXPORT_TAGS;
@@ -231,7 +231,7 @@ sub isNT($) { arch() !~ /^sparc/ && $_[0]{type} == 0x7 }
sub isSupermount($) { $_[0]{type} eq 'supermount' }
sub isHFS($) { $type2fs{$_[0]{type}} eq 'hfs' }
sub isApple($) { $type2fs{$_[0]{type}} eq 'apple' && defined $_[0]{isDriver} }
-sub isBootstrap($) { $type2fs{$_[0]{type}} eq 'apple' && defined $_[0]{isBoot} }
+sub isAppleBootstrap($) { $type2fs{$_[0]{type}} eq 'apple' && defined $_[0]{isBoot} }
sub isHiddenMacPart { defined $_[0]{isMap} }
sub isLoopback { defined $_[0]{loopback_file} }
sub isTrueFS { isExt2($_[0]) || isReiserfs($_[0]) }