bug-grub
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Multiboot specification for PowerPC


From: Marco Gerards
Subject: Re: Multiboot specification for PowerPC
Date: Mon, 02 Aug 2004 11:56:31 +0200
User-agent: Gnus/5.1006 (Gnus v5.10.6) Emacs/21.3 (gnu/linux)

Peter Bruin <address@hidden> writes:

> Marco Gerards <address@hidden> wrote:
>
>> Peter Bruin <address@hidden> writes:
>> 
>> > How is the state of things on a multiboot specification for the
>> > PowerPC and other architectures?  I saw there is a file
>> > powerpc/ieee1275/multiboot.h in the GRUB 2 CVS source, but that's just
>> > a copy of the i386 version.  If anybody has thoughts on it, I'd like
>> > to hear them, otherwise I'm interested in trying something myself. 
>> 
>> It is on my todo.  And not just for the PPC, but something more
>> generic.  It needs some discussion of course.
>
> OK, then it's probably not such a good idea to try to invent something myself 
> in
> the meantime.  The only important idea I had on this was probably something 
> like
> this: define flags in the multiboot header for the kernel to request certain
> kinds of information (memory maps, devices (OpenFirmware tree), modules) and 
> to
> have a multiboot info structure containing (pointers to) the data requested by
> the multiboot header.  This seems to be somewhat like the original multiboot,
> only more consistent; but since I have no experience at all with multiboot, 
> I'm
> not sure how well it would work.

The idea people had for the portable multiboot spec is to have a
tagged item list.  So you can say the value of BOOTDEV is 0x80 on the
PC.  Or that the open firmware entry point is 0x123456789 or so.

So we will need some architecture specific information anyway.  If you
can help with that part please do.  Johan (if he is still interested)
and I planned working on this.  I can contact you to ask for your
opinion on the PPC version.

>> > (I would like to use GRUB 2 with multiboot for the PowerPC port of
>> > the Hurd using L4; I have worked on the Mach version before, but
>> > it's unlikely that that version will be ported to newer PowerPC
>> > machines.)
>> 
>> AFAIK hurd-l4 already works on the PPC.  Just have a look at the
>> l4-hurd mailinglist.  There is a patch for PPC support, it just hasn't
>> been applied yet.
>
> Ah, I had guessed Marcus had only written the PPC files that are already in 
> CVS
> (in preparation for an eventual real port), but after reading the mailing 
> list a
> bit more carefully I noticed that Johan Rydberg has already done some more 
> work
> (which I would be going to duplicate now if I didn't know about it).  All the
> activity in this area seems to be in October 2003, however.  I tried to 
> compile
> Hurd-L4 yesterday, but there have been some changes in the L4 API and in the
> arch-independent Hurd code in the meantime which caused the PPC code not to
> compile anymore.  I'm preparing a patch for it, which I want to send to 
> l4-hurd
> tomorrow.

Nice.

>> As for the bootloader, AFAIK they make one big binary of the kernel
>> and modules somehow.  Of course it is much nicer to use multiboot for
>> this.  The main reason I had for porting GRUB 2 to the mac was as a
>> preparation for the GNU/Hurd port.
>
> Yes, from what I read on the mailing list it seems to be an adaptation of the
> `piggyback' bootloader in the Pistachio source.  A day or two ago I found out
> about your port of GRUB 2 to the Mac, which I found a wonderful coincidence 
> (not
> knowing about the fact that the Hurd was the very reason for the port...).  By
> the way, I compiled GRUB 2, and it seems to work on my machine (eMac).  I
> haven't tried to boot a Linux kernel with it yet, though.  There were two 
> small
> compilation problems, for which I have included a patch below.  (I'm not
> entirely sure about the change to grub_linux_init; I remember reading a
> discussion about the two functions involved on the mailing list, but
> grub_rescue_cmd_linux doesn't appear to exist.)

It is nice to hear that it works.  Actually, you are the first person
testing it.  What kind of machine is that eMac of yours?

> 2004-08-02  Peter Bruin  <address@hidden>
>
>       * loader/powerpc/ieee1275/linux.c (grub_load_linux): Remove
>       superfluous checks for validity of ELF header.

Why do you want to remove these checks?

>       (grub_linux_init): Pass grub_load_linux instead of
>       grub_rescue_cmd_linux as second argument of
>       grub_rescue_register_command.

Note to self: Don't make changes in the code without testing if it
still compiles before committing. :)

Thanks,
Marco





reply via email to

[Prev in Thread] Current Thread [Next in Thread]