Graeme Russ wrote:
- Is there a good repository of information regarding embedded Linux in the x86 (not PC!!!!) architecture
Maybe linux-embedded@vger.kernel.org.
- 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.
- Which Kernel image should I use (vmlinux, vmlinux.bin, bzImage etc)
It depends. :)
- Can I copy the compiled Kernel image directly into RAM simply perform a 'Jump' into it
Yes, in some cases.
- Can I run x86 Linux without needed any kind of BIOS emulation?
Yes.
- 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