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 2.6.14.5, 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
it?
Is there any size limit in ppc arch about ramdisk/initrd?
Thanks for help.
Jay...
void __init populate_rootfs(void)
{
char *err;
...
#ifdef CONFIG_BLK_DEV_INITRD
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);
sys_close(fd);
free_initrd();
}
}
#endif
}
More information about the Linuxppc-embedded
mailing list