Subject: Re: Need help Understanding initial memory conditions.

From: Andrei Konovalov <[email-masked]>
Date: Wed, 19 Oct 2005 14:24:48 +0400

Kalle Pokki wrote:
> David H. Lynch Jr wrote:
> 
>> Alright I have RAM at physical 0x0 now.  I throw a copy of a 
>> compressed linux image into RAM (anywhere special ?) load the assorted 
>> registers with the appropriate values, fill the board info struct., 
>> and just jump to the start of the image and pray that load text starts 
>> coming out my serial port ?
> 
> Basically, but the exact thing to do depends which image you take. The 
> build process results in a few different image files. I usually just 
> take the vmlinux ELF file, and then my own scripts objcopy it to binary, 
> compress, objcopy to an object file, and link the compressed image 
> directly to the boot loader. The boot loader is then, of course, 
> responsible of uncompressing the image to RAM to 0x00000000.
> 
> I think the kernel build can also create some "self-extracting" images, 
> but I have never tried those.

Yes, this is exactly the way ML300 is booted (as regards to the code
currently in www.kernel.org's 2.6 tree).
Use 'make zImage' or 'make zImage.initrd' to get zImage.elf or zImage.initrd.elf.

> Maybe they don't even work anymore, as 
> many (most?)  people just use the U-boot images.

There is U-Boot port for ML300 by Peter Ryser from Xilinx,
but I haven't tried using it (yet). IIRC there is an appnote
on Xilinx web site that describes how to boot the 2.4 kernel
with U-Boot (few modifications need to be done to the kernel).

Best regards,
Andrei