[Nook Touch General] gameman733:
One of the biggest issues I had with my nook was the 16/1GB division between content I can load and content from B&N/etc. Not being able to use that 16GB how I wanted was something I set forth to fix. Here is my solution to make this usable to non-rooted apps.

1) Root if not already rooted.

2) Make a directory inside of /data. I chose /data/usrdata.

3) remount / as RW with the command mount -o remount,rw -t rootfs rootfs / (credit to whomever wrote the nook&zergy.bat 1 click root. Sorry, it's been a long night, just let me know who and I'll edit)

4) mkdir /mnt/internal . We need somewhere to mount /data/usrdata/ and /mnt is public enough.

5) busybox mount -o bind /data/usrdata /mnt/internal. Mounts /data/usrdata to /mnt/internal.

6) For good measure, chmod 777 /mnt/internal and chmod 777 /data/usrdata.

Now, /mnt/internal should have whatever free space /data has, and should be read/write accessible from any program. A quick test with touch+terminal emulator shows new files as being created with RW permissions for all.

Alternatives: When I was initially thinking about ways to do this, my first reaction was to just open up /data to be read only to all, then have my usrdata folder be read/write all. However, I know part of android's app security model depends on some of these permissions. While I can't think of anything breaking or sensitive data being leaked, I decided against it. If anyone has any thoughts as to that scenario, I am very interested in hearing about it.

USB support: This will *not* be mountable under USB. Unfortunately you are still limited to transfering the data from a computer to the B&N internal storage or SDcard first, then moving the data internally. The problem that I see with this is similar to my understanding of the galaxy nexus situation, where the system can't unmount its /data partition and let the USB host take over. Another alternative to this could be to write an image file and mount that over usb (I've done this on my Evo, it worked so-so). Problem with that is that it really wouldn't grow/shrink with the storage. I suppose you could do some shell trickery and pipe it through gzip somehow, but that wouldn't help very much.

Let me know what you think and if you have any ways to improve this.

UPDATE: Persistance:

To make this persistant across reboots, run these commands as root:

1) mount -o rw,remount -t ext4 /dev/block/platform/mmci-omap-hs.1/by-name/system /system

2) echo mount -o remount,rw -t rootfs rootfs / >> /system/bin/clrbootcount.sh

3) echo mkdir /mnt/internal >> /system/bin/clrbootcount.sh

4) echo busybox mount -o bind /data/usrdata /mnt/internal >> /system/bin/clrbootcount.sh

5) echo mount -o remount,ro -t rootfs rootfs / >> /system/bin/clrbootcount.sh

All this does is put the following at the end of clrbootcount.sh

mount -o remount,rw -t rootfs rootfs / #Remounts root as RW. Root is regenerated at each reboot, so /mnt/internal is never going exist on a fresh startup

mkdir /mnt/internal #make /mnt/internal, see above

busybox mount -o bind /data/usrdata /mnt/internal #Binds the directory

mount -o remount,ro -t rootfs rootfs / #remounts root as RO. Unsure if this is necessary, but since it runs as RO, its probably better safe than sorry.

Thanks to eded333 for mentioning a good place for the script.

Edit: Doh, can a mod please move this to the nook tablet general forum? I must have failed reading...