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

Graeme Russ graeme.russ at gmail.com
Fri Jan 29 02:45:05 CET 2010


On Fri, Jan 29, 2010 at 10:50 AM, Myles Watson <mylesgw at gmail.com> wrote:
> 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 theory this would be the U-Boot mailing list, but in this case, I am on
my own there. U-Boot (and the Embedded Linux Development Kit (EDLK) which
is also written by DENX Software Engineering) is geared towards ARM and PPC
architectures. Both these architectures have very strong embedded
communities and therefore much better access to the information I am
seeking

> 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.

In this regard, the 'Boot Loader' is U-Boot. I suppose to clear up some
confusion, you could probably think of U-Boot and Coreboot as 'Boot
Strappers' rather than 'Boot Loaders' - They both start from power-up of
the CPU and hardware, initialise core hardware services (like SDRAM etc)
and execute a payload. U-Boot is capable of executing stand-alone payloads
as well as the Linux Kernel just like Coreboot.

>
> 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.
>

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

>>   0) 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.

In this case, I have no 'Boot Loader' (GRUB, LILO etc) and nor do I want
one

>
>>   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)
> 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.

As mentioned earlier, U-Boot and Coreboot are the same in this regard

>
>>   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?
> If you want to use Coreboot, the first question is probably "Which
> bootloader do I want to use?"

My question is, how does Coreboot launch the Linux Kernel as a payload
without the intervention of a Boot-Loader

>
> All the rest will be answered by the documentation for that bootloader.
>
> Thanks,
> Myles
>
>

Thanks for your reply Myles - Every little tidbit of information gets my
that tiny bit closer to my goal - I have patience ;)

Regards,

Graeme




More information about the coreboot mailing list