Thread (5 messages) read the whole thread 5 messages, 3 authors, 2006-08-03

Re: Booting Linux Kernel without bootloader

From: Milton Miller <hidden>
Date: 2006-08-03 09:46:12

On Tue Aug  1 2006 11:17:41 PM CDT,  Grant Likely  wrote:
On 7/25/06, Clint Thomas [off-list ref] wrote:
quoted
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.
Loading a kernel into memory and starting execution *is* a boot loader.  :)
If it's running on the cpu, then I agreee.   But he didn't say how he was loading
the image into memory, and if it is via an external agent then I would not
necessarly call that a boot loader, altough it is performing those tasks. 
Actually, that may be too broad.  Is kexec a boot loader?
You could use the bootwrapper that is in the kernel source tree
(zImage).  If a zImage's entry point is at the execution entry point,
then it will start the Linux kernel correctly.  However, it is still a
compressed image.
The boot wrapper is a reference implementation, not a required piece of the
boot sequence.  As I stated in my previous post, the kernel entry conditions
are documted and loading the vmlinux raw is reasonable, asssuming that
the other conditions can be met (registers and device  treee, and maybe
initrd).
If you *really* need an uncompressed image, I would start with the
bootwrapper and hack it to work with an non-gzipped kernel image.
However, why do you want to do it this way?  You probably won't gain
much in boot time and it will be more difficult to maintain.
Actually, the code is aready there to just copy anything inthe kernel
section that is without the gzip header.

milton
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help