diff options
Diffstat (limited to 'perl-install/partition_table')
-rw-r--r-- | perl-install/partition_table/empty.pm | 4 | ||||
-rw-r--r-- | perl-install/partition_table/raw.pm | 22 |
2 files changed, 15 insertions, 11 deletions
diff --git a/perl-install/partition_table/empty.pm b/perl-install/partition_table/empty.pm index e5d3c5685..fb2d8ada3 100644 --- a/perl-install/partition_table/empty.pm +++ b/perl-install/partition_table/empty.pm @@ -1,7 +1,7 @@ package partition_table::empty; # $Id$ #- this is a mainly dummy partition table. If we find it's empty, we just call - -#- zero_MBR which will take care of bless'ing us to the partition table type best +#- ->clear which will take care of bless'ing us to the partition table type best #- suited @@ -28,7 +28,7 @@ sub read_one { sysread $F, $tmp, 1024 or die "error reading magic number on disk $hd->{device}"; $tmp eq substr($tmp, 0, 1) x 1024 or die "bad magic number on disk $hd->{device}"; - partition_table::raw::zero_MBR($hd); + partition_table::raw::clear($hd); $hd->{primary}{raw}, $hd->{primary}{info}; } diff --git a/perl-install/partition_table/raw.pm b/perl-install/partition_table/raw.pm index 3a3ffd43d..95317cf72 100644 --- a/perl-install/partition_table/raw.pm +++ b/perl-install/partition_table/raw.pm @@ -212,15 +212,18 @@ sub default_type { my $type = arch() =~ /ia64/ ? 'gpt' : arch() eq "alpha" ? "bsd" : arch() =~ /^sparc/ ? "sun" : arch() eq "ppc" ? "mac" : "dos"; #- override standard mac type on PPC for IBM machines to dos $type = "dos" if arch() =~ /ppc/ && detect_devices::get_mac_model() =~ /^IBM/; - require "partition_table/$type.pm"; - "partition_table::$type"; + $type; } -sub zero_MBR { - my ($hd) = @_; - #- force the standard partition type for the architecture - my $type = default_type(); - $type->initialize($hd); +sub zero_MBR { &clear } #- deprecated +sub clear { + my ($hd, $o_type) = @_; + + my $type = $o_type || default_type(); + + require "partition_table/$type.pm"; + "partition_table::$type"->initialize($hd); + delete $hd->{extended}; if (detect_devices::is_xbox()) { my $part = { start => 1, size => 15632048, pt_type => 0x0bf, isFormatted => 1 }; @@ -235,10 +238,11 @@ sub clear_existing { partition_table::will_tell_kernel($hd, del => $_) foreach @parts; } -sub zero_MBR_and_dirty { +sub zero_MBR_and_dirty { &clear_and_dirty } #- deprecated +sub clear_and_dirty { my ($hd) = @_; $hd->clear_existing; - zero_MBR($hd); + clear($hd); } sub read_primary { |