Take the 2-minute tour ×
Android Enthusiasts Stack Exchange is a question and answer site for enthusiasts and power users of the Android operating system. It's 100% free, no registration required.

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.

share|improve this question
    
instead of nfs4, try using just "nfs". - I was going to send you this via email then I saw this post here. –  Ryan Conrad Feb 21 '12 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 '12 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 '12 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 '12 at 0:54
    
I'm still looking for a working solution, btw. –  MountainX Jul 8 '13 at 22:51
add comment

migrated from stackoverflow.com Feb 20 '12 at 22:24

This question came from our site for professional and enthusiast programmers.

3 Answers

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.

share|improve this answer
    
I do have cifs.ko, and it was loaded when I did the CIFS testing. –  MountainX Feb 21 '12 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 '12 at 23:05
    
Mount Manager is not compatible with Ice Cream Sandwich. –  MountainX Apr 6 '12 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. –  Ryan Conrad Apr 18 '12 at 13:33
    
I'm going to install CM9 on my Galaxy Nexus. I'm running Codename Android ROM now. –  MountainX Apr 19 '12 at 2:37
show 5 more comments

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

share|improve this answer
    
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 '12 at 16:16
add comment

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

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.