Ohh, dann nehme ich meine voreilige Behauptung natürlich zurück.
Ich denke mal, das hier ist der Trick:const unsigned MultibootHeader[12] __attribute__
((section(".text"))) = { /* Header Information */ };
Aber ich bleibe, wie in der Grub-Doku beschrieben, bei der vorgeschobenen ASM Datei, die dann auch die main() aufruft.
So kann ich mir auch alles mögliche (Multiboot-Struct, EAX, etc...) als Parameter übergeben.
Wichtig ist nur, dass du sobald wie möglich deinen eigenen Stack initialisierst.