Beware, this guide is more or less untested, it will interfere with stuff like memory encryption and OTA or other firmware updates. You have been warned, I assume no warranties for bricked phones, SD cards or lost data.
Many cheap-ass Mediatek phones ship with Android 4.4.2 or later and only ridiculous amounts of internal storage (2GB in my case, CAT B15Q). That may be enough for basic apps, but as soon as you install Navigon or other data-heavy apps (or WhatsApp with a load of videos) you're going to run out of space in no time - and because Google is a bunch of fools, they disallowed app installations to SD cards entirely in 4.4!
So, we're going to move /data in its entirety to our nice huge SD card and be able to use even bigger apps on small phones. It might be possible that this guide works on other phones, but that depends on how they boot and where the fstab and init.rc reside!
Prerequisites:
Mediatek-based 4.4.2 or later phone with root access in recovery (boot it in recovery, run adb shell, therein run id. If it says root, all fine. If not, install CWM)
A large enough SD card (I chose a 32GB card with a 50:50 split between /data and the "external sd card")
Solid Linux knowledge, one Linux PC and one Windows PCs. I urge you to NOT use any kind of VM unless you have experience with USB passthrough.
spFlashTool and the Mediatek drivers from http://forum.xda-developers.com/general/general/stock-rom-cat-b15q-rom-development-t2988774, for a flashing guide see http://forum.xda-developers.com/android/help/howto-firmware-flashing-cat-b15q-t2989627
mtkdroidtools from https://www.androidfilehost.com/?fid=23501681358558543 on the Windows PC
mtk-tools from https://github.com/bgcngm/mtk-tools on the Linux PC (no, Cygwin does not work, it messes up the permission bits), cloned on an ext4 partition (not sure if ext2/3 can handle the extended permission bits...)
a network connection between the PCs or a USB stick to transfer files
Take the sd card out of the phone and insert it into your computer. Many laptop SD slots don't like SDXC (>4GB), you might need e.g. a Huawei 3G stick or a SDXC-compatible USB dongle.
Repartition the SD card using Acronis Disk Director, gparted or whatever you're familiar with. The first partition must only be resized (this is the FAT partition), the second partition is a ext4 (!) partition. Both MUST be primary partitions. Acronis and other tools on Windows might require a reboot to repartition SD cards. I recommend a 50:50% split, but if you're heavy on apps or their data, you might go for a 25% FAT: 75% EXT4 split.
Boot your phone into recovery, connect to it with adb in a root shell.
Assuming your data partition is at /dev/mmcblk0p8 (look in /fstab to find it out, followed by mount /data and ls /data to verify), execute the command "dd if=/dev/mmcblk0p8 of=/dev/mmcblk1p2", wait until it is finished. This can take up to ten minutes or more, depending how much data there is.
Shut down the phone, take out battery and SD card.
Insert the SD card into your Linux machine, run resize2fs /dev/sdb2 (or wherever the ext4 sd card partition ended up, check it in dmesg) as root so that the filesystem grows; then eject the SD card and put it back into your phone
Readback your BOOTIMG partition, transfer it to the linux PC (or, if you already have a boot.img for your current firmware, use this one)
On the Linux PC, open a rootshell (to avoid permission issues when building the ramdisk).
Run "./unpack-MTK.pl /path/to/bootimg"
"cd boot.img-ramdisk" (directory might be named different, depending on how you named the bootimg dump file)
Using a text editor, edit the "fstab" file(s) (there might be multiple, with suffixes): From (adjust if needed)
Code:
/[email protected] /data ext4 noatime,nosuid,nodev,noauto_da_alloc wait,check,encryptable=footer
to:
Code:
/dev/block/mmcblk1p2 /data ext4 noatime,nosuid,nodev,noauto_da_alloc wait,check,encryptable=footer
Now, edit the init.rc file (beware, other .rc files in the ramdisk root might also contain mount commands!).
Search for "on fs_property:ro.mount.fs=EXT4" and again replace /[email protected] (or whatever the node for /data had been) with /dev/block/mmcblk1p2 in the commands in this block (should be fsck, tune2fs,ext4_resize and mount).
Repack the boot image: ./repack-MTK.pl -boot boot.img-kernel.img boot.img-ramdisk/ /path/to/newboot.img
Transfer newboot.img to the Windows PC and flash it using spFlashTool
boot your phone, look in Settings->Memory to see if it went OK!
If the memory view didn't change, also modify the other blocks of on fs_property, in case your device does not use an ext4 rootfs (but yaffs or ubifs instead).
Functionality
It is a good idea, but
Are I still have part of it as external storage?
If yes, it means I can not remove it because there are some apps used it.
If no, it means I will not have external storage anymore!
e.ahmedmahfouz said:
It is a good idea, but
Are I still have part of it as external storage?
If yes, it means I can not remove it because there are some apps used it.
If no, it means I will not have external storage anymore!
Click to expand...
Click to collapse
The SD card is now both internal and external storage! You are not able to remove it because else your system will not boot anymore.
harddisk_wp said:
The SD card is now both internal and external storage! You are not able to remove it because else your system will not boot anymore.
Click to expand...
Click to collapse
what if the sd card is damaged ?
Can my phone boot again..or will booltloop
madthinker said:
what if the sd card is damaged ?
Can my phone boot again..or will booltloop
Click to expand...
Click to collapse
If you manage to kill your sdcard while you have my sdcard hack installed, then the phone will bootloop until you insert a new sd card partitioned just like the old one. Then it will act like you had factory-resetted it.
Alternatively you can always reflash original boot.img/recovery.img and use the phone with limited internal memory.
harddisk_wp said:
If you manage to kill your sdcard while you have my sdcard hack installed, then the phone will bootloop until you insert a new sd card partitioned just like the old one. Then it will act like you had factory-resetted it.
Alternatively you can always reflash original boot.img/recovery.img and use the phone with limited internal memory.
Click to expand...
Click to collapse
i see, thanks to explain me :good:
There is another way to get more space: Link2SD (2.- euros) with a second partition on your external SD-card exactly like shown above (ext4 partition, primary).
The advantage is, that if the sdcard is faulty the system still runs, just the apps which are symlinked to the ext4 partition won't run.
So I use this for all these not absolutely important apps which needs lots of internal memory, e.g. kindle bookreader, Amazon, WhatsApp etc. I dont use it for all apps, most importantly not for any app, where there is no alternative. Last week my two years old 64 GB MicroSD card (SanDisk, with warranty 10 years) in my SGS4 stopped working and this could happen all the time. They are not that reliable I think, that I would put my system on it.
I did this now with the Cat B15Q of my friend.
EDIT: and she has now more than 1 GB free internal space
I think this is the best solution, 2 GB for the pure ROM and the system apps is more than enough and all user apps go to the external sd-card (2nd partition).
good day!
hope you can help me.
what if i want vice versa? because my phone's default storage (0) is sd card.and i want my default storage will be its internal since it is 32gb rom. tried all ways but i think the answer is its boot.img. thank you..hoping for a help
Related
Hello! I've searched all over the internet about this but haven't found any usable information about this. I was thinking about storing music files etc on the ext partition on my SD-card. I've a 8GB sdcard with a 64MB swap, 1024MB FAT32 and rest of the space goes to an ext2 partition. The problem is, how do I acess the ext2 partition in the phone? I know it is placed in /system/sd. But it seems it is only the super-user who has access to this folder. Is it possible to symlink the folder to another place and make it accessible for the user?
Every info I find is about storing apps on the ext-partition, which works. But having 6GB space for apps feels very overkill. FAT32 seems to be quite limited to speed when copying files, and also it have size limit of files.
The easiest and most recommend way to solve your problems is to repartion your card to:
0M swap (no use for swap on hero)
512M ext2 (see below)
rest as FAT (over 7G for your music)
If you plan on having every single one of the apps on the market you can give the ext2 partition 1024MB, no need to give it any more. There are numerous problems that can arise from having larger ext2 partitions, just of the top of my mind if you do have more data on the ext2 partition larger than your FAT free space you can't do a nandroid backup, you'll end up storing too much stuff on the ext partition which is usually wiped on ROM update and replacement, and it is much harder to access these files, as opposed to the FAT partition which is can be mounted as a USB drive to your PC.
Finally note I said ext2, and not ext3/ext4 because Ext3/4 are journaling file systems which are NOT suited for flash devices. They also have much more CPU overhead then ext2. Finally not all ROMs/kernels support ext3/ext4 and for a good reason!
BTW, please post questions in the either the Q&A or general sections. This is the DEVELOPMENT fourm.
Good luck.
Thanks for your reply, and sorry for posting in the wrong forum, which is quite obvious when I see it now!
Moved to Q&A as not development
erasmux said:
The easiest and most recommend way to solve your problems is to repartion your card to:
0M swap (no use for swap on hero)
512M ext2 (see below)
rest as FAT (over 7G for your music)
If you plan on having every single one of the apps on the market you can give the ext2 partition 1024MB
Click to expand...
Click to collapse
+1, Yeppers, wow a 6gb ext... That is some serious overkill,why?
Sent from my phone.
I was thinking to use the ext partition as a storage of music etc instead of the fat32 partition. The ext-partition is faster to copy files on, especially if you get a 32gb card and maybe you want to transfer big files. If I remember it right FAT32 table doesn't allow file-sizes more the 4GB, and it is also slower to copy to or from.
Any linux operating system should be able to read the ext partition on your sd card, or a program such as gparted is another thing to look into. Remember you can boot to linux without installing the operating system (boot from CD). Ubuntu or Knoppix is a good one to check out if you're new to it all.
Hehe, I think you did misunderstand my main question. The question is how to read the ext-partition directly from the phone with a file-manager (i.e. Astro File Manager). Not from a computer, from the phone, in the phone.
Vantskruv said:
Hehe, I think you did misunderstand my main question. The question is how to read the ext-partition directly from the phone with a file-manager (i.e. Astro File Manager). Not from a computer, from the phone, in the phone.
Click to expand...
Click to collapse
O in that case you have no chance lol. AFAIK there isn't any program designed for this purpose.
Vantskruv said:
Hehe, I think you did misunderstand my main question. The question is how to read the ext-partition directly from the phone with a file-manager (i.e. Astro File Manager). Not from a computer, from the phone, in the phone.
Click to expand...
Click to collapse
Well it depends where your ROM mounts it. I think most ROMs mount it to /system/sd, so you can use any file explorer with root permissions to browse there (i.e. ES File Explorer).
I'm opening a new thread as this is really the work of verygreen, racks11479, j4mm3r, stilger, and rookie1.... and I've hijacked their threads enough as I only did minor repackaging to put this together as a hopefully generic template image...
This is but an attempt to create a mostly generic SDcard template for installing all versions, as base for Froyo, CM7, or Honeycomb as an SDcard install...... Most of the features best lend themselves to CM7 as verygreen's Alternate (uAltImg/Ram) allows installing and upgrading all current variants of CM7... but with Recovery as CWR 3.0.1.0/Ext3/4 with verygreen's installer/upgrader as uAltImg/Ram it can handle all your CM7 variant install and upgrade/migrate to SDcard needs...
The generic 2GB expandable image is available from;
http://dev-host.org/aewwoavj437z/Nook-2GB-SDCard-CW3010-VGCM7InstallerAsALTinMultiBoot-v6.zip
I suspect/hope that this thread will fade fast from the first page but just hope it will be useful for folks when modeling and building generic SDcard bootable versions...
EDIT: For folks who just want to update just their existing SDcard boot partition and get this boot functionality
I removed the files you shouldn't change from an existing /boot dir and zipped up the rest and posted this zip in my dropbox
http://dl.dropbox.com/u/6922721/jtbnet-modified-bootfiles.zip
Just have your SDcard mounted as /boot on your PC and extract this zip to it to get the same boot options as my card...
The layout of the current .v6 template SDcard to allow it to fit on a 2GB minimum size card is;
Part. # Name FStype Alloc. size Free Space
1 /boot FAT32 149MB 120MB
2 /system EXT3 462MB 455MB
3 /data EXT3 964MB 948MB
4 /sdcard FAT32 39MB 38MB
This is a Generic 2GB expandable template SDcard image to use to create pretty much whatever bootable SDcard you want...
How it differs with earlier Generic SDcards is I reorganized the default, Recovery, and Alternate boot choices using j3mm4r's multi-boot bootloader.
I updated Recovery to the newest version CWR 3.0.1.0 modified to write to SDcard instead of Internal/eMMC memory partitions with the help of user stilger. This can be used for Backup and Restore of full cards... as well as installing of CW packages like Google Apps, and Custom CW Rom Install packages you can find for Froyo, Honeycomb Preview and Gingerbread in this forum...
I moved verygreen's CM7 Installer/updater to the Alternate boot choice... In verygreen's thread he uses this as the default Kernal and Ramdisk which gets overwritten by the package you install... thus the need for 2 cards or copying files around to reuse the original... with this as Alternate it doesn't get overwritten and thus is available next time you want to use it... like Install CM7 for the first time... then upgrade to the new Nitely the next day without need for finding and copying files or using 2 cards...
How verygreen's Installer/updater differs from CWR... With vg's installer you place the installable files on the /boot partition... this installer will install SDcard ready or agnostic installables AND will install eMMC designed version CM7 builds and do on the fly conversion to SDcard version during the install seemlessly...
CWR 3.0.1.0 for SDcard will expect the install zip or backup file to be on the 4th/sdcard partition and expects these to be agnostic installs as it doesn't do anything on the fly to make these run on SDcard... It they are built or modifed to run on SDcard thats fine and installing from this Recovery works as would be expected...
I extended the size of the boot partition to have ~120MB free to allow for installing larger images as the prior ~100MB space was too close to currently typical installable Custom Rom packages.
The 4th /sdcard partiiton is created Very small to fit on a 2GB SDcard and really needs to be expanded using Easeus Partition Manager on Windows or an equivalent program on your OS of choice to fit your size choice of SDcard...
I will offer some experience with SDcard here... I bought 10 different manufacturers, and Class/speed cards... I ran disk benchmarks for all and then used the ones that performed best for daily use... Sandisk brand is the most generally faster than the Class it's stamped... A Class 4 beats most brand's Class-6... I wanted the fastest... and settled on buying 8 cards as KingMax Class-10 SDcards, 4 4GB and 4 8GB, from buy.com... these aren't the cheapest cards by far, BUT in this case you DO get what you pay for...
So for daily use I'd reccommend the KingMax 8GB Class-10 cards as I've gotten better than 2000 Quadrant scores running these cards for Froyo, Honeycomb, and CM7 Gingerbread installs... this is as good or better performance than most scores I've seen from folks running the same installs on Internal/eMMC...
CM7 Install Example by User stilger
with comments added by jtbnet and xdabr:
----------------------------------
You *should* be able to do the following with the image provided in this thread on your 2gb card:
1. Download image from this thread (currently v6)
http://dl.dropbox.com/u/6922721/Nook-2GB-SDCard-CW3010-VGCM7InstallerAsALTinMultiBoot-v6.zip
2. Write this Image to your card (I use win32diskimager or dd in linux)
3. Use Easeus Partition Manager to extend the 30MB 4th FAT32 /sdcard partition to fit your current SDcard
4. Once the card is written, place the cm7 zip in the root of the boot filesystem.
(Should be a drive letter with boot in the name with files like uImage uRecImg etc on it)
http://mirror.teamdouche.net/?device=encore
5. Place the gapps zip of your choice in the same "boot" filesystem.
http://android.d3xt3r01.tk/cyanogen/gapps/gapps-gb-20110307-signed.zip
6. Place SDcard in your Nook.
7. Turn on Nook.
8. Hit N button when it says Press any key for menu.
9. Choose SD and Alternate as your boot option
10. Let it finish. It says it will reboot but usually hangs for me so I give it 10 seconds after the screen goes black and long press the power button until it starts up...
11. Boot into CM7
TIP: To have rooted stock eclair version nook use the same sdcard partition (#4) as you use when booting on an SDcard bootable you can make one simple edit to the stock eclair /system/etc/vold.conf...
There are 2 definition blocks in the file... the first is for mount of internal eMMC partition 8 as /media, while the second block is to mount the 1st sdcard partition as /sdcard... to change this so that the 4th partition on the SDcard gets mount to /sdcard just Add a line;
partition 4
in the second block with your favorite editor like Root Explorer, or via adb pull,edit,push of the vold.conf file... and reboot...
I.E.:
## vold configuration file for zoom2
# modified for encore
volume_sdcard {
## This is the direct uevent device path to the SD slot on the device
media_path /devices/platform/mmci-omap-hs.1/mmc_host/mmc0
partition 8
media_type mmc
##mount_point /sdcard
mount_point /media
ums_path /devices/platform/usb_mass_storage/lun0
}
volume_sdcard2 {
## Currently points to internal eMMC, assumes eMMC is formatted as FAT32
media_path /devices/platform/mmci-omap-hs.0/mmc_host/mmc1
partition 4
media_type mmc
##mount_point /media
mount_point /sdcard
ums_path /devices/platform/usb_mass_storage/lun1
}
Just to verify, this image has?
J4mm3r's multi-boot
CWM 3.0.1.0 but with correct mounts like racks11479's CWM 3.0.0.6 as uRecImg/Ram
verygreens installer as uAltImg/Ram
I had already done the same with racks CWM, but that's ext4 only I believe.
This will be great with CWM 3.0.1.0.
Thanks for putting this together
P.S. What is the CM7 vesion as uImage/uRamdisk?
Tried to burn the image on a 2Gb SDcard to look inside.
It's a 4GB image not 2GB.
bobshute said:
Tried to burn the image on a 2Gb SDcard to look inside.
It's a 4GB image not 2GB.
Click to expand...
Click to collapse
Sorry Bob... I uploaded the wrong image... Had a long day at work today so just getting to uploading a fresh image... this one IS 2 GB with larger/150MB /boot but a very small 4th /sdcard partition, and has formated system and data so won't boot to CM7 anymore but it's much cleaner...
Only thing this 2GB image only zips down to 800MB... strange as the wrong card I uploaded last night was a 4GB card I was testing with and with lots of data on system and data and it zipped down to 300MB... but this one is cleaner and does boot to CWR 3.0.1.0 as recovery and verygreen's CM7 install/updater as Alternate boot...
It's taking forever to upload so I may not be able to update the link in the original post till the morning as already well after midnight now...
bobshute said:
Just to verify, this image has?
J4mm3r's multi-boot
CWM 3.0.1.0 but with correct mounts like racks11479's CWM 3.0.0.6 as uRecImg/Ram
verygreens installer as uAltImg/Ram
I had already done the same with racks CWM, but that's ext4 only I believe.
This will be great with CWM 3.0.1.0.
Thanks for putting this together
P.S. What is the CM7 vesion as uImage/uRamdisk?
Click to expand...
Click to collapse
You are correct on what it has for uRecImg/Ram and uAltImg/Ram and yes Racks' 3.0.0.6 is Ext4 Only.... thus why I wanted to update to 3.0.1.0/Ext3 and Ext4...
That wrong 4GB upload from yestrday was the test card I had expanded and tested installing CM7 RC4 with UI tweaks to test VG's installer and then restored system and data from my normal card's backup to test CWR 3.0.1.0... so I mixed up the cards when I made the image and uploaded the expanded test 4GB version instead of the original blank 2GB version I started with...
Updated OP with cleaned up file...
Thanx to Verygreen's suggestion to zerofill the system and data partitions to allow for better compression I uploaded v4 where the zipped filesize is down to 420MB from prior zip of 770MB. OP link is updated...
I'm going to continue to see if I can find a way to make this significantly smaller while still containg all 4 mountable partitions and will upload any success story if/when it might occur...
I actually used the 2GB image itself booted to CWR and ran 'adb shell' to allow me to use the 'dd' command to zero fill the system and data partitions... THANX again to verygreen for that idea...
jtbnet said:
Thanx to Verygreen's suggestion to zerofill the system and data partitions to allow for better compression I uploaded v4 where the zipped filesize is down to 420MB from prior zip of 770MB. OP link is updated...
I'm going to continue to see if I can find a way to make this significantly smaller while still containg all 4 mountable partitions and will upload any success story if/when it might occur...
I actually used the 2GB image itself booted to CWR and ran 'adb shell' to allow me to use the 'dd' command to zero fill the system and data partitions... THANX again to verygreen for that idea...
Click to expand...
Click to collapse
jtbnet - I think zeroing the /data and /system file systems causes your script to fail. I put this image on an 8gb sd card today. I copied the latest Tablet Tweaks and gapps zip files to the boot partition rebooted into altboot.. It failed not being able to create files. Took the nook into recovery logged in via ADB and /system where full:
Before:
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 250080 32 250048 0% /dev
/dev/block/mmcblk0p7 350021 52983 278967 16% /cache
/dev/block/mmcblk1p2 458925 458925 0 100% /system
/dev/block/mmcblk1p3 972436 972436 0 100% /data
Click to expand...
Click to collapse
Used recovery to format /data and /system.
After:
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 250080 32 250048 0% /dev
/dev/block/mmcblk0p7 350021 52983 278967 16% /cache
/dev/block/mmcblk1p2 458925 8238 426992 2% /system
/dev/block/mmcblk1p3 972436 16424 906616 2% /data
Click to expand...
Click to collapse
Booted into alt boot after copying zip files to /boot again and everything installed fine.
stilger said:
jtbnet - I think zeroing the /data and /system file systems causes your script to fail. I put this image on an 8gb sd card today. I copied the latest Tablet Tweaks and gapps zip files to the boot partition rebooted into altboot.. It failed not being able to create files. Took the nook into recovery logged in via ADB and /system where full:
...
Used recovery to format /data and /system.
.
Booted into alt boot after copying zip files to /boot again and everything installed fine.
Click to expand...
Click to collapse
THANX
I had been just deleting the filler files in CWR (/system/zerofile and /data/zerofile) instead of formatting... BUT I think I have found the answer... I need to zerofill to cause the 2 partitions to compress reasonably... BUT if I create the files then sync,umount,re-mount then delete the files, sync, umount this frees space by freeing the inode but shouldn't actually touch the zerofill'd now freed space... so compression should be the same without the files...
I'll give this a try and upload v5 later hopefully...
EDIT: finally found time to upload v5... well mirror is still in process... /data and /system now empty and result is even a few bytes smaller...
Thank you jtbnet, but I am so confused.
Personally I'm mostly interested in SD card booting because I'd still like to leave the internal eMMC memory stock or near-stock.
But I get confused as to how the "size agnostic" approach ultimately writes to the card, whether it uses the NC or a PC as an intermediary to get the card written, how Clockwork Recovery comes into play if at all (I thought it was only used when you ARE futzing with the eMMC instead of cleanly booting off SD card), and more.
I would prefer a list of disk images I can write to an SD card with standard tools (I used "dd" on a Mac for brian's Nookie Froyo SD image), but it seems your mod here and the main size-agnostic installer are more complicated than that.
Is there a simple explanation you can give me (and other similar newbies)?
xdabr said:
Thank you jtbnet, but I am so confused.
Personally I'm mostly interested in SD card booting because I'd still like to leave the internal eMMC memory stock or near-stock.
But I get confused as to how the "size agnostic" approach ultimately writes to the card, whether it uses the NC or a PC as an intermediary to get the card written, how Clockwork Recovery comes into play if at all (I thought it was only used when you ARE futzing with the eMMC instead of cleanly booting off SD card), and more.
I would prefer a list of disk images I can write to an SD card with standard tools (I used "dd" on a Mac for brian's Nookie Froyo SD image), but it seems your mod here and the main size-agnostic installer are more complicated than that.
Is there a simple explanation you can give me (and other similar newbies)?
Click to expand...
Click to collapse
Check racks11479's thread for a good number of SDcard installable versions...
http://forum.xda-developers.com/showthread.php?t=998861
I do hope to find time to update the second post in this thread with some much better explanantion... but in short...
This is a Generic 2GB expandable template SDcard image to use to create pretty much whatever bootable SDcard you want...
How it differs with earlier Generic SDcards is I reorganized the default, Recovery, and Alternate boot choices using j3mm4r's multi-boot bootloader.
I updated Recovery to the newest version CWR 3.0.1.0 modified to write to SDcard instead of Internal/eMMC memory partitions with the help of user stilger. This can be used for Backup and Restore of full cards... as well as installing of CW packages like Google Apps, and Custom CW Rom Install packages you can find for Froyo, Honeycomb Preview and Gingerbread in this forum...
I moved verygreen's CM7 Installer/updater to the Alternate boot choice... In verygreen's thread he uses this as the default Kernal and Ramdisk which gets overwritten by the package you install... thus the need for 2 cards or copying files around to reuse the original... with this as Alternate it doesn't get overwritten and thus is available next time you want to use it... like Install CM7 for the first time... then upgrade to the new Nitely the next day without need for finding and copying files or using 2 cards...
How verygreen's Installer/updater differs from CWR... With vg's installer you place the installable files on the /boot partition... this installer will install SDcard ready or agnostic installables AND will install eMMC designed version CM7 builds and do on the fly conversion to SDcard version during the install seemlessly...
CWR 3.0.1.0 for SDcard will expect the install zip or backup file to be on the 4th/sdcard partition and expects these to be agnostic installs as it doesn't do anything on the fly to make these run on SDcard... It they are built or modifed to run on SDcard thats fine and installing from this Recovery works as would be expected...
I extended the size of the boot partition to have ~120MB free to allow for installing larger images as the prior ~100MB space was too close to currently typical installable Custom Rom packages.
The 4th /sdcard partiiton is created Very small to fit on a 2GB SDcard and really needs to be expanded using Easeus Partition Manager on Windows or an equivalent program on your OS of choice to fit your size choice of SDcard...
I will offer some experience with SDcard here... I bought 10 different manufacturers, and Class/speed cards... I ran disk benchmarks for all and then used the ones that performed best for daily use... Sandisk brand is the most generally faster than the Class it's stamped... A Class 4 beats most brand's Class-6... I wanted the fastest... and settled on buying 8 cards as KingMax Class-10 SDcards, 4 4GB and 4 8GB, from buy.com... these aren't the cheapest cards by far, BUT in this case you DO get what you pay for...
So for daily use I'd reccommend the KingMax 8GB Class-10 cards as I've gotten better than 2000 Quadrant scores running these cards for Froyo, Honeycomb, and CM7 Gingerbread installs... this is as good or better performance than most scores I've seen from folks running the same installs on Internal/eMMC...
Even 400M seems excessive for mostly zero filled card.
Basically your target compressed size should be the size of all real files on the card + a little bit.
Make sure you zero the extra fat partition and boot partition free space too as plenty of random data might be there.
verygreen said:
Even 400M seems excessive for mostly zero filled card.
Basically your target compressed size should be the size of all real files on the card + a little bit.
Make sure you zero the extra fat partition and boot partition free space too as plenty of random data might be there.
Click to expand...
Click to collapse
THANX...
I did think of that... after the fact... but the free space on those 2 partitions is <150MB which at the expected 4 to 1 compression I'm seeing would only save another ~35MB... so I didn't bother try and re-upload.... as less than 10% expected improvement... IF I need to upload another version I will include this in that version though...
I'd tend to agree with you on "your target compressed size should be the size of all real files on the card + a little bit." but the actual Used space is ~100MB, Total Space = 2GB, Unused space is thus around 1.9GB... so compression (1/5-1/4) really STINKS on this... but I'm not sure why as I've tried winzip and gzip with multiple levels of compression...
Thank you so much for the explanation, jtbnet, but it's hurting my noob brain!
It seems that most people like CM7 with Tablet Tweaks by mad-murdock. Could someone detail for me (step by step) the simplest way to get that in a bootable 2 GB SD card, preferably without involving a second card, and without touching the eMMC at all? I can't tell whether this project does that or not (and if so, how) or whether I should stick with racks11479's approach, or what. My apologies; I'm not usually this far behind.
Edit: I forgot that mad-murdock's Tablet Tweaks were already merged. So I guess just make that "CM7".
xdabr said:
Thank you so much for the explanation, jtbnet, but it's hurting my noob brain!
It seems that most people like CM7 with Tablet Tweaks by mad-murdock. Could someone detail for me (step by step) the simplest way to get that in a bootable 2 GB SD card, preferably without involving a second card, and without touching the eMMC at all? I can't tell whether this project does that or not (and if so, how) or whether I should stick with racks11479's approach, or what. My apologies; I'm not usually this far behind.
Edit: I forgot that mad-murdock's Tablet Tweaks were already merged. So I guess just make that "CM7".
Click to expand...
Click to collapse
You *should* be able to do the following with the image provided in this thread on your 2gb card:
1. Download image from this thread (currently v5)
2. Write this Image to your card (I use win32diskimager or dd in linux)
3. Once the card is written place the cm7 zip in the root of the boot filesystem. (Should be a drive letter with boot in the name with files like uImage uRecImg etc on it)
4. Place the gapps zip of your choice in the same "boot" filesystem.
5. Place sdcard in nook.
6. Turn on nook.
7. Hit N button when it says Press any key for menu.
8. Choose SD and Alternate as your boot option
9. Let it finish.
10. Boot into CM7
I did not provide you all the links but the CM7 nook image in mad murdocks Tablet Tweaks thread or the latest nightly for the nook (next nightly build should have Tablet Tweaks) should work. The gapps zip is also available at the CM site.
FYI - This image is based off the work of verygreen's thread: http://forum.xda-developers.com/showthread.php?t=1000957
Hopefully this will get you going.
Perfect recipe; thank you, stilger! Just what I (and likely lots of others) needed to know. I'll probably try this tonight.
I love this place.
stilger said:
You *should* be able to do the following with the image provided in this thread on your 2gb card:
1. Download image from this thread (currently v5)
2. Write this Image to your card (I use win32diskimager or dd in linux)
3. Once the card is written place the cm7 zip in the root of the boot filesystem. (Should be a drive letter with boot in the name with files like uImage uRecImg etc on it)
4. Place the gapps zip of your choice in the same "boot" filesystem.
5. Place sdcard in nook.
6. Turn on nook.
7. Hit N button when it says Press any key for menu.
8. Choose SD and Alternate as your boot option
9. Let it finish.
10. Boot into CM7
I did not provide you all the links but the CM7 nook image in mad murdocks Tablet Tweaks thread or the latest nightly for the nook (next nightly build should have Tablet Tweaks) should work. The gapps zip is also available at the CM site.
FYI - This image is based off the work of verygreen's thread: http://forum.xda-developers.com/showthread.php?t=1000957
Hopefully this will get you going.
Click to expand...
Click to collapse
THANX...
I'd add one step which is to use something like Easeus Partition Manager to extend the /sdcard partition to fill your larger than 2GB card between #2 and #3... as if only using the 2GB card image /sdcard is Only ~30MB big ... mostly just a Fat32 FS placeholder to allow extending...
jtbnet said:
THANX...
I'd add one step which is to use something like Easeus Partition Manager to extend the /sdcard partition to fill your larger than 2GB card between #2 and #3... as if only using the 2GB card image /sdcard is Only ~30MB big ... mostly just a Fat32 FS placeholder to allow extending...
Click to expand...
Click to collapse
You should take and add this step by step process to the first or second post.
Maybe even add links etc... Dunno. Up to you.
stilger said:
You should take and add this step by step process to the first or second post.
Maybe even add links etc... Dunno. Up to you.
Click to expand...
Click to collapse
THANX... Added your steps as an example in the Second post...
I'm seeing almost every app (except for CWM recovery) thinks the
/mnt/sdcard directory is the external card (which is true in most
android devices). So they are looking in and placing files in the wrong
place. Smarter apps allow me to set a virtual root for it to start with,
but Kindle and Nook insist on looking in /mnt/sdcard/<appname>
for the stored books.
Does anyone know a workaround to repoint /mn/sdcard/<appname>
to /mnt/sdcard/ext_sd/<appname>.
Personally, I think the idea to change the meaning of
the /mnt/sdcard, (from the uSD card to part of the on
board flash memory), was not thought out well.
Yeah its a head scratcher. I assume that HTC decided after putting out a $600 tablet they could save money by not including a $7 SD card in the ext. slot and just defaulted everything to the internal SD. I'm sure someone could write a script to change the mount points on rooted ROMs, but not sure what might fail if you change cards.
hmm as a temp workaround I guess I can run a script to copy the
/sdcard/ext_sd/nook and /sdcard/ext_sd/kindle directories
to the corresponding places on the internal 'sdcard'?
Does android have an rc.local like file to run after the system mounts the two devices, and one to run at shutdown, to do the copies?
being vfat, I can't softlink the directories to point to the real sdcard
is there a way to overlay mount the 2 directories from the real sdcard
to the internal flash sdcard?
So I put Carbon on my wife's tablet after not touching it for over a year. Amazing that I can come here and get exactly what I need. What a great community!
I do have a question. I have a 16gb model and a 16gb card. I can see and use the card, no problem.
Using astro or other file manager, the directories seem weird. That's not a problem. The problem is, I can only use 1gb of internal storage - is there a way to get at the balance of that? Or is it lost forever?
Sounds like your NT has the BN's old 1GB allocation for the user-media partition instead of the new 8GB.
To get a 8GB allocation, you can restore the NT to stock ROM and take it to a B&N store to have the repartition done; or you can (Google) search for a repart.img SD-based tool which also does the repartition (and in the process restore the NT to stock ROM). Either way, you can use CWM recovery to back up your current Carbon ROM before the operation and then restore it afterward.
Ah, I completely forgot about this little point. Thank you for the reminder and the options!
One more question from me about this, does it make sense in CM to have two internal storages anyway? Couldn't I just reformat it to have only one partition?
I know how to use parted, so this isn't why I am asking. I just wanted to ask here about potential other side effects.
I already reformatted that my internal memory is about 4GB and my sdcard0 storage is 10GB, but now I installed a huge app in internal memory which can't be moved to SD for some reason, and I want to at least reformat it the other way around or the default 12GB sdcard0 + 1GB internal
All apps are installed in the first internal memory anyway I have figured, so I don't know why this first sdcard0 does make sense at all? I first thought that would be used for apps, but currently there are 10 unused Gigabytes....
I am using a real sdcard in the device ( which is per default mounted as sdcard1 ), maybe that is the reason nothing is put on the internal sdcard0 ??
Any comments on this?
I'd also like to know if this can be done. I've read the posts that explain how to resize partition 10 (media) and 11 (user data), but I would like to know if it is possible to combine partition 10 and 11 into a single partition so that all available space that isn't used by the system can be used for apps and other data. Is this not possible because of different file systems or is there a way to do it?
I've also noticed that even though the Nook Tablet 16 GB physically has 1 GB RAM only 672 MB is recognized and the other 332 MB or so seems to be used as some type of virtual SD Card (this can be seen in Settings -> Apps -> On SD Card). Is there a way to make the entire 1 GB recognized and utilized? I have not been able to find any information on this anywhere.
I am running CM 10.1 on Nook Tablet 16 GB.
bluesock said:
One more question from me about this, does it make sense in CM to have two internal storages anyway? Couldn't I just reformat it to have only one partition?
I know how to use parted, so this isn't why I am asking. I just wanted to ask here about potential other side effects.
...
Any comments on this?
Click to expand...
Click to collapse
Combining the two partitions without tweaking the ROM will likely result in errors when the system at boot time attempts to mount the partition you eliminate, and when some apps reference the file-system that supposedly resides on that eliminated partition. To avoid these errors, the eliminated partition would have be removed from boot-time auto-mount list, and its file-system root would have to be mapped (e.g., symbolically linked) to the mount point of the remaining partition.
skelnik said:
I
I've also noticed that even though the Nook Tablet 16 GB physically has 1 GB RAM only 672 MB is recognized and the other 332 MB or so seems to be used as some type of virtual SD Card (this can be seen in Settings -> Apps -> On SD Card). Is there a way to make the entire 1 GB recognized and utilized? I have not been able to find any information on this anywhere.
.
Click to expand...
Click to collapse
The 'missing' RAM is what the OS needs to keep the device going. 672 MB RAM free sounds very reasonable. What you see in the list as apps on sd card is the virtual sd card in storage, not RAM.
Sent from my BNTV600 using Tapatalk 4
The "missing" RAM is actually shared memory for the GPU (the SGX540). Video cards need RAM to load textures and whatnot.
You might have noticed that desktops without a dedicated GPU have much lower system RAM than advertised. Ex: my laptop with 3GB of system RAM actually shows something like 2970MB RAM (instead of 3096MB). The 100 odd MB of RAM is shared by the GPU (Intel GMA). If I had a dedicated GPU in my laptop, something like the GTX M GPUs with its own RAM, I would see and be able to use the full 3096MB of system RAM. It's the same thing with mobile devices, they share system RAM with the GPU.
That makes sense about the shared resources for the system and graphics. Thank you for the explanation!
Okay, if that is all, probably changing /system/etc/vold.fstab after repartitioning/removing the emmc-sdcard-partition and symlinking the other of the partitions should do it already? Or how does the storage settings things finds the storage memories? Or is there even something a bit more deeply buried, e.g. inside the kernels initrd or something like that? Does someone know those details?
@skelnik as written in the other thread something more here ...
It probably isn't completely beginner friendly to do all this just by this information here, but I might attempt to do this too, and then will share the information as step-wise as possible. But might take some weeks until I have a bit time left...
And be aware! There probably will be some downsides when not using a physical/external sdcard at all: You will not have the internal storage accessible as a usb storage device anymore (not sure about mtp or ptp mode, but these don't access everything anyway) - so if you screw up something it might become harder to recover. You should then probably have at least some 2gb sdcard you can use, just in case. But my opinion is that you should just pay those $5 for a physical sdcard (should even give you 4 or 8GB already...) and then there won't be these problems.
Use Ineternal Storage as sdcard on Nook Tablet
bluesock said:
@skelnik And be aware! There probably will be some downsides when not using a physical/external sdcard at all: You will not have the internal storage accessible as a usb storage device anymore (not sure about mtp or ptp mode, but these don't access everything anyway)
Click to expand...
Click to collapse
Actually you will still have access from the PC (Windows OS at least) to this partition after using the internal storage as an sdcard. You need to go into the USB Connection Settings under Storage and change it to "USB Mass Storage" mode. Also USB Debugging needs to be unchecked in order for you to get prompted to enable USB Connection to PC. After that you will be able to transfer data to and from your PC to the internal partition being used like an sdcard on your Nook Tablet. That partition is set to 10GB for me so that is a huge benefit and allows me to swap out multiple external sdcards any time without disabling any apps.
skelnik said:
Actually you will still have access from the PC (Windows OS at least) to this partition after using the internal storage as an sdcard. You need to go into the USB Connection Settings under Storage and change it to "USB Mass Storage" mode. Also USB Debugging needs to be unchecked in order for you to get prompted to enable USB Connection to PC. After that you will be able to transfer data to and from your PC to the internal partition being used like an sdcard on your Nook Tablet. That partition is set to 10GB for me so that is a huge benefit and allows me to swap out multiple external sdcards any time without disabling any apps.
Click to expand...
Click to collapse
Are you sure you mean the same thing as me? I am talking about removing one of the partitions and just making one large partition where both /data and a link from /sdcard into that will be. As far as I understood, Android does not do a virtualization of a path but really makes one of it's partitions accessible as usb storage? Or can you also format in ext4 and still read it in Windows?
If that works I am probably not right, otherwise read on:
All your configuration data and everything is on /data and would be removed from being accessible by the system as long as it is connected as usb storage (also all installed apps, ...), and besides that you would need to use the FAT filesystem for Windows compatibility, which is also probably not the best idea, security-wise (any app being able to read sdcard would for example be able to read your wifi configuration, maybe google account login data, etc. etc.).
I know using a thread it not necessarily the best way to ask a question but since the cause of this issue is unknown (and might just be SD corruption) and there are a few other threads where it might come up, this thread can be used as a reference.
The issue is: An SD card that rather suddenly became unwritable in every way and can no longer be mounted by Android (although it is detected) but on which all existing data was undamaged, can be viewed and copied via USB card reader to Windows or Linux PC. The drive behaves much as if it was write protected or as if the file system (particularly the FAT) was corrupted in a way that mimics digital SD write protection. Here are the details.
L5.1.1/CM12.1 December 2015, SuperSU 2.65, TWRP3.0.2,
- 64GB Sandisk Ultra SD, initially accepted as formatted or formatted upon first use to Fat32; Working fine for a few months as repository for static data (ROM zips and app apks), work material (frequently edited text, DOCX and XLSX files), as well as apps and app data with a dynamic presence on the drive.
- Drive suddenly stopped appearing on device in CM and in TWRP. When re-inserted in CM, the system detects a card but times out as it is unable to find a mount point. Attempts to mount SD card in ROM result in the following error in CatLog:
"E/Vold (222): /dev/block/vold/179:65 failed to mount via VFAT (No such device or address)
E/Vold (222): Volume sdcard1 found no suitable devices for mounting "
- Attempts to repair, partition or format the drive in TWRP result in mount error and the details of the drive have zeros where there should probably be other values.
/external_sd | | Size: 0MB Used: 0MB Free: 0MB Backup Size: 0MB
Flags: Can_Be_Mounted Can_Be_Wiped Wipe_Available_in_GUI Removable Is_Storage
Primary_Block_Device: /dev/block/mmcblk1p1
Alternate_Block_Device: /dev/block/mmcblk1
Display_Name: MicroSD Card
Storage_Name: MicroSD Card
Backup_Path: /external_sd
Backup_Name: external_sd
Backup_Display_Name: MicroSD Card
Storage_Path: /external_sd
Current_File_System: auto
Fstab_File_System: auto
Backup_Method: files
MTP_Storage_ID: 65537
- With SD in card reader attached to PC, the contents of SD are visible and can be copied to PC but files cannot be copied from PC to SD card. It looks like they are copied but they are gone when card reader is disconnected then reconnected. Same in Linux Ubuntu 14.x.
- Unable to delete or reformat partitions in any utility that I tested including: Dedicated GParted boot USB, EaseUS Partition Master, HP USB Disk Storage Format Tool on PC, GParted in Ubuntu 14 VM, GParted in Ubuntu 10.x live CD/USB.
- Although the SD drive shows as Fat32 in GParted, Windows 7 only offers exFat and NTFS as formatting options. Some research shows exFat can digitally "write protect" drives with a dirty bit or byte which causes very similar symptoms.
- Windows Chkdsk requests to convert lost chains to files but must not be doing so as this occurs on every scan.
Soooo...the questions are: What in the realm of relatively normal android use might cause this? Has anyone heard of a disk or partition management setting or common form of drive corruption that could cause this? Could such a thing be caused by a file manager? A 32GB replacement SD is doing OK but I'm left wondering if the issue with the 64GB SD card was caused by a utility on the device or if it was just SD corruption (that looks conspicuously like digital write protection).
[EDIT] A minor correction I should make: The reason Windows 7 only offers NTFS and exFAT is not because the drive is damaged (although it may be) but rather because Windows 7 cannot format USB drives over 32GB with FAT32 although it can mount and use larger FAT32 SD drives that were formatted elsewhere. In this case I let android do the initial format months ago (Fat32) and never had problems during the times I connected it to card reader (although I usually leave it in the device and use Wifi or MTP through device USB to PC).
[] AL [] said:
Since your running 12.1, I imagine that you don't flash too many nightly build's... So this (not) variable is may be put aside from suspects list.
Click to expand...
Click to collapse
Correctamundo
[] AL [] said:
Recovery: well, I don't know but for that, I'm always following the if it ain't broke, don't fix it rule. You have specific reasons to keep it updated? Like you, I've also read many posts reporting USB related issues with v > 3.0. I still use v2.8.7.0 on my device and don't feel the need to update soon.
Click to expand...
Click to collapse
I'm now on the fence about reverting to the longer standing 2.8.7 version of TWRP, but since the primary maintainer for my Otus CM12.1 and CM13 ROMS (@squid2) also creates the build of TWRP and has included in his 3.0.2 version some forward fixes that might be better for CM13 especially where encryption is used, I have been updating it. A consideration in this regard is; what if it was not the different version of TWRP that caused this but rather a one-time instance of something that went wrong in the act of flashing it - which I would be more at risk of because I do occasionally update TWRP.
Hmmmm...I did recently restore a nandroid of stock Moto L 5.0.2 then flashed stock recovery in an attempt to install a pending L5.1 OTA (Moto finally released it!) which failed AFAIK due to unlocked bootloader, then I flashed TWRP 3.0.2 and restored a CM12.1 nandroid. If that was a factor it merely planted the seed of the problem but did not grow into the problem until some other later action .
[] AL [] said:
As for apps, what I find strange is that even a format didn't fix things up with it.
Click to expand...
Click to collapse
The drive became un-writable in every way including the ability to format or change any properties of the drive in any drive/partition manager even though the data was all there in perfect shape. Ironically the problem with the drive is now protecting the data
[] AL [] said:
...I would hope to believe that a file explorer alone can not mess it up THAT much alone...
Click to expand...
Click to collapse
Likewise but at this point it would not surprise me considering that Android is a bit fast and loose with more basal aspects of the system including drive management.
Ultramanoid said:
I've used extensively SanDisk 64 GB microsdxc cards with Android. Given all the information you've given, I'd lean towards physical card failure.
It happens. In my experience, very rarely, but it does.
If the same thing happens again to another of your cards anytime soon, that's when you should start a serious investigation about it.
To be honest I've had more smartphones failing on me for a myriad different reasons in the last few years than problems with a card from a reliable manufacturer.
I have washed some of these cards in the washing machine by mistake, and I've used some intensively non-stop every single day for two or three years without an issue. I've run OSes from them often, and always replaced them for another because of speed or space concerns, very rarely because of failure.
They are incredibly resilient. And yet sometimes ( again, rarely ) one will spit input / output errors, or simply die on me, no matter what the format, filesystem, or OS. In fact it happened once with a brand new card that I had just used for a couple of weeks, the irony...
Click to expand...
Click to collapse
Good points. Thanks! I've had similar experiences with Micro SDs surviving through accidental washings as well as heavy use as USB boot drives running various utilities or Linux distributions (one of which had a persistent cache cache right on the card - thats a lot of read/writes) and I can't remember encountering a corrupted SD card that was not physically damaged.
That being said I did once support an outdoor system of over 300 units each of which ran off of a proprietary Linux system on an 8GB SD card where SD card corruption was not uncommon but those "devices" were exposed to thermal extremes, traffic vibrations, and poor quality field work and remote management the likes of which our devices rarely experience.
At first I was leaning toward SD card corruption but now wonder if this was an accidental digital write-protect, perhaps caused by an extremely localized bit of SD card corruption... or something like that... and that is an area where android is faster and looser than many other device/OS combinations.
What is the result of fsck with Linux ?
Ultramanoid said:
What is the result of fsck with Linux ?
Click to expand...
Click to collapse
Similar to Windows chkdsk; In Ubuntu 14.x Live USB boot, fsck (supposedly) reclaims lost clusters, and reports "free cluster summary wrong...". When option to fix is selected the command cannot gain write access to the drive. Re-scan verifies same errors persist.
Here's an idea that worked for me once with a card that refused to be formatted on Linux and OS X; try with a digital camera or DSLR, you may need a micro to SD adapter.
In that case though, mine was a defective card indeed. The camera did format it, and was usable for a little while, before giving errors again, and I discarded it definitely.
Edit : to be precise, the camera did not recognize it and offered to format it ( to FAT being an old DSLR, but a new camera might go for exFAT, and you already suspect foul play because of exFAT ), which worked, and then I could format it again ( ext4 ) in Linux. As mentioned, the card failed again soon afterwards anyway.
Ultramanoid said:
Here's an idea that worked for me once with a card that refused to be formatted on Linux and OS X; try with a digital camera or DSLR, you may need a micro to SD adapter.
In that case though, mine was a defective card indeed. The camera did format it, and was usable for a little while, before giving errors again, and I discarded it definitely.
Edit : to be precise, the camera did not recognize it and offered to format it ( to FAT being an old DSLR, but a new camera might go for exFAT, and you already suspect foul play because of exFAT ), which worked, and then I could format it again ( ext4 ) in Linux. As mentioned, the card failed again soon afterwards anyway.
Click to expand...
Click to collapse
I tried that yesterday in a relatively new camera that is supposedly capable of handling 64GB SDXC but the camera reports that the card could not be used but offered not other information.
As to exFAT - this correction to my initial assessment of the situation: The reason Windows 7 only offers NTFS and exFAT as formatting options is not necessarily because the drive is damaged or had a read only flag applied (although both off those thing now seem likely*) but rather because Windows 7 cannot format USB drives over 32GB as FAT32 even though it can mount and use them if they were formatted elsewhere. This does not really change things other than meaning that the available Windows formatting options are not informative.
* I just called SanDisk support and learned that the card supposedly has some sort of data preservation feature where; when an imminent potential failure is detected the card is indeed digitally write protected. This might mean that there is a way to undo the digital protection although that would put the data risk and the protection is non-standard as the Windows Diskpart command line utility does not show the disk or the volume as write protected.SanDisk even offered to replace the card but I declined (for now) because I want to hack at it some more. At least there now seems to be an understandable mechanism for how this happened.
Thanks for throwing some thought into it
It's interesting, the card I mentioned was a 64GB one, but the camera formatted it to FAT creating a 32GB partition, same limit as Windows. It pretty much ignored the other half of the card that showed up just as free space, but it also undid whatever was blocking the formatting before, which may have been that protection scheme from SanDisk as in your case. Good to learn about that.
Interesting...
I have the same issue with my Samsung 64gb sd. I was moving a zip file from internal sd to external sd with ES File Explorer and all of a sudden my phone froze and I had to hard reset. When I rebooted external was screwed. I have been looking for days for a fix and have come up with nothing. TWRP can see the card but no values. Please any help would be very much appreciated because I have ALL the pictures of my 2 week old son stored in ext sd.
noob4598 said:
I have the same issue with my Samsung 64gb sd. I was moving a zip file from internal sd to external sd with ES File Explorer and all of a sudden my phone froze and I had to hard reset. When I rebooted external was screwed. I have been looking for days for a fix and have come up with nothing. TWRP can see the card but no values. Please any help would be very much appreciated because I have ALL the pictures of my 2 week old son stored in ext sd.
Click to expand...
Click to collapse
See if this helps. Read through it, it has allot of helpful information.
http://forum.xda-developers.com/showthread.php?t=1192508
noob4598 said:
I have the same issue with my Samsung 64gb sd. I was moving a zip file from internal sd to external sd with ES File Explorer and all of a sudden my phone froze and I had to hard reset. When I rebooted external was screwed. I have been looking for days for a fix and have come up with nothing. TWRP can see the card but no values. Please any help would be very much appreciated because I have ALL the pictures of my 2 week old son stored in ext sd.
Click to expand...
Click to collapse
The incident about which I created this thread was sudden as yours was. Try viewing the contents of the SD card in a card-reader on a computer. If you can see the contents and copy to the computer but cannot write to the SD card you may be experiencing the same issue describe in the OP of this thread (irreversible dirty bit write protection due to impending failure detected), in which case you would have to backup the data on the card and get a new one. Also, it is best to keep internal/adoptable storage completely out of this equation as that re-formats and encrypts the SD card.
@MatisyahuSerious
Since this was a bit OT for LOS I've expanded upon this post (https://forum.xda-developers.com/showpost.php?p=71903594&postcount=4155) here where the reply is less off topic.
Off course there are many other bad things that can happen to SD cards, and frequent ROM flashing and TiBU backups put a particular stress on them. Another factor, at least in my case, is that when a high speed SD card (eg Sandisk Ultra red/grey) is used in a USB 3 port (to move data much quicker than MTP) the SD card gets so hot that the painted logo scorches and changes color. Those thermal cycles cant be good for the cards either. I've had 3 go bad in about 6 years, one in the manner described in linked post.
A bit of somewhat related OT: For what this is worth I once supported a system which ran Linux based OS from 8GB SD cards and the most frequent fix was to replace corrupted SD cards. SD cards have gotten better, and some brands may be better than others, but they were not originally designed to handle so much fast R/W and IMO the SD industry is still catching up.