1

I have a somewhat strange setup going on here, I have Android as the client and it's kernel does not support NFSv4, also my /etc/exports file on the server side has no NFSv4 style entries.

I am trying to build some toolchains (I have gcc-4.8-armhf and all that on my phone as well as apt-get with repositories set up so I can install stuff if needed) as well as following LFS, but I can't build some programs such as perl due to not being able set file ownership and what not.

My /etc/exports (server) :

/media/usb3/Android     192.168.1.209(rw,sync,subtree_check,no_root_squash)

A ls -l looks like this (client):

drwxr-xr-x  6 4294967294 4294967294      4096 Jun 21 17:23 toolchains
-rw-r--r--  1 4294967294 4294967294         0 Jun 25 18:51 rootu

A sudo chown root:root looks like this (client) (rootu is just a test file):

sudo chown root:root rootu
chown: changing ownership of `rootu': Invalid argument

My mount command (client) :

sudo mount -t nfs 192.168.1.210:/media/usb3/Android /home/edge-case/Android-Lab/ -o tcp

I've gone over the man pages and read some tutorials and other questions but they all say to just set no_root_squash, which I did from the start, and that doesn't work.

I don't have LDAP or Kerberos, or any sophisticated authentication set up at the moment, that is all beyond my skill ( and 0 pay ) level at the moment. I'm at home so I have complete root access and ownership of everything and not too worried about security other than maybe war-drivers, but I do have a good wireless password, so no tin foil hat really needed for me ;P

I used to have this working, but it seems some changes to Debian have been made and things are not working so well anymore. Are Windows agents screwing up Linux source!? J/k

Really what is this? Where can I find a simple way to mount a directory with files owned by me, or root (via sudo chown) if I choose, and not some strange "4294967294" user that doesn't exist on the client or server?

  • Please make your update an answer - you can just answer yourself. You can still get better answers, but at least it will not stay formally unanswered forever. – Volker Siegel Jun 26 '14 at 1:01
  • 1
    Thanks, will do tomorrow after 8 hours have passed, said I need to wait until 4 some a.m. – Overloaded_Operator Jun 26 '14 at 3:21
1

I hate it when I figure this out right after asking the question,

I used /system/xbin/busybox mount -t nfs /path/to/share /path/to/mountpoint -o tcp,nolock

It works, now my files are owned my my user "10001:10001" on the client, but its a messy solution because if I use the Cyanogenmod's busybox mount without the nolock option it gets permission denied, but if I use Debian's mount with the nolock option it still has the strange UID:GID ownership.

So currently the only way to work is with Cyanogenmod's busybox mount with nolock. Using nolock with Debian's mount wont fix the id issue and without nolock on Cyangenmod's I get permission denied.

I guess the proper solution would be to go over the source for each and rebuild Debian's mount command with a patch to be like Cyan's and to figure out why I need nolock, I don't think I should need that. Maybe it's a linker/library issue? Idk, beyond me atm.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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