[Q] Spoof sd card mount - Nook Touch General

I am a big fan of books. This is why I have a nook simple tablet. But after being introduced to Overdrive, which I am sure at least one of you has heard of (Googie), I want to be able to download ebooks from overdrive. The only problem is, I would need an external storage device to save these from opera mobile. This is a bit unsettling, seeing as I don't have a micro sd card. (don't ask.)
So, my question is, is there a way to fool the nook into thinking an sd card is inserted?
Thanks in advance!

Since sdcard is mounted under /sdcard directory, I believe mounting (binding) a directory under writeable partition (e.g. /data/sdcard) to /sdcard might be enough.

May need to also link to /data/sdcard as well as the /sdcard. This can be done with symlinks or mounting. Ie mount said partition to /data/sdcard then symlink from /data/sdcard to /sdcard. Though the /sdcard symlink may already be there
Sent from my ADR6300 using Tapatalk

How would one do this? I just recently adopted android and I do not know much.

it might require modifications to the ram disk within the boot.img. or possibly using ln -s /data/sdcard /sdcard after boot is completed in a terminal. You may need to delete the /sdcard dir first and set proper permissions
Looking in a terminal you will need to symlink the emmc(internal memory) to /data/sdcard. ln -s <emmc dir> /data/sdcard. You may need to delete the /data/sdcard dir first.
Sent from my ADR6300 using Tapatalk

Hmm...
I'm just going to get an sd card. Thanks anyway, it's interesting to know you can do that.

Related

Partitioning microSD card

