3

I'm using GLaDOS kernel which includes the NFS modules (and I'm using the Codename Android ICS 4.0.3 ROM) on a GSM Galaxy Nexus. I'm trying to connect to my NFSv4 server (Ubuntu 11.10). My other clients (e.g., Ubuntu 11.04 laptop) can connect over the same LAN network, but my Galaxy Nexus will not connect.

In the Android terminal (BTEP), in su mode, I'm entering these commands:

insmod sunrpc.ko
insmod lockd.ko
insmod nfs.ko

lsmod shows the modules loaded:

nfs 104232 0 - Live 0xbf036000
lockd 42336 1 nfs, Live 0xbf028000
sunrpc 150792 3 nfs,lockd, Live 0xbf000000

My mount command (In the terminal, in su mode) is:

mount -t nfs4 nfserver:/shared1 /sdcard/nfs/shared1

The error is "no such device". (See edit below - I have a new error now.) It returns immediately, so I'm fairly certain this is entirely a client side error. It is probably not even trying to contact the server.

Usually the "no such device" error means that the nfs kernel module is not loaded. However, in my case, it is indeed loaded, as shown above. Can anyone help?

EDIT: so now I believe that the BusyBox mount command does not support NFSv4. Unfortunately, my server only supports NFSv4. So I borrowed a NAS device which supports NFS v3 and set that up.

Now the error is "invalid argument". In fact, the BusyBox mount command gives the same "invalid argument" error on all mounts using either "-t nfs" or "-t cifs". That leads me to conclude (based on quote below) that there is a version mismatch between BusyBox and my Linux kernel.

  • busybox: 1.19.3-Stericson
  • linux: 3.0.8-GLaDOS-V1-15

My conclusion is supported by this link where he says:

This is how I interpret it.
kernel is newer - recompile mount command (i.e. busybox etc)
Make sure that it uses the headers from the kernel it will run with.

Finally, trying a regular NFS v3 server (the NAS device) with Mount Manager does not succeed with either NFS or CIFS. But AndSMB will connect to the NAS using CIFS.

5
  • instead of nfs4, try using just "nfs". - I was going to send you this via email then I saw this post here. Feb 21, 2012 at 0:13
  • @Ryan: I added a new section to my post with more info. I continue to have problems with Mount Manager. Should we discuss those via email?
    – MountainX
    Feb 21, 2012 at 2:18
  • Should I just make a new question? I realize now that NFSv4 support is probably not there in Android. But now my issue is that trying to mount an NFS v3 share via BusyBox mount gives the error "invalid argument" and trying to mount it via Mount Manager fails as well. So now I want to focus on getting NFS v3 to work. (I have given up on NFSv4.)
    – MountainX
    Feb 21, 2012 at 23:08
  • @RyanConrad: Mount Manager is still not working. Is it incompatible with ICS? Nothing seems to work, not even CIFS. AndSMB does work.
    – MountainX
    Mar 1, 2012 at 0:54
  • I'm still looking for a working solution, btw.
    – MountainX
    Jul 8, 2013 at 22:51

3 Answers 3

1

I can tell you that is is Not the mount command, it is the nfs.ko module that probably doesn't support NFS4.

When you call mount -t nfs ... the mount command is going to look for the filesystem type of nfs. If it doesn't find it, then you get the no such device error. If it does find it, it basically hands off the "mount" to the module.

For the mount manager issue, if you do not have a cifs module, cifs will not work with mount manager. AndSMB uses its own cifs/samaba implementation, and that is fine, but in order to accomplish something that allows any application to access the mounted share, it has to be cifs.ko module. I have to do some more looking in to the nfs issue you are still having.

10
  • I do have cifs.ko, and it was loaded when I did the CIFS testing.
    – MountainX
    Feb 21, 2012 at 23:03
  • I agree that NSFv4 support in Android probably isn't there. However, I was not even able to mount NFS v3, as I explained in the EDIT section I added to my post. I appreciate any help you can offer with Mount Manager. I'd love to use it because it has the exact features I need. Thanks
    – MountainX
    Feb 21, 2012 at 23:05
  • Mount Manager is not compatible with Ice Cream Sandwich.
    – MountainX
    Apr 6, 2012 at 16:17
  • It is going to depend on your device. You will need the correct CIFS module for mount manager to work. I have 2 devices now that are running ICS (one is running CM9, the other is a gTablet) The CM9 device has a cifs.ko, the gTablet has cifs support built in to the kernel. Mount Manager is working on both. There might be a bug with NFS in ICS, as I haven't had a chance to test that yet, but CIFS is working, if your device has support. Apr 18, 2012 at 13:33
  • I'm going to install CM9 on my Galaxy Nexus. I'm running Codename Android ROM now.
    – MountainX
    Apr 19, 2012 at 2:37
0

might not be what you want but i do this

busybox mount -o rw,intr,soft,nolock,nfsvers=2 192.168.0.7:/mnt/HD/HD_a2 /mnt/sdcard/nfs

1
  • That approach would be fine, but it won't work with my ROM. What ROM and what phone are you using and did you add any kernel modules? If you give a complete working answer, I'll accept this kind of solution. I don't mind using busybox mount. Thanks.
    – MountainX
    Apr 6, 2012 at 16:16
0

You have to write the mount command using -t nfs ... nfsvers=4

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .