[Shield Android TV General] allidea:
Thanks to rootfan I've been able to finally root Shield TV 2017 16GB with NVIDIA Experience Upgrade 8.0.0. (Pie) hoping I'll be able to mount my LAN NAS media content on it. But to make things more complicated my LAN is VLAN segmented due to security reasons. I know KODI and PLEX have NFS mounting capabilities without rooting but all I could see were devices on the same VLAN and of course my media NAS is not part of it and they're primarily media oriented and you might want to expand this focus . Since I've acquired certain knowledge on how to do enable NFS mounting on Shield TV (on "regular" non-VLAN LAN) I'll share all my findings for all of you interested in making this work. Hopefully/Ultimately I'm seeking for any user experience mounting NFS with VLAN enabled LAN, since I'm not Android expert I don't know if it is currently even possible or not.

Anyway long story short here are my findings regarding mounting NFS shares on Android:

I came across this post https://xdaforums.com/shield-tv/help/automount-cifs-nfs-share-write-access-t3783735 and patched Cifsmanager (https://xdaforums.com/showpost.php?p=53760495&postcount=537).

The thing is it requires SuperSU which of course is not an option since Pie is rooted with Magisk. Luckily Magisk comes with su therefore SuperSU isn't needed.

You might come across info you also need SELinuxModeChanger (https://xdaforums.com/showthread.php?t=2524485) - once again if you used rootfan's rooting image you don't need it as rootfan has already preset SELinux to Permissive. You can check it with issuing getselinux command in terminal (I use Termux app for this).

BusyBox needed - I'm also not quite sure it is needed for NFS mounting to work as Magisk BusyBox doesn't contain mount command but Magisk itself does. I've installed Magisk BusyBox module through rootfan's TWRP for Pie (https://drive.google.com/open?id=1934405D1S0lv52jZMqS-Zny62RIzGWSi - link is in the 1st post of https://xdaforums.com/shield-tv/development/kernel-overclock-kernel-2-22-ghz-t3943079; Make sure you don't mix 7.2.3 and 8.0.0) but I'm not quite sure this was necessary as it does not include mount command which is included in Magisk (https://github.com/topjohnwu/Magisk/blob/master/docs/tools.md). I've also wanted to try sideloading BusyBox Pro from GP but didn't see how it would change anything so I haven't done it.

Regarding https://gist.github.com/aldur/4a3f90a111b71662f056 there seems to be an (root) ownership problem when mounting NFS shares. The solutions is to use su -mm -c "mount command". If you take a look at https://github.com/topjohnwu/Magisk/blob/master/docs/tools.md you'll see -mm stands for --mount-master. I personally haven't tried this as I don't have any non-VLAN shares I could mount.

So far this was all I managed to find about NFS mounting on Shield TV, but haven't found anything regarding mounting VLAN segmented NFS shares.

What makes me suspicious about Android's ability to mount/work with VLAN segmented NFS shares is a fact I can ping NFS server from Shield TV but when I try to mount it I get an error 'No such device'. Therefore I'm kindly asking anyone who has any ideas/knowledge to help me out. Thanks.

PS.

Please don't suggest to use CIFS - I want NFS as it is at least as twice as fast as SAMBA/CIFS.

UPDATE:

Caught some time to explore this thing in detail and found out two very important things:

NFS with VLAN(S) is working in KODI without any problems therefore problem is definitely on Android side;

Magisk BusyBox NDK doesn't have/support mount applet/command and seems like even though Magisk itself has it (mount) issuing lsmod | grep nfs returns nothing; Empty response could be cause by the following - When issued mount -t nfs ... the mount command is looking for the filesystem type of nfs. If it doesn't find it, it returns no such device error. If it does find it, it basically hands off the "mount" to the module; Accordingly I came to a conclusion that mounting nfs share on Shield TV via mount command isn't possible with just Magisk and Magisk BusyBox module installed. I'll try installing/sideloading BusyBox (Pro) from Play Store ...