summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perl-install/Xconfigurator.pm5
-rw-r--r--perl-install/partition_table.pm28
2 files changed, 22 insertions, 11 deletions
diff --git a/perl-install/Xconfigurator.pm b/perl-install/Xconfigurator.pm
index 5714fcc28..add16c516 100644
--- a/perl-install/Xconfigurator.pm
+++ b/perl-install/Xconfigurator.pm
@@ -207,6 +207,11 @@ sub cardConfiguration(;$$$) {
$card->{type} =~ /SiS / ||
$card->{type} =~ /S3 ViRGE/ ||
$card->{type} =~ /Intel 810/));
+ #- hack for ATI Mach64 card where two options should be used if using Utah-GLX.
+ if ($card->{type} =~ /ATI Mach64/) {
+ $card->{options}{no_font_cache} = $card->{Utah_glx};
+ $card->{options}{no_pixmap_cache} = $card->{Utah_glx};
+ }
#- 3D acceleration configuration for X version 4 using DRI, this is enabled by default
#- but for some there is a need to specify VideoRam (else it won't run).
diff --git a/perl-install/partition_table.pm b/perl-install/partition_table.pm
index 03a3c9624..9d13745d5 100644
--- a/perl-install/partition_table.pm
+++ b/perl-install/partition_table.pm
@@ -368,18 +368,24 @@ sub get_holes($) {
sub read_one($$) {
my ($hd, $sector) = @_;
-
my ($pt, $info);
- #- SUN bioses may blank disk or refuse to load it if the partition is unknown.
- my @parttype = arch() =~ /^sparc/ ? ('sun', 'bsd', 'unknown') : ('dos', 'bsd', 'sun', 'mac', 'unknown');
- foreach ('empty', @parttype) {
- /unknown/ and die "unknown partition table format";
- eval {
- bless $hd, "partition_table_$_";
- ($pt, $info) = $hd->read($sector);
- log::l("found a $_ partition table on $hd->{file}");
- };
- $@ or last;
+
+ #- it can be safely considered that the first sector is used to probe the partition table
+ #- but other sectors (typically for extended partition ones) have to match this type!
+ if (!$sector) {
+ my @parttype = arch() =~ /^sparc/ ? ('sun', 'bsd', 'unknown') : ('dos', 'bsd', 'sun', 'mac', 'unknown');
+ foreach ('empty', @parttype) {
+ /unknown/ and die "unknown partition table format";
+ eval {
+ bless $hd, "partition_table_$_";
+ ($pt, $info) = $hd->read($sector);
+ log::l("found a $_ partition table on $hd->{file} at sector $sector");
+ };
+ $@ or last;
+ }
+ } else {
+ #- keep current blessed object for that, this means it is neccessary to read sector 0 before.
+ ($pt, $info) = $hd->read($sector);
}
my @extended = $hd->hasExtended ? grep { isExtended($_) } @$pt : ();