diff options
-rw-r--r-- | perl-install/fsedit.pm | 4 | ||||
-rw-r--r-- | perl-install/partition_table.pm | 5 |
2 files changed, 9 insertions, 0 deletions
diff --git a/perl-install/fsedit.pm b/perl-install/fsedit.pm index 5269ea25e..ad73e45c8 100644 --- a/perl-install/fsedit.pm +++ b/perl-install/fsedit.pm @@ -128,6 +128,10 @@ sub add($$$) { ($part->{mntpoint} = 'swap') : check_mntpoint($part->{mntpoint}, $hds); + $part->{mntpoint} eq '/boot' && + $part->{start} + $part->{size} >= 1024 * partition_table::cylinder_size($hd) and + die "/boot on cylinder > 1024"; + partition_table::add($hd, $part); } diff --git a/perl-install/partition_table.pm b/perl-install/partition_table.pm index a9f20cd10..8ea4744bc 100644 --- a/perl-install/partition_table.pm +++ b/perl-install/partition_table.pm @@ -276,6 +276,11 @@ sub remove($$) { %{$last->{extended}} = $_->{extended} ? %{$_->{extended}} : (); splice(@{$hd->{extended}}, $i, 1); + unless (@{$hd->{extended}}) { + %{$hd->{primary}->{extended}} = (); + delete $hd->{primary}->{extended}; + } + return $hd->{isDirty} = $hd->{needKernelReread} = 1; } $last = $_; |