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=



Reply via email to