[coreboot] Request for Help/Information - Booting Linux Kernel (Embedded x86)

Peter Stuge peter at stuge.se
Fri Jan 29 08:07:02 CET 2010


Graeme Russ wrote:
>   0) Is there a good repository of information regarding embedded Linux
>      in the x86 (not PC!!!!) architecture

Maybe linux-embedded at vger.kernel.org.


>   1) The boot-loader (both U-Boot and coreboot) put the x86 staight into
>      Protected Mode - Does the CPU need to be put back into Real Mode
>      before entering the Linux Kernel (in order to allow the Kernel to put
>      the CPU into Protected Mode)

It depends.


>   2) Which Kernel image should I use (vmlinux, vmlinux.bin, bzImage etc)

It depends. :)


>   3) Can I copy the compiled Kernel image directly into RAM simply
>      perform a 'Jump' into it

Yes, in some cases.


>   5) Can I run x86 Linux without needed any kind of BIOS emulation?

Yes.


>   4) Are these the right questions to ask?

I think so.


Graeme Russ wrote:
> > It depends on your boot loader.
> 
> In this regard, the 'Boot Loader' is U-Boot.

And since you're on your own there you need to look at what other
bootloaders to.


> OK, I'll see if the buildrom code sheds any more light on how Linux
> is started from Coreboot.

I doubt it will. Instead, look at mkelfImage, Syslinux and wraplinux:

http://www.coreboot.org/Mkelfimage
http://syslinux.zytor.com/wiki/index.php/The_Syslinux_Project
http://www.kernel.org/pub/linux/utils/boot/wraplinux/

mkelfImage adds glue between coreboot and Linux. Maybe vmlinux could
be started directly by the coreboot ELF loader, but it's not
verified.

There's also the DOS-based loadlin program, for another data point.

Of the above, mkelfImage explicitly does *not* rely on BIOS in any
way, while all other bootloaders and indeed many OSes out there have
a hard requirement on one BIOS interface or other for x86. You may
find the same to be true for Linux, and that you're forced to
generate legacy BIOS data structures, to please the kernel. :(


> > I would choose a boot loader and go from there.
> 
> In this case, I have no 'Boot Loader' (GRUB, LILO etc) and nor do I
> want one

But you need parts of one, so the question is what to start from.


//Peter




More information about the coreboot mailing list