Re: ramdisk mount problem
From: Frederic Soulier <hidden>
Date: 2003-01-15 08:33:43
Possibly related (same subject, not in this thread)
- 2003-01-14 · Re: ramdisk mount problem · Wolfgang Denk <hidden>
Prakash,
It seems that your kernel didn't get any information about where is your
init ramdisk.
Which boot loader do you use ? On which board ?
In the kernel sources, I guess your initrd_start is set to NULL, so you
have to verify in the platform_init() function (usually found in
arch/ppc/platforms/<your board>_setup.c) that you are really handling
parameters from the boot loader. This is done something like that :
void __init
platform_init(unsigned long r3, unsigned long r4, unsigned long r5, unsigned
long r6, unsigned long r7)
{
[...]
if (r4) {
initrd_start = r4 + KERNELBASE;
initrd_end = r5 + KERNELBASE;
}
[...]
Hope this could help,
Frederic Soulier
----- Original Message -----
From: "Prakash kanthi" <redacted>
To: "Wolfgang Denk" <redacted>
Cc: "LinuxPPC" <redacted>
Sent: Tuesday, January 14, 2003 7:42 PM
Subject: ramdisk mount problem
Hi Folks, I am trying to use 2MB ramdisk image from denx as my linux filesystem. Linux kernel fails to mount the 'ext2' type file system from initrd. I pin pointed the problem. Looks like the problem is in 'do_mounts.c -> mount_block_root' function where a call is made to sys_mount as follows: 'int err = sys_mount(name, "/root", p, flags, root_mount_data);' In my case name="/dev/root", p="ext2", flags=32768 and root_mount_data=<NULL>. The result of this call is EINVAL, i.e. invalid argument. Can anyone help me out find which one of the arguements could be invalid? If 'root_mount_data' is the culprit, why is it null? I see that it's value is set in one of the __setup functions. When are these functions supposed be executed? I know that all __initcalls are executed from dO_initcalls. This failure causes Kernel Panic, complaing about "Unable to mount root fs at 01:00". Thanks, Prakash
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/