After setting up my wife's A7 and using it for three weeks, I have decided to open mine up. I waited because I wanted to see if CES had anything I wanted more. I decided they didn't.
So, I am starting from scratch again.
The main issue I've had with my wife's A7 has been the lack of storage space for apps, especially the big games.
Bazbob seems to have a solution by partioning the microSD card and using Apps2sd.
I took a new Class 10 16GB microSD card.
I downloaded and burned Ubuntu onto a CD from here: http://www.ubuntu.com/desktop/get-ubuntu/download
Put the card in my laptop, restarted it into Ubuntu.
Ran gparted.
Shrunk the Fat32 partition to just under 8GB and added another partion as ext2 primary.
When I restarted my laptop, my sd reader in the laptop doesn't work.
When I put it into the A7, it says the SD card has Total Space of 7.73GB.
At this point, I'm not sure what to do next.
Help is appreciated!
jazzbone said:
After setting up my wife's A7 and using it for three weeks, I have decided to open mine up. I waited because I wanted to see if CES had anything I wanted more. I decided they didn't.
So, I am starting from scratch again.
The main issue I've had with my wife's A7 has been the lack of storage space for apps, especially the big games.
Bazbob seems to have a solution by partioning the microSD card and using Apps2sd.
I took a new Class 10 16GB microSD card.
I downloaded and burned Ubuntu onto a CD from here: http://www.ubuntu.com/desktop/get-ubuntu/download
Put the card in my laptop, restarted it into Ubuntu.
Ran gparted.
Shrunk the Fat32 partition to just under 8GB and added another partion as ext2 primary.
When I restarted my laptop, my sd reader in the laptop doesn't work.
When I put it into the A7, it says the SD card has Total Space of 7.73GB.
At this point, I'm not sure what to do next.
Help is appreciated!
Click to expand...
Click to collapse
You needed to make a second partition EXT2 and format it. You then need to mount the partition. I did this by using the install-recovery.sh that it located in /system/etc. I used the following tutorial and it worked. I got over 12gb of space to install apps.
http://forum.xda-developers.com/showthread.php?t=832799
I did try to mount the new partition to /storage which is also /sdcard and i was still not able to use titanium backup to move apps. The only way i have alot of space is use this method.
I'm also mounting the fat32 partition to location /storage so that when i download apps thats where they are stored until you install them. Also Titanium backup dumps the backups here. This is done with a custom mod of Dexters 1.0c mod.
I did not use adb, i used a app called quicksshd which allows you secure ftp into the tablet and make changes. I suggest using a windows programs called winscp and putty.
Thanks for replying rfisher.
Turns out that my laptop lost the drive letter for the sd card. That's fixed now. When I insert the card into my laptop, it says that you need to format the card in the drive to use it. Any idea why?
I am confused by your instructions.
You said
You needed to make a second partition EXT2 and format it.
Click to expand...
Click to collapse
I did that. First partition is FAT 32, and second partition is EXT2, primary.
Maybe I didn't format the partition? I just created it.
I'll install busybox and see how far I can get with it.
With the other A7, I was never able to work with ADB.
This device really makes me feel like an idiot.
Still can't believe I was the first to get Google Apps working on my wife's tablet!
no adb
Well, the hours of frustration have returned...
I can't get adb running on my laptop.
I installed Android SDK.
When I type adb in the cmd window on my laptop, I get
"adb" is not recognized as an internal or external command, operable program or batch file"
I have tried moving the ADK folder to c:\
and
to:
C:\Users\Bucks HP
No luck.
I added the path c:\android-sdk-windows\platform-tools
to the environment variables in my system properties.
My head is going to explode!
Well, I got adb working, I think...
Problem was in the cmd window. I had to change the path.
Now, I can't install busybox. I followed the instructions from the wiki.
When I type "adb push busybox /data/local"
it returns: cannot stat 'busybox' : no such file or directory.
I pasted the busybox file in the
C:\android-sdk-windows\platform-tools
folder.
Was that the right place for it?
Is the busybox file just a text file?
Also, mine is named busybox-armv6l
Should it be renamed? I tried "adb push busybox-armv6l /data/local"
and got the same result...
I gave up on installing busybox via the wiki instructions.
I installed Titanium Backup and installed busybox through it.
Now, when I type: cd /system
mkdir sd
I get :
mkdir failed for sd, read-only file system
What does that mean and how do I fix it?
Thanks
The saga continues...
With the busybox from Titanium Backup installed,
I needed to type:
adb shell
su
mount -o remount,rw /dev/block/mmcblk3p1 /system
exit
exit
Then, following the tutorial, I am up to step 12:
12) Now comes the tricky part: making Android mount your new partition at boot time. All the hard work would be useless if Android discarded the mount points every time we restarted our phones. To do this we’ll need to create 2 scripts and store then into /system/etc. Obviously the scripts should be started by init.rc and need to run as root. Fortunately Android’s init.rc have a gap that makes this possible. The scripts are named install-recovery.sh and init-sd2.sh.
My question is: How do you create scripts?
You would create them with notepad++ which is a windows program. Then using adb push them to the /system/etc directory.
I used a app called quicksshd and a windows program called winscp to copy the files to the directory. If you used my method you first need to make the /system directory rw before it will let you copy the files. It worked for me, the only thing i did differently is edit init.rc to mount the first partition of the sd card to /storage, but this was creating a modded 1.0c rom. So the result is about 4gb for my sd memory and 12gb for installing apps.
jazzbone said:
The saga continues...
With the busybox from Titanium Backup installed,
I needed to type:
adb shell
su
mount -o remount,rw /dev/block/mmcblk3p1 /system
exit
exit
Then, following the tutorial, I am up to step 12:
12) Now comes the tricky part: making Android mount your new partition at boot time. All the hard work would be useless if Android discarded the mount points every time we restarted our phones. To do this we’ll need to create 2 scripts and store then into /system/etc. Obviously the scripts should be started by init.rc and need to run as root. Fortunately Android’s init.rc have a gap that makes this possible. The scripts are named install-recovery.sh and init-sd2.sh.
My question is: How do you create scripts?
Click to expand...
Click to collapse
Hi rfisher
Thanks for replying!
While waiting, I opened Notepad++, copied the text in the tutorial window into it and saved the file as Unix.
Then, I copied it to a USB drive, put it in the A7, and copied to the system/etc folder.
Is that acceptable?
Then, I followed steps 13-15.
I think I did something wrong. I am not seeing it in Root Explorer. What should I be looking for?
Was I supposed to install Apps2SD already?
I got winscp and quicksshd working. YEAH!
Used them to copy the files as you did.
Restarted A7.
Still don't see the other partition.
PS. I was just rereading your earlier post and you mentioned:
I did try to mount the new partition to /storage which is also /sdcard and i was still not able to use titanium backup to move apps. The only way i have alot of space is use this method.
I'm also mounting the fat32 partition to location /storage so that when i download apps thats where they are stored until you install them. Also Titanium backup dumps the backups here. This is done with a custom mod of Dexters 1.0c mod.
Looking on my A7, I don't see a location that is /storage
My tablet is fresh out of the box, without any firmware updates yet.

[Q] Redirect mount point of External SD..

Can I change the mount point of the External SD card (microsd) from
/mnt/external_sd
to
/mnt/sdcard/MicroSD
I tried changing the entry in vold.fstab to no help. it wasn't mounted to /mnt/external_sd but it also wasn't mounted to the MicroSD folder i made on /mnt/sdcard
This would let any program that doesn't have the ability to handle the external SD card to be able to access it as it wouldn't know where it was. I could then do this to USB drives plugged in as well.
Nova5 said:
Can I change the mount point of the External SD card (microsd) from
/mnt/external_sd
to
/mnt/sdcard/MicroSD
I tried changing the entry in vold.fstab to no help. it wasn't mounted to /mnt/external_sd but it also wasn't mounted to the MicroSD folder i made on /mnt/sdcard
This would let any program that doesn't have the ability to handle the external SD card to be able to access it as it wouldn't know where it was. I could then do this to USB drives plugged in as well.
Click to expand...
Click to collapse
This might not exactly be the route you wanna take, but have you tried adding a symlink? Might do the trick, then again, I'm having a little issue with the same thing right now. Looks like this has been a popular subject lately
symlinks seem to be inoperable in HC.
Found this on another forum
Have you tried "bind" mounting?
Doesn't wok for me as I have a stock (unrooted) transformer...
cd /mnt/sdcard
mkdir MicroSD
mount -o bind /mnt/external_sd /mnt/sdcard/MicroSD
Click to expand...
Click to collapse
Works fairly well. Doesn't effect the storage count for the internal memory however. if we could actually mount it to a folder inside the scdard mount then it may show up as extra space, but i kinda doubt that bit.
Those system files are overwritten on each reboot so you have to "mount -o bind" on every reboot.
If you find a way to make this mount point permanent let me know, I am looking for a way as well.
If you're rooted, I think USB Mount All did this.
powercat_ said:
Those system files are overwritten on each reboot so you have to "mount -o bind" on every reboot.
If you find a way to make this mount point permanent let me know, I am looking for a way as well.
Click to expand...
Click to collapse
What system files? Its simply a mount point created and handled in memory. its never added to a file. I forget what the start up command file is in linux that is the sister of DOSs Autoexec.bat. It would need to be added to that as the last command. Now i have read this is a risky command to run as it can create a endless loop if something attempts to scan the directories it can run into a recursive loop. Now I believe this is because most instances of this command tend to be used to bring a directory onto the desktop thats a few steps above it. Considering that the way I am using it is to link a directory that is outside the scope of another, it shouldn't ever cause this and be a pretty safe way to do it. The BIND command creates a hard link between the two locations. the /mnt/sdcard/MicroSD is a directory I created. when I bind it to the /mnt/external_sd directory the files appear in both places at the same time as MicroSD is simply a... tunnel as it were into External SD. But the programs are convinced its MicroSD. So those that can't use the external sd slot now can through this "tunnel". The same trick can also be applied to the directory for the USB thumb/flash drives.
Just create a directory for it on /mnt/sdcard
fermunky said:
If you're rooted, I think USB Mount All did this.
Click to expand...
Click to collapse
why pay when you can enter a command and its done?
Yes, mount -o bind works, but if you reboot, the mount point is no longer there.
Sure, we can add an entry to fstab, but the file is overwritten by a reboot
the autostart file is init.rc, which is overwritten by a reboot as well, so that rules out using it to auto mount this bind.
let me know if you find other information as I would very much like this to work.
FYI I started a thread about this command a few days back but never got any pertinent information:
http://forum.xda-developers.com/showthread.php?t=1287522
(this was before 3.2 when you couldn't access the SD card from usb)
Nova5 said:
why pay when you can enter a command and its done?
Click to expand...
Click to collapse
Because it is only a few bucks, and it will do it for you without having to manually do it. I know it's quite a simple task, but I say best out of sight/out of mind.
its overwrites those huh? that bites..
fermunky said:
Because it is only a few bucks, and it will do it for you without having to manually do it. I know it's quite a simple task, but I say best out of sight/out of mind.
Click to expand...
Click to collapse
Just takes a bit to track where we can stick the commands to get an auto start. I may make a simple script file to leave on the home screens. tap and done.
Okay it seems the location where the init.rc is stored is volatile. I created a test file in there and rebooted the tablet, file is gone. So its less overwriting and simply copying out of its hidden location to a usable one. sdcard in there is just a mount point for the actual hardware address location of the sdcard. So if we want to get the autostart we would have to discover where HC pulls that data from on boot.
Bind will fail if the location that actually holds the data is not present/ready. usb_storage is more affected by this as a user doesn't normally leave a flash drive in the port. Script manager can auto-execute a script on boot. Works well enough.
hmm...
It appears if you remove the usb drive after making the bind, the bind is broken. So while its workable, its not perfect. Of course since the microsd card is rarley removed, this isn't much of an issue. If we could get the script to also run on insertion of the USB drive that would then make it work better.
SCript Manager allows one to create a direct shortcut to execute a specific script. So you can swap USB drives, tap the script icon and then access the script through the bound directory.
I use the following program created by RubberBigPepper from an alternative russian site about android apps and devices.
Any interesting effect I've noticed, any time the script runs it creates a new mount entry for the bind command, even if that bind already exists. OfficePro5 shows this by listing MicroSD for each bind entry. So I had 13 entries of MicroSD as it ran that many times, due to a setting I shouldn't have checked... Run on Net Change. But it pointed out this interesting effect.
I now see the need for this as one of my apps does not natively see the ext sd card.
OK I tried the apk above and it does not seem to work. I get a folder called ex_sdcard but it is empty and does not reflect the sd card contents.
Nova, you found another way yet you could share, or do I just need to manually create symlinks after every boot?
mountmicrosd.sh
Code:
# Note : Super user required. Your Tablet MUST be rooted!
# Removing the card will disrupt the bind. And Require running script again when plugged back in.
echo Breaks any existing Bind mount to avoid creating duplicate Bind entries. a "failed" response is acceptable as is no response.
umount /mnt/sdcard/MicroSD
echo execute Micro SD mount - card must be plugged in or Invalid Argument error will occur.
mount -o bind /mnt/external_sd /mnt/sdcard/MicroSD
Place the above in a text file with the extension .sh Download from the Market a program called Script Manager. Place the sh file in your SD card root. Run script manager, select that file and check two boxes. Run on Boot, Run as Root. Also create the directory of "MicroSD" Just as its typed. Linux is very caps sensitive. now every time you boot it will automatically run the script and bind the ExSD to the MicroSD directory.
This one will do the USB drive.
mountusb.sh
Code:
# Note : Super user required. Your Tablet MUST be rooted!
# Removing the drive will disrupt the bind. And Require running script again when plugged back in.
echo Breaks any existing Bind mount to avoid creating duplicate Bind entries. a "failed" response is acceptable as is no response.
umount /mnt/sdcard/USBDrive
echo execute USB Drive mount - drive must be plugged in or Invalid Argument error will occur.
mount -o bind /mnt/usb_storage /mnt/sdcard/USBDrive
Create a widget with ScriptManager to have a touchable icon on your screen to run this one. Note it must have the folder "USBDrive" created on the sdcard.
It is unimportant if you use the same filename.sh i did. That is just so I knew at a glance what it does. # is a comment and Echo prints the text following it to the screen. I found a way around the mutiple bind entries by simply unmounting it before making the mount bind. You might see a Failed error, this is just fine. it just means there was no mount for it to undo on its first run. this will be more helpful on the USB drive script than the MicroSD card one.
Very cool, Nova5!
Thanks for taking the time to research it further.
I tested your solution and it works fine!
I updated it with a fix to prevent the multiple entries. You'll need to update your files to reflect the changes I made. a reboot will be the simplest way to ensure it starts with a clean slate. Notice I removed the comment about Running it once only, due to the umount command preceeding the mount command. This removes the bind from memory and then when its created again you don't have the problem of 13 entries of MicroSD in OfficePro like I ran into.
Alright, I think its as good it is going to get. You could put them in the same files but for simplicity and being able to swap USB drives without affecting the ExSD card two files is best.
Wait... debug time. I goofed something.
Okay fixed up and working right. Remember what I mentioned about linux and capitals? oops. Echo is not echo.
Shucks, im not rooted.

External card as ext2?

Can I have external card mounted as ext2? I have files names not supported by fat and sync'ed with dropbox
Yes, you can but afaik there is no easy way to do this.
I formatted my sdcard to ext2 (because I wanted to put large file (image for wikipedia offline) on my sdcard).
I formatted the beginning (~30MB) of my sdcard to fat32 so that the Nook detect the sdcard and does not trigger an error and the remaining part to ext2.
Then I used a script that mount manually the ext2 partition to /sdcard on boot.
This generally works but I have sometimes a few bug in some applications, especially when I connect and disconnect my Nook to my computer...
The best solution would be to find a way so that Android can automount a ext2 partition by itself but I don't know how to do it.
Instead of using the whole card I partitioned the first 4gb as fat16 (msdos) and then set the rest to ext3. When the fat16 space runs out I'll look into making some sort of script to try to mount the second partition. At the moment with the card acts like a normal 4gb card.
is it possible to repartition the nook to be able to use the space that b&n reserves for its contents? I heard that the space for our files is just 250 mb.
user4242 said:
is it possible to repartition the nook to be able to use the space that b&n reserves for its contents? I heard that the space for our files is just 250 mb.
Click to expand...
Click to collapse
yes of course. If you're used to linux repartitioning and the dd command then it's a breeze. If you're a Windows user who've never done partitioning or disk imaging then you can easily mess up.
I'll assume the former.
It's just a case of:
boot with a noogie.img that you've written to a sdcard (root of card, not partition 1)
then plug it in
now you can see all the nook partitions like it's an external USB drive and fdisk, cfdisk, partitionmagic or whatever you want
Obviously you're gonna want to backup first because if you mess up the only way to restore would be asking one of us off this forum to break the distribution laws and send you a 2gb (or whatever it is) image.
All the details on this forum
Has someone tried editing /system/etc/vold.conf to get a ext-formated SD-Card mounted?
mali100 said:
Has someone tried editing /system/etc/vold.conf to get a ext-formated SD-Card mounted?
Click to expand...
Click to collapse
I checked, I had modified it adding a line "partition 2" in the section "volume_sdcard2" so that Android does not show the message "SD card blank or has unsupported filesystem".
But I couldn't make it mount a ext2 sdcard itself. (if you know how to do it without using another script, I'm interested)
Time to resurrect this thread.
FAT is ugly. File timestamps are in local time (whatever that means, summer? winter?).
The Nook vfat implementation has problems with caching in and out directory info on vfat
and intermittently changes all the modify timestamps by 1, 4 or 5 hours.
This can play havoc if you are trying to keep things synchronized by filetime.
I've decided to have my SD card be ext3
Our volume demon, /system/bin/vold (which is ancient) uses /system/etc/vold.conf to configure automounting.
It presumes that all volumes are vfat.
It seems from a brief look inside that it does handle ext2 and ext3 somehow.
There is also the question of getting it to automount USB drives.
The easiest solution to ext3 on the SD card is to make it non-removable.
First, delete the second section out of vold.conf that relates to the SD card.
Then edit init.rc:
Code:
mkdir /sdcard 0777 system system
...
mount ext3 /dev/block/mmcblk1p1 /sdcard nosuid nodev noatime nodiratime uid=1000,gid=1015,fmask=117,dmask=007
chown system sdcard_rw /sdcard
chmod 0770 /sdcard
If you feel like having 12 partitions on your SD card you can.
That leaves vold only handling the mounting of /media
This exists so that you can serve /media as USB Mass Storage.
You could have /media be a fixed mount by doing what you just did to the SD card.
The only hiccup there would be the Adobe Digital Editions wants to see /media as UMS.
Note: To edit init.rc, download bootutil from the signature, extract, edit and replace init.rc in uRamdisk.
Make sure that you have a backup and a recovery!
Note: All of the above changes to init.rc are wrong.
I can get it to mount in a shell, but not in init.rc
Whoops.
Oops, this thread has been forgotten.
Yes, auto-mounting ext3 SDcards has been solved.
See: http://forum.xda-developers.com/showthread.php?t=2184495

How can I create a symlink or bind for USB in the sdcard directory?

I have a rooted a500 and was able to bind the external SD card to a folder in the sdcard directory using "mount -o /mnt/external_sd /mnt/sdcard/external-sd". I was able to do the same with a fat32 USB thumb drive but it breaks as soon as I unplug the USB.
Is there any way to create a link or bind the USB on a more permanent basis? Essentially, I want to be able to quickly get to files on the drive in estrongs file manager without having to change to default directory from sdcard.
Thanks in advance for any assistance.
Sent from my A500 using Tapatalk
Of course, as soon as I posted this, inspiration struck and I simply changed the mount point.
If anyone else wants to do this, you need to edit /etc/vold.fstab to point the the new mount locations. I just changed the mount point to the new folders I created in sdcard and rebooted. Also did this for the external SD card so that I don't have to rebind it each time I reboot.
Sent from my A500 using Tapatalk

Mount EXT4 MicroSD Card

I've given up on reformatting the internal memory as EXT4 (my last post). However now, I want to mount an external SD card that is EXT4 (or any file format that has UNIX permissions). I can't get my device to mount the card, it says the filesystem is unsupported. Now, that's bull**** since Android has built in support for EXT. After searching threads here on XDA and Google, and even purchasing EzyMount as recommended, I can't get it to mount. I've tried BusyBox and mount commands (as root), with various errors such as "mount operation not supported on transport endpoint". I'm at my wit's end by now, trying to get some filesystem which has support for symlinks and UNIX permissions... any ideas?
kcattakcaz said:
I've given up on reformatting the internal memory as EXT4 (my last post). However now, I want to mount an external SD card that is EXT4 (or any file format that has UNIX permissions). I can't get my device to mount the card, it says the filesystem is unsupported. Now, that's bull**** since Android has built in support for EXT. After searching threads here on XDA and Google, and even purchasing EzyMount as recommended, I can't get it to mount. I've tried BusyBox and mount commands (as root), with various errors such as "mount operation not supported on transport endpoint". I'm at my wit's end by now, trying to get some filesystem which has support for symlinks and UNIX permissions... any ideas?
Click to expand...
Click to collapse
you fully rooted with custom kernel or only with rdlv etc?
First you gotta figure out how to mount this damn thing, gotta be possible.
Then you need to get this done on bootup, either in init.rc or init.d or smth.
You probably just use wrong commands? But I could be wrong, didnt try that yet but would also be interested. Having the file permissions also on SD would be nice, but it could cause trouble with mtp maybe?
zroice said:
you fully rooted with custom kernel or only with rdlv etc?
First you gotta figure out how to mount this damn thing, gotta be possible.
Then you need to get this done on bootup, either in init.rc or init.d or smth.
You probably just use wrong commands? But I could be wrong, didnt try that yet but would also be interested. Having the file permissions also on SD would be nice, but it could cause trouble with mtp maybe?
Click to expand...
Click to collapse
I am rooted, but stock ROM and kernel. MTP is for connecting to a computer? If it is, I don't need that. I have tried
mount -rw -t ext4 /dev/block/mmcblk1p1 /storage/extStorageCard
and variants switching the flags and options.
Interesting... I just typed that command in to make sure I didn't make any typos.... and my phone crashed and rebooted. I typed it again to see if it would cause another crash and it appears to have mounted the card! Whwn I type "df" at the prompt it now shows a 28.6 GB filesystem at that location, which has to be my sd card.
Why, how, I don't know. It works, it's all I can say.

Categories

Resources