[U-Boot-Users] Rephrased Initrd and RAM

Wolfgang Denk wd at denx.de
Wed May 26 22:01:28 CEST 2004


In message <002d01c4434f$71195720$0e25b3d4 at ictrom.intern> you wrote:
> 
> In order for the Linux kernel to use the initrd, where it
> should be located, in RAM or in FLASH? The parameter given

It should not matter where it is located.

Some (older?) versions of the ARM kernel don't support ramdisk images
in flash, i. e. they require a patch to avoid the superfluous memcpy.
See the list archives - I've posted the required details before.

> u-boot to the kernel (e.g setenv bootargs
> initrd=0x120000,4M) is the address where initrd.img (the

No such parameter is needed. U-Boot passes the address of the ramdisk
image (if any) automatically to the kernel.

> one compressed and mkimaged) is stored  or u-boot is
> responsible for [decompressing the image and] copying it to
> RAM?

U-Boot verifies the image (if verify is on), and, if  you  don't  set
initrd_high  as  documented  to  enable zero-copy ramdisk support, it
copies it to RAM; finally it passes it's address (in RAM or flash) to
the Linux kernel.

> One other question :about the variable initrd_copy_to_ram ,
> is it set only when initrd_high is defined in the bootargs?

No, on contrary. It is set to 1 by default. But  isn't  this  obvious
from the code?

> why?

Which part of the explanation of initrd_high in the README file don;t
you understand? Please let me know so I can improve it.

Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-4596-87  Fax: (+49)-8142-4596-88  Email: wd at denx.de
"I used to think that the brain was the most wonderful  organ  in  my
body. Then I realized who was telling me this."        - Emo Phillips




More information about the U-Boot mailing list