Sorry for some confusion, some clearification below.
On 12/30/05, Marco Gerards <address@hidden> wrote:
Noah yan <address@hidden> writes:
> I am glad that I have finally made the grub2 multiboot for ppc working. It
> is based on Hollis' earlier work (
> Hollis' hello world example works for my building environment and system,
> which is Mandrake Linux (2.6.11) on Power Mac G4. A patch is attached for
> grub 1.92 release. The patch also includes the util/powerpc/ieee1275/grub-
> install.in file, which is missed in 1.92 release (but in cvs checkout). I
> have trouble to create the patch by cvs diff, so to apply it, you may have
> to use "patch -p1" under the grub2 folder.
Cool, but I wonder if it can be applied. Mainly because it is most
likely not multiboot compliant because multiboot is x86 only, or am I
Yes, you are right, multiboot for ppc is not exactly correct concerning about the multiboot specification.
What I mean something-compliant is mainly an agreement between a loader and the code being loaded(kernel in most cases). The patch is created mainly based on multiboot protocol, so we steal the term "multiboot compliant".
> As in x86 and sparc, the multiboot strap is basically not the real kernel,
> but a loader to load ramdisk and initializer of system before exitto unix
> module. Here comes several choices about the system initialization:
Can you explain that? Usually the kernel loaded by multiboot *is* a
real kernel. So I don't understand what you mean. Perhaps you are
confused by a single implementation.
I think Cyril explains this. I consider grub for solaris x86 is a (not good) solution to migrate current x86 solaris to use grub (other than chainloader). Thanks for providing the Hurd example.
> 1. should the multiboot strap trust the multiboot_info passed from grub? x86
> multiboot only use the cmdline of it and multiboot is changing as from grub
> developers. If use it, it may save some coding efforts.
Can you please elaborate?
As specified in the multiboot spec, os can use or ignore the multiboot_info passed from the loader. So here should the Solaris/ppc use the multiboot-info or not. In current Solaris x86 multiboot, as far as I check out, the kernel code only use the cmdline field, and collect other info (such as mem region, etc) by itself. Use the loader info saves porting efforts.
Concerning about the multiboot, I just have such a impression that multiboot spec may be upgraded as I reading through the grub wiki and mailinglist as the progress towards ppc and sparc of grub.
> 2. if multiboot strap collect system information by itself, should it use
> GRUB ieee1275 functions or Solaris's own code(mainly in psm/promif/ieee1275,
> but would have to port to ppc). Using Grub2's code saves efforts to port
> Solaris code.
Please explain what you mean with multiboot strap. It certainly isn't
GRUB related terminology I have heard of.
Hope that you already understand what I mean after Cyril's answer. It is a multiboot compliant code loaded by grub and it loads the real os kernel. It is a solution to migrate some os to use grub. It is strange to me too(why not just chainloader), but it is used in this way in some cases.
> 3. grub2 network is not available (Marco planned to work on it on Feb as
> posted from grub wiki), shall we port the solaris network stack
> (src/stand/lib) for grub or wait?
Please wait and who is we?
> In summary, what is the role the grub should play in booing and system
> initialization, only as a loader, or a loader and system utilities that help
> system booting and other purpose? In Solaris x86, I only found the cmdline
> of multiboot_info is used by the multiboot strap.
It's the loader. I am not sure about what you are saying, but GRUB
certainly does not provide run time services to kernels or so.
Unfortunately I fail to understand a big part of your email. Can you
please describe which project you are working on and what you are
trying to accomplish? And please use the terminology we are used to,
otherwise it is hard to understand you.
I am working on porting solaris to ppc, and the loader is grub. I am sorry for any confusion and it is sometimes hard for me to find the right terms (my poor english). I wrote mainly for solaris-ppc port and CCed to grub mainly for people interested in ppc loader (the first part of the mail).