[U-Boot] initramfs support through the initrd mechanism of u-boot

Albert ARIBAUD albert.u.boot at aribaud.net
Thu Jul 14 16:40:31 CEST 2011


Hi Thomas,

Le 14/07/2011 16:17, Cao, Da-Shi (EB-Presales-ZTE/HW-GZ) a écrit :
> Currently the support of Linux initial file system by u-boot is a file system image through "initrd". I tweaked a little of both the "lib_arm/armlinux.c" and the initramfs of Linux (a gziped cpio) so that the initramfs file could be passed to the kernel.

Not sure why you need this. Can you not simply make a uImage of the 
initrd and leave bootm untouched?

> For example: bootm c0008000 c1008000 will pass c1008000 to kernel as the start address of a initramfs.

That's already what's being done except for the format of the initramfs 
IIUC, see <http://www.denx.de/wiki/view/DULG/LinuxRamdiskRoot> for instance.

> However in the Linux kernel it seems that it expects a physical address of initrd start, but u-boot passes a virtual address if MMU is enable.
> So a "virt_to_phy" should be used on the address before it is passed to the kernel.

Hmm... This should be a problem anyway, whether you pass a gzipped CPIO 
or an U-Boot initrd image I guess. How do you get to this diagnostic?

> I'm currently using a Mini6410 (with Samsung S3C6410 CPU), an ARM board from China.
>
> Thanks,
> Thomas

Amicalement,
-- 
Albert.


More information about the U-Boot mailing list