Disclaimer: I could easily have botched the answers to your questions. Maybe someone will know the best way to load Linux from Uboot, but I don't.
I've found that people more readily correct misinformation than volunteer information, so I hope this gets you somewhere :)
I suppose I have a couple of questions to start of with that I hope someone here can answer:
The best answer to your questions is probably something like: It depends on your boot loader.
Coreboot initializes the hardware and then loads its payload. That payload could be a BIOS (SeaBIOS), a boot loader (FILO, Grub, Linux-As-Bootloader, elfboot...), a Linux kernel, memtest, coreinfo, ...
This gives you the flexibility to load the kernel over the network, from a disk...
You can check out buildrom to see how some payloads are built. It gets out of date quickly, but it is faster than starting from scratch.
- Is there a good repository of information regarding embedded Linux in the x86 (not PC!!!!) architecture
I would choose a boot loader and go from there.
- 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)
Our terminology is conflicting here, since we don't call Coreboot a boot-loader, but hopefully what I'm saying still makes sense. The boot-loader will do this if it needs to.
- Which Kernel image should I use (vmlinux, vmlinux.bin, bzImage etc)
- Can I copy the compiled Kernel image directly into RAM simply perform a 'Jump' into it
- Can I run x86 Linux without needed any kind of BIOS emulation?
- Are these the right questions to ask? Are there 'better' questions I should be asking?
If you want to use Coreboot, the first question is probably "Which bootloader do I want to use?"
All the rest will be answered by the documentation for that bootloader.
Thanks, Myles