Booting Linux Kernel without bootloader

Kalle Pokki kalle.pokki at
Wed Jul 26 16:15:48 EST 2006

On 7/26/06, Clint Thomas <cthomas at> wrote:

> Basically, the system I want linux running on does not require the
> initialization of hardware that U-boot provides, or at least it does not
> need it to boot the linux kernel. I want to load an uncompressed linux
> kernel into memory and start the execution of the kernel, without using any
> kind of bootloader. Is this possible? Or does linux need some kind of
> firmware or other software to tell it to start executing? Thanks for any
> info you might have.

Once the hardware is initialised,  it is pretty straightforward to boot the
linux kernel. All you have to have is the kernel at address zero, struct
bd_info filled in some place in memory, kernel command line stored in
memory, and registers r3 ... r7 containing pointers to these.

For reference, look
1) include/asm-ppc/ppcboot.h for example struct bd_info
2) arch/ppc/syslib/m8260_setup.c for the registers

If you have some custom hardware, you need to create (basically empty)
platform code, since the existing ones would try to touch some board control
registers you don't have.

But remember, you need to initialise the memory controller and all sorts of
things yourself somehow - with a JTAG debugger or a custom boot loader.
-------------- next part --------------
An HTML attachment was scrubbed...

More information about the Linuxppc-embedded mailing list