
In message 002d01c4434f$71195720$0e25b3d4@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