What are the GRUB executable Formats?????

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
oswriter

What are the GRUB executable Formats?????

Post by oswriter »

  ok... I am very new when it comes to using GRUB and I am using version .93 and I have read that it will load a "Kernel.bin"... well I tried and it says "invalid executable file format" I have tried writing a simple kernel in C using GCC, Turbo C and I have even tried a C++ kernel... needless to say   I get the same error every time, so can someone help me... or maybe give me a link to a tutorial on the file types that GRUB loads?,
            
                Thanx
carbonBased

RE:What are the GRUB executable Formats?????

Post by carbonBased »

Read the docs a little more closely.  GRUB has support for loading ELF binaries natively.  Perhaps other formats have been added at this time, but I don't believe so (?).

However, your kernel can be of any format if you use the A.OUT kludge option.  Using this option use must specify the .text, .data, and .bss locations explicity (as GRUB has no idea how to read arbitrary formats, of course).

These flags are all part of the Multiboot header.  How are you compiling and linking?  And what does your multiboot header look like?

I wrote a tutorial/reference describing how I write my kernel which can be found at http://www.neuraldk.org/document.php?grubKernel  Might be of some help.

Let me know how it goes,
Jeff
Neil Dökkalfar

RE:What are the GRUB executable Formats?????

Post by Neil Dökkalfar »

To load a plain binary, you will need to fill more multiboot info field than with a ELF image beacause binary files don't have any header.
Post Reply