Hi All,
I am undertaking a little project at home to get Linux running on a custom x86 (AMD SC520) based board. The board is pretty simple, just the CPU some RAM and Flash, a couple of Ethernet (Realtek 8100B) ports and some other miscellaneous custom hardware (don't need to worry about this for now). This board is in no way shape or form a mini-PC
The whole point of doing the Linux port is a kind of 'because its there' thing. I had some (very little as it turns out) free time, so I decided to give it a go.
After having a good look around, I ended up choosing U-Boot as a boot loader (in which case you would assume my question is really for the U-Boot list and not coreboot - please read on). Unfortunately, U-Boot's x86 support at the time was very stagnant. No work had been done on the x86 port since about mid 2003 and several non-x86 patches had pretty much completely clobbered it to the point it would not even compile. I've been working on U-Boot now since July 2008 and have been pushing patches back in to the point where U-Boot has a good, stable, x86 implementation.
I have now arrived at my next hurdle - Getting a Linux Kernel running.
I'm having difficulty finding any real information on the sequence of events that need to be gone through in the x86 embedded environment to get the kernel up and running. Even coreboot seems a little light-on (I have seen mention of the Linux Kernel being a legitimate payload, but no obvious instruction on how this is configured and how it works). But so far, the coreboot community appears to be the closest thing to an x86 embedded Linux community that I can find.
I suppose I have a couple of questions to start of with that I hope someone here can answer:
0) Is there a good repository of information regarding embedded Linux in the x86 (not PC!!!!) architecture 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) 2) Which Kernel image should I use (vmlinux, vmlinux.bin, bzImage etc) 3) Can I copy the compiled Kernel image directly into RAM simply perform a 'Jump' into it 5) Can I run x86 Linux without needed any kind of BIOS emulation? 4) Are these the right questions to ask? Are there 'better' questions I should be asking?
Hopefully someone can answer some of these and/or point me towards some good technical information.
Regards,
Graeme