> >It seems that it initially finds the root on the nfs box but it
> >never get to do an init. It just stops and waits... Do I need
> >to modify any setting manually on my NFS image in order for the
> >kernel to boot?
> I had something like that happen to me. It'd start mounting the
> NFS root but would stop sending packets after a while. I thought
> it was the ethernet driver but I never did find the problem
> before I had to move to other projects.
I also saw a similar problem when booting the kernel with a ramdisk
and attempting to NFS mount from there via a wireless card. I don't
even remember which kernel it was now, but I eventually concluded that
the issue was with fragmented UDP packets. Linux has
NFS_DEF_FILE_IO_BUFFER_SIZE set to 4096, which is of course larger
than an Ethernet frame (1536) and must fragment. I'm not sure if it
that was the fault with the kernel or the wireless access point I was
using, but my host would send all fragments, and the MIPS box would
eventually send back a reassembly timeout. Anyway, my solution was:
mount -o rsize=1024,wsize=1024 ...
I presume you could also set those from the boot command line if you
need to use nfsroot.
(The symptoms were that I could mount, and a very small number of
operations would occasionally work. Of course, the ones that worked
were just whatever ones happened to fit in an unfragmented UDP packet)