Booting Linux Kernel without bootloader

Milton Miller miltonm at bga.com
Thu Jul 27 00:06:25 EST 2006


On Tue Jul 25 2006 05:30:39 PM CDT,  Clint Thomas  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.
 
To run a powerpc (not ppc, which will be removed) kernel, in addition to the uncompressed kernel you will need to supply a device tree structure, point r3 to it, zero r5, and set r4 to the load address (zero as you have described).  See Documentation/powerpc/booting-without-of.txt for details.  Then arrange for you processor to start executing at address 0.  Note that /vmlinux has an elf header, you can use objcopy to remove it or adjust r4 and your start point; the kernel will copy itself to 0, clear bss and set up the stack. The device tree structure must be placed above the bss space in memory, not just the initialized data.  

milton



More information about the Linuxppc-embedded mailing list