Booting issue on Omap3430 due to Initrd

From: zamir
Date: Thu Sep 03 2009 - 06:22:07 EST


I am trying to boot Linux on a TI OMAP3430 based device. The device boots up
to a point where it tries to find the initrd image but cannot find it.

My kernel version is 2.6.27. I am using a custom NAND flashing utility to
flash the device with the bootloader, initrd image and kernel. My bootloader
creates ATAGS, copies the kernel and initrd image to RAM and then jumps to
the kernel.

The kernel boots up fine to a point where it tries to mount root. Then it
gives the following error:

No filesystem could mount root, tried: ext3 ext2 msdos vfat

<0>Kernel panic - not syncing: VFS: Unable to mount root fs on

On debugging I found that the following function call returns -2 (-ENOENT)
in_fd = sys_open(from, O_RDONLY, 0);

This is called in file \init\do_mounts_rd.c inside function:
int __init rd_load_image(char *from)

This in turn is called from do_mounts_initrd.c
if (rd_load_image("/initrd.image") && ROOT_DEV != Root_RAM0)

I found that initrd.image is created in \init\initramfs.c
static int __init populate_rootfs(void)
if (initrd_start) {

fd = sys_open("/initrd.image", O_WRONLY|O_CREAT, 0700);

Here initrd_start is always zero so this condition never gets true. So
initrd.image is never created.

In short, while booting sys_open("/initrd.image", O_RDONLY, 0); fails with

I have checked the initrd image is present at the memory location specified
in kernel tags when kernel starts.

Can anybody point to what could be the possible reason for this problem?

View this message in context:
Sent from the linux-kernel mailing list archive at

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at