[G2 Q&A, Help & Troubleshooting] forrestgump2000:
I have no clue why the OP was getting the reactions that he did. His question was clearly worded, yet every response was oddly to some other similar but different question that was not asked. Anyway, I wanted the same capability so I've gone down the whole path. I can't post external links, so you'll have to do some creative googling for some steps. Basically, you need to make your own kernel modules to get network filesystem support at the OS level, rather than app-specific.

I performed the following steps in an Ubuntu 12.04 VM. Other platforms may not behave as well.

1) Get the Android NDK and extract the archive. (google it)

2) Get the LG G2 source code and extract just the kernel source. (google it)

3) Prepare your kernel-building environment as described here: http://xdaforums.com/showthread.php?t=2152819 Pay attention to each step!. The step that wasn't clear was that make maker.defconfig needed to be executed from the root Kernel directory. Also make sure that you use the toolchain that matches your gcc version. For my Ubuntu 12.04 system, it was 4.6.

4) In the make menuconfig step, enable the network filesystems that you want as modules. I did both CIFS and NFS. I also enabled LANMAN CIFS support just in case.

5) I don't think you need to build the whole kernel. You just want modules. And make sure that you use the -no-pic option, or the modules won't load with an Unknown symbol _GLOBAL_OFFSET_TABLE_

error when trying to load the modules. Google "Compile cifs.ko / md4.ko for the Cube U30 GT" to see my reference for the following:

make prepare

make EXTRA_CFLAGS=-fno-pic M=fs/cifs

make EXTRA_CFLAGS=-fno-pic M=fs/nfs

make EXTRA_CFLAGS=-fno-pic M=net/sunrpc

make EXTRA_CFLAGS=-fno-pic M=fs/lockd

I only noticed the above after building the entire kernel (without -no-fpic), but I assume that the above should work without needing to build everything first. If you just want CIFS support, then you'll only need the first option. md4 and nlm-utf8 support are built into the G2 kernel.

6) Copy the *.ko files to your phone somewhere (I just did /sdcard for now) and insmod them from a shell for testing.

At this point, you should be able to mount NFS or CIFS filesystems. I had trouble mounting my CIFS share, and I believe that it was due to special characters in my passphrase. So in the end, I just ended up using NFS to avoid mucking with accounts or passwords. (my NAS is serving on both)

The way I mounted it was with this line:

busybox mount -o nolock,rw -t nfs [IP]:/[SHARE] [MOUNTPOINT]

I've only just recently gotten this far. I used busybox for mounting, as I've heard it behaves better. But it may not be required. I haven't looked into whether the kernel modules will get automatically loaded if they're placed in the normal location for .ko files, nor have I investigated having the network share mount automatically. But as a proof of concept, I'm satisfied. I can now have TitaniumBackup (or whatever other app) use my NAS directly.

Edit: I was able to get CIFS mounting using the following syntax from a shell:

/system/xbin/mount -t cifs //[SERVER]/[SHARE] -o username=[USER],unc=\\\\[SERVER]\\[SHARE],pass=[PASSWORD] [MOUNTPOINT]

Note that the busybox version of mount is required, and it also allows me to '\' escape special characters in my password. I couldn't get the native mount nor CifsManager to work right.