Subject: Technical question: problems with NFS root mounting on SA1110 (As sabet)

From: Jeff Sutherland <[email-masked]>
Date: Tue, 20 Jun 2000 14:12:23 -0400

re: kernel 2.4.0-test1-ac19-rmk1-np1

Well, I figured out where it's getting into trouble, but I'm not sure how to
fix it.  First of all, there might be more than one show stopper issue
that's keeping this from working.  Earlier I modified spinlock handling in
fs/namei.c which got me beyond that point, but now it's blowing up at line
#661 of fs/open.c.  The line:

error = f->f_op->open(inode,f);

never returns, and the kernel eventually crashes.  I haven't figured out how
the pointer value of open() gets initialized.  Maybe it isn't, and that's
the problem.  Commenting out this line and sticking a value of -1 in error
results in the kernel continuing to boot, and eventually results in a panic
message:

VFS: Cannot open root device "nfs" or 00:ff
Please append a correct "root=" boot option
Kernel panic: VFS: Unable to mount root fs on 00:ff

which is what I'd expect.  The network device is functional, although
there's some mucking about in linuxrc that needs to be done (let's hope I
don't have a chicken vs. egg problem here...)  Any ideas?

Regards,
//Jeff

unsubscribe: body of `unsubscribe linux-arm-kernel' to [email-masked]

---

From: Russell King - ARM Linux Admin <[email-masked]>
Date: Tue, 20 Jun 2000 20:44:47 +0100 (BST)

> error = f->f_op->open(inode,f);

It sounds very much like a compiler/binutils problem.  What versions are you
using to compile the kernel?

Also, it may be useful to know what file it's trying to open - you can get
this from the dentry structure.
   _____
  |_____| ------------------------------------------------- ---+---+-
  |   |        Russell King       [email-masked]      --- ---
  | | | |            http://www.arm.linux.org.uk/            /  /  |
  | +-+-+                                                     --- -+-
  /   |               THE developer of ARM Linux              |+| /|\
 /  | | |                                                     ---  |
    +-+-+ -------------------------------------------------  /\\\  |