On Wed, 12 Sep 2001, Todd Inglett wrote:
> Stew Benedict wrote:
>
> >That's pretty much where we left off. You were my only test case on IBM
> >hardware and you sort of disappeared on my during the beta. I think what
> >is happening is that drakx detects the architecture, then in the
> >partitioning scheme, jumps to an appropriate piece of code:
> >
> Yeah...sorry about that. It got pretty busy around here :(
>
> Anyway, I think the thing to check is /proc/cpuinfo where machine
> contains "IBM". That should be safe for macs and I'm pretty sure IBM is
> in the string for all IBM boxes (including ppc64).
>
> >This is going to be further complicated as I had to put a number of things
> >into diskdrake to deal with the way the Mac partition table also assigns
> >device numbers to "holes", which are all keyed off of an:
> >
> >if arch() =~ ppc
> >
> >Which would be true in your case, but not the desired behavior, so I'd
> >need to check not only the arch but the machine type.
> >
> I am starting to hack this now but need to learn a little about the
> code. I am hacking and net booting so the cycle isn't too bad. I
> worked around the "hole" problem, but now it is still complaining about
> bad magic numbers. How does "partition_table_empty.pm" get executed?
> Must be indirect...
>
Here's where I think you're going to need to make a change:
(partition_table_raw.pm)
sub zero_MBR {
my ($hd) = @_;
#- force the standard partition type for the architecture
my $type = arch() eq "alpha" ? "bsd" : arch() =~ /^sparc/ ? "sun" : \
arch() eq "ppc" ? "mac" : "dos";
require("partition_table_$type.pm");
bless $hd, "partition_table_$type";
$hd->{primary} = $hd->clear_raw();
delete $hd->{extended};
}
What you may be able to do is use "get_mac_model" and change $type to dos:
sub zero_MBR {
my ($hd) = @_;
#- force the standard partition type for the architecture
my $type = arch() eq "alpha" ? "bsd" : arch() =~ /^sparc/ ? "sun" : \
arch() eq "ppc" ? "mac" : "dos";
#- IBM PPC machines use DOS partition table
$type = "dos" if (detect_devices::get_mac_model =~ /^IBM/);
require("partition_table_$type.pm");
bless $hd, "partition_table_$type";
$hd->{primary} = $hd->clear_raw();
delete $hd->{extended};
}
I can't test this right now as the current CVS doesn't even run on PPC =(
PS - I did cobble together a script yesterday that seemed to be able to
brute force install a list of RPM's. Does anyone have a ddebug.log (in
/root) from a standard install of the final release?
Stew Benedict
--
MandrakeSoft OH/TN, USA http://perso.mandrakesoft.com/~sbenedict/
PPC Faq: http://marc.theaimsgroup.com/?l=mandrake-cooker-ppc&m=99441208917647&w=