populate_rootfs fail

jay_chen jay_chen at alphanetworks.com
Tue Feb 12 19:53:47 EST 2008

Hello all:

I am using mpc8548, kernel, and uboot as boot loader.
When I upgrade ram from 512MB to 2G, my kernel can't boot anymore.
(I pass mem=2048M to kernel in uboot now)

It always dies in exec sys_write( ) in populate_rootfs( ).
I did more tests about this and I found that sys_write( ) could write only
about 4MB in 2G ram case.
(My initrd is about 19MB, initrd_start  : 0xCE7C7000, initrd_end  :
0xCFAAF289, initrd_end - initrd_start  : 0x012E8289 ==> about 19MB)
Could anybody give me some hints?
Is this issue related to the location of  "/initrd.image"? Could I control
Is there any size limit in ppc arch about ramdisk/initrd?

Thanks for help.


void __init populate_rootfs(void)
	char *err;
	if (initrd_start) {
		printk("it isn't (%s); looks like an initrd\n", err);
		fd = sys_open("/initrd.image", O_WRONLY|O_CREAT, 700);
		if (fd >= 0) {
			sys_write(fd, (char *)initrd_start,
					initrd_end - initrd_start);

More information about the Linuxppc-embedded mailing list