[Q] Opps I formated my internal storage to ntfs - Droid Incredible Q&A, Help & Troubleshooting

I formatted my internal storage drive on my htc droid incredible to ntfs (comes with 8gb internal flash and 2gb external microsd)
I did this with windows However when you un-mount you will not be able to get back into it in windows or your android os afterwards leaving you with minimal storage space left on your internal flash. Now I only have roughly 600mb internal and somewhere a huge partition formatted to ntfs that cannot be assessed by windows or android. DOH! I've spend a few hours trying to find answers so I'm posting for help!
Also I am running Jellybean 4.1.1 RC2 (rooted)
I tried to mount and format with CWM and did not work (no app2sd partition)
There has got to be a way to use adb to reformat the ntfs space back to fat32 It seems way to easy to mess a phone up just by formating a storage space with windows.. Really need help here !

Go to CWM, mounts and storage and select format emmc. Do you get any errors there? It should make it fat32 again or at least fat which should be picked up by windows.

tiny4579 said:
Go to CWM, mounts and storage and select format emmc. Do you get any errors there? It should make it fat32 again or at least fat which should be picked up by windows.
Click to expand...
Click to collapse
CWM version is 5.0.2.0
Messages:
Formatting /emmc...
Error mounting /emmc!
Thanks for a reply btw!

blown4x4 said:
CWM version is 5.0.2.0
Messages:
Formatting /emmc...
Error mounting /emmc!
Thanks for a reply btw!
Click to expand...
Click to collapse
You're welcome. Have you tried formatting internal storage in the ROM itself?
If that doesn't work can you run from adb shell in the ROM or recovery? Try ROM as I think it will more likely work.
Code:
umount /storage/sdcard1
mkfs.vfat /dev/block/vold/179:3
If umount fails with not mounted that's good. Any other error let me know. The mkfs.vfat command should hopefully succeed. I don't want to try as I don't want to wipe emmc but that's the internal device name of the internal storage.

tiny4579 said:
You're welcome. Have you tried formatting internal storage in the ROM itself?
If that doesn't work can you run from adb shell in the ROM or recovery? Try ROM as I think it will more likely work.
Code:
umount /storage/sdcard1
mkfs.vfat /dev/block/vold/179:3
If umount fails with not mounted that's good. Any other error let me know. The mkfs.vfat command should hopefully succeed. I don't want to try as I don't want to wipe emmc but that's the internal device name of the internal storage.
Click to expand...
Click to collapse
on the umount /storage/sdcard1 command in adb shell i get an error stating that there was an invalid argument

blown4x4 said:
on the umount /storage/sdcard1 command in adb shell i get an error stating that there was an invalid argument
Click to expand...
Click to collapse
emmc shouldn't be mounted then. If you've confirmed that emmc (internal storage - 8gb) is ntfs then run the second command.

tiny4579 said:
You're welcome. Have you tried formatting internal storage in the ROM itself?
If that doesn't work can you run from adb shell in the ROM or recovery? Try ROM as I think it will more likely work.
Code:
umount /storage/sdcard1
mkfs.vfat /dev/block/vold/179:3
If umount fails with not mounted that's good. Any other error let me know. The mkfs.vfat command should hopefully succeed. I don't want to try as I don't want to wipe emmc but that's the internal device name of the internal storage.
Click to expand...
Click to collapse
Shouldnt it be:
Code:
umount /mnt/emmc
mkfs.vfat /dev/block/vold/179:3
Then to remount:
Code:
mount -t vfat /dev/block/vold/179:3 /mnt/emmc
umoumt /storage/sdcard1 just says failed if i try to run it.

blown4x4 said:
on the umount /storage/sdcard1 command in adb shell i get an error stating that there was an invalid argument
Click to expand...
Click to collapse
Tiny, I also tried the second part of the commands and got this " mkfs.vfat lseek: value too large for defined data type "

Actually, cmlusco my umount /storage/sdcard1 worked fine as root for me. But umount /mnt/emmc should work across all ROMs.

blown4x4 said:
Tiny, I also tried the second part of the commands and got this " mkfs.vfat lseek: value too large for defined data type "
Click to expand...
Click to collapse
Couldent you just try an ruu
Sent from my Droid Incredible using xda app-developers app

Thanks for the reply guys!
I get an invalid argument when trying to unmount emmc

blown4x4 said:
Tiny, I also tried the second part of the commands and got this " mkfs.vfat lseek: value too large for defined data type "
Click to expand...
Click to collapse
Does this work:
Code:
su
mkfs.vfat /dev/block/mmcblk0p3
If not check post #17 in this thread, replacing mmcblk0p14 with mmcblk0p3:
http://forum.xda-developers.com/showthread.php?t=1647806&page=2
---------- Post added at 07:36 PM ---------- Previous post was at 07:35 PM ----------
zachf714 said:
Couldent you just try an ruu
Sent from my Droid Incredible using xda app-developers app
Click to expand...
Click to collapse
It's a bit extreme for an improperly formatted partition.

I got the same result
" value too large for defined data type" Bolth methods
Again thank you for all your help guys!

This might be helpful?
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Users\User>cd miniadb_inc
The system cannot find the path specified.
C:\Users\User>cd C:
C:\Users\User
C:\Users\User>cd C:/
C:\>cd miniadb_inc
C:\miniadb_inc>umount /mnt/emmc
'umount' is not recognized as an internal or external command,
operable program or batch file.
C:\miniadb_inc>adb shell
[email protected]:/ # umount /mnt/emmc
umount /mnt/emmc
umount: can't umount /mnt/emmc: Invalid argument
1|[email protected]:/ # mount -t vfat /dev/block/vold/179:3 /mnt/emmc
mount -t vfat /dev/block/vold/179:3 /mnt/emmc
mount: mounting /dev/block/vold/179:3 on /mnt/emmc failed: Invalid argument
255|[email protected]:/ # su
su
[email protected]:/ # mkfs.vfat /dev/block/mmcblk0p3
mkfs.vfat /dev/block/mmcblk0p3
mkfs.vfat: lseek: Value too large for defined data type
1|[email protected]:/ # #cat /proc/partitions
#cat /proc/partitions
1|[email protected]:/ # cat /proc/partitions
cat /proc/partitions
major minor #blocks name
31 0 640 mtdblock0
31 1 4608 mtdblock1
31 2 3072 mtdblock2
31 3 253952 mtdblock3
31 4 640 mtdblock4
31 5 40960 mtdblock5
31 6 152576 mtdblock6
179 0 7757824 mmcblk0
179 1 778240 mmcblk0p1
179 2 204800 mmcblk0p2
179 3 6774776 mmcblk0p3
179 8 1931264 mmcblk1
179 9 1930240 mmcblk1p1
[email protected]:/ #

Try this:
/system/bin/busybox mkfs.vfat /dev/block/vold/179:3
Or
/system/xbin/busybox mkfs.vfat /dev/block/vold/179:3
Depending on where busybox is installed.

Thank you for the suggestion cmlusco! However I still get value too large for defined data type

Ok try
mkfs.vfat -F 32 /dev/block/vold/179:3
Or try formating it to something else first like ext2:
mkfs.ext2 /dev/block/vold/179:3

Try the post I linked, check post 17. Itt has a different busybox and you can push it to /data/local/tmp and run busybox according to the instructions there just replace /dev/block/mmcblk0p14 with /dev/block/mmcblk0p3. It may not work with your busybox version in the the ROM.

tiny4579 said:
Try the post I linked, check post 17. Itt has a different busybox and you can push it to /data/local/tmp and run busybox according to the instructions there just replace /dev/block/mmcblk0p14 with /dev/block/mmcblk0p3. It may not work with your busybox version in the the ROM.
Click to expand...
Click to collapse
Was just reading on google about newer busyboxes having lseek issues, so that will probably solve your issue. However i cant download the linked busybox.zip file from that thread. From the xda app it says failed to connect, and from the website it just sits there trying to load forever. Any idea what version of busybox will work, cant find that info anywhere.

cmlusco said:
Was just reading on google about newer busyboxes having lseek issues, so that will probably solve your issue. However i cant download the linked busybox.zip file from that thread. From the xda app it says failed to connect, and from the website it just sits there trying to load forever. Any idea what version of busybox will work, cant find that info anywhere.
Click to expand...
Click to collapse
I don't know the answer to that one. OP, try busybox 1.18.2 or 1.18.4. You can use stericson's busybox app to easily install an older busybox version but the free version is annoying with extra boxes that pop up. However once you install one that works you can uninstall the app. If you install busybox from there (wait for smart install to be ready but you can do normal), then you need to try the commands from the phone.

Related

[FIX] ext4 for JPM/JP6

Hi,
in case that anybody of you was using Mimocan fix (ext4 on the external SD), here I have attached libs for enabling ext4 on JP6/JPM (without modifying kernel).
I'm personally using ext4 partition on external SD, and loopback file on this partition formatted in ext2.
That way I'm getting 2000 in Quadrant, and the phone is working fast.
Here is my userinit:
Code:
insmod /data/local/fs_jpm/slow-work.ko
insmod /data/local/fs_jpm/jbd2.ko
insmod /data/local/fs_jpm/fscache.ko
insmod /data/local/fs_jpm/mbcache.ko
insmod /data/local/fs_jpm/ext4.ko
busybox mount -t ext4 -o noatime,nodiratime,errors=continue /dev/block/mmcblk1p2 /data/sdcard_ex2_mnt
busybox mknod /dev/loop0 b 7 0
busybox losetup /dev/loop0 /data/sdcard_ex2_mnt/linux.ex2
mount -t ext2 -o noatime,nodiratime,errors=continue /dev/loop0 /data/ext2data
busybox mount -o bind /data/ext2data/data /data/data;
busybox mount -o bind /data/ext2data/app /data/app;
busybox mount -o bind /data/ext2data/dalvik-cache /data/dalvik-cache;
P.S. Thanks for darkbyt3, for making slow_work module!
P.S. 2. Also in the archive is NILFS2 support for those who like experiments , and CIFS by darkbyt3.
thanks for the info.
linux noob question, but where does the userinit file live?
im used to editing scripts in /system/init.d but that was on a custom rom.
/system/bin/userinit.sh
kanemari said:
thanks for the info.
linux noob question, but where does the userinit file live?
im used to editing scripts in /system/init.d but that was on a custom rom.
Click to expand...
Click to collapse
Sorry for being even more of a noob, but can you tell me how to apply the mimocan fix for JPM/JP6 step by step please, I would love to be able to use it.
I have tried all the lag fixes and nothing comes close to what I had with the mimocan fix, even though you get better scores none of them were as smooth as mimocan fix.
Thanks a lot really appreciate the help.
milan2008 said:
Sorry for being even more of a noob, but can you tell me how to apply the mimocan fix for JPM/JP6 step by step please, I would love to be able to use it.
I have tried all the lag fixes and nothing comes close to what I had with the mimocan fix, even though you get better scores none of them were as smooth as mimocan fix.
Thanks a lot really appreciate the help.
Click to expand...
Click to collapse
Like u did i tried many lagfix, feel less lag with voodoo or mimocan compare others, but least lag with combo of voodoo or mimocan with minfree (autokiller preset aggressive). Give it a try...
Hi, sorry for the questions:
How i can do this fix?
Thanks
vitalij said:
Hi,
in case that anybody of you was using Mimocan fix (ext4 on the external SD), here I have attached libs for enabling ext4 on JP6/JPM (without modifying kernel).
I'm personally using ext4 partition on external SD, and loopback file on this partition formatted in ext2.
That way I'm getting 2000 in Quadrant, and the phone is working fast.
Here is my userinit:
Code:
insmod /data/local/fs_jpm/slow-work.ko
insmod /data/local/fs_jpm/jbd2.ko
insmod /data/local/fs_jpm/fscache.ko
insmod /data/local/fs_jpm/mbcache.ko
insmod /data/local/fs_jpm/ext4.ko
busybox mount -t ext4 -o noatime,nodiratime,errors=continue /dev/block/mmcblk1p2 /data/sdcard_ex2_mnt
busybox mknod /dev/loop0 b 7 0
busybox losetup /dev/loop0 /data/sdcard_ex2_mnt/linux.ex2
mount -t ext2 -o noatime,nodiratime,errors=continue /dev/loop0 /data/ext2data
busybox mount -o bind /data/ext2data/data /data/data;
busybox mount -o bind /data/ext2data/app /data/app;
busybox mount -o bind /data/ext2data/dalvik-cache /data/dalvik-cache;
P.S. Thanks for darkbyt3, for making slow_work module!
P.S. 2. Also in the archive is NILFS2 support for those who like experiments , and CIFS by darkbyt3.
Click to expand...
Click to collapse
Isn't there aversion without debug information? 3mb for a kernel module is huge
sztupy said:
Isn't there aversion without debug information? 3mb for a kernel module is huge
Click to expand...
Click to collapse
Maybe, the size is irrelevant for this kind of using these modules - anyway I copy them to /data where I have plenty of space.
Ext4 is working fine, however if used separately without loop device it doesn't produce speed increase, differently from eclair builds.
Sent from my GT-I9000 using XDA App
tanoxxx said:
Hi, sorry for the questions:
How i can do this fix?
Thanks
Click to expand...
Click to collapse
I did it manually, and it have lots of steps. Probably if you were not using mimocan's fix - this lagfix is not for you. You need to repartition sd card, format it, create loop device, and then manually copy data there.
milan2008 said:
Sorry for being even more of a noob, but can you tell me how to apply the mimocan fix for JPM/JP6 step by step please, I would love to be able to use it.
I have tried all the lag fixes and nothing comes close to what I had with the mimocan fix, even though you get better scores none of them were as smooth as mimocan fix.
Thanks a lot really appreciate the help.
Click to expand...
Click to collapse
Well It may contain errors, but I am doing like this:
1) Create second primary partition on the external SD card and make it EXT4 (easiest to do it in external card reader, using PARAGON or GPARTED). And format it of cause. Choose size, for example 1Gb
Remember that first primary partition must remain FAT32
2) Put the card back to phone.
3) You need root and terminal (adb or any terminal on phone)
4) copy modules from my first post to /data/local/fs_jpm/
5) run following commands:
Code:
insmod /data/local/fs_jpm/slow-work.ko
insmod /data/local/fs_jpm/jbd2.ko
insmod /data/local/fs_jpm/fscache.ko
insmod /data/local/fs_jpm/mbcache.ko
insmod /data/local/fs_jpm/ext4.ko
mkdir /data/sdcard_ex2_mnt
busybox mount -t ext4 -o noatime,nodiratime,errors=continue /dev/block/mmcblk1p2 /data/sdcard_ex2_mnt
busybox dd if=/dev/zero of=/data/sdcard_ex2_mnt/linux.ex2 bs=1024 count=800000
Change 800000 to any size of loopback file you want (here it is 800Mb)
Code:
busybox mknod /dev/loop0 b 7 0
busybox losetup /dev/loop0 /data/sdcard_ex2_mnt/linux.ex2
busybox mkfs.ext2 /dev/loop0
mkdir /data/ext2data/
mount -t ext2 -o noatime,nodiratime,errors=continue /dev/loop0 /data/ext2data
cp -rp /data/data /data/ext2data/
cp -rp /data/app /data/ext2data/
cp -rp /data/dalvik-cache /data/ext2data/
mv /system/bin/playlogos1 /system/bin/playlogosnow
copy files from attached system_bin.zip archive, to /system/bin.
Code:
busybox chmod +x /system/bin/userinit
busybox chmod +x /system/bin/playlogos1
then just reboot.
After reboot you can check that correct mounts are used with
Code:
mount
command.
wolfiett said:
/system/bin/userinit.sh
Click to expand...
Click to collapse
i put a script there but it doesnt work... and the script runs fine if i run it from the terminal prompt.
how can i check what the issue is?
vitalij said:
Well It may contain errors, but I am doing like this:
1) Create second primary partition on the external SD card and make it EXT4 (easiest to do it in external card reader, using PARAGON or GPARTED). And format it of cause. Choose size, for example 1Gb
Remember that first primary partition must remain FAT32
2) Put the card back to phone.
3) You need root and terminal (adb or any terminal on phone)
4) copy modules from my first post to /data/local/fs_jpm/
5) run following commands:
Code:
insmod /data/local/fs_jpm/slow-work.ko
insmod /data/local/fs_jpm/jbd2.ko
insmod /data/local/fs_jpm/fscache.ko
insmod /data/local/fs_jpm/mbcache.ko
insmod /data/local/fs_jpm/ext4.ko
mkdir /data/sdcard_ex2_mnt
busybox mount -t ext4 -o noatime,nodiratime,errors=continue /dev/block/mmcblk1p2 /data/sdcard_ex2_mnt
busybox dd if=/dev/zero of=/data/sdcard_ex2_mnt/linux.ex2 bs=1024 count=800000
Change 800000 to any size of loopback file you want (here it is 800Mb)
Code:
busybox mknod /dev/loop0 b 7 0
busybox losetup /dev/loop0 /data/sdcard_ex2_mnt/linux.ex2
busybox mkfs.ext2 /dev/loop0
mkdir /data/ext2data/
mount -t ext2 -o noatime,nodiratime,errors=continue /dev/loop0 /data/ext2data
cp -rp /data/data /data/ext2data/
cp -rp /data/app /data/ext2data/
cp -rp /data/dalvik-cache /data/ext2data/
mv /system/bin/playlogos1 /system/bin/playlogosnow
copy files from attached system_bin.zip archive, to /system/bin.
Code:
busybox chmod +x /system/bin/userinit
busybox chmod +x /system/bin/playlogos1
then just reboot.
After reboot you can check that correct mounts are used with
Code:
mount
command.
Click to expand...
Click to collapse
Thanks a lot, I am going to try it now.
Update: it keeps failing, I am getting `Failed (Operations not permitted)`. I don't know if anyone can help.
I tried it with Tayutama's latest rom.
milan2008 said:
Thanks a lot, I am going to try it now.
Update: it keeps failing, I am getting `Failed (Operations not permitted)`. I don't know if anyone can help.
I tried it with Tayutama's latest rom.
Click to expand...
Click to collapse
At which point are you getting the error? Maybe you /system partition is read-only? try
Code:
su
busybox mount -o remount,rw /system
Or you do not have a root
wolfiett said:
/system/bin/userinit.sh
Click to expand...
Click to collapse
Actually it should be
Code:
/system/bin/userinit

[Q] How to do e2fsck to check EXT partition

Recently I've checked my SD through the tool that Droidzone provided, rink is below.
Flashable Filesystem Check and Repair Tool
http://forum.xda-developers.com/showthread.php?t=1271978
Anyway,
after I checked my SD, the result shows some problem with my partitions and he recommends to do a manual e2fsck from the shell.
So far, I couln't find how to do it, so it would be greatful somebody could inform me or give me any relative links for it .
e2fsck /dev/block/mmcblk0p2
Should do it, it has to be unmounted to do it, so do it from recovery over adb shell.
Sent from my HTC Desire using XDA App
mercianary said:
e2fsck /dev/block/mmcblk0p2
Should do it, it has to be unmounted to do it, so do it from recovery over adb shell.
Sent from my HTC Desire using XDA App
Click to expand...
Click to collapse
Really thanks for your information !!
Now I've tried as you instructed, but i think I missed something I should do, would you kindly have loock below?
This is what I've input after connect my phone with PC and typed adb shell in cmd mod
(my partition is EXT4..)
=======
sh-3.2# e2fsck /dev/block/mmcblk0p2
e2fsck /dev/block/mmcblk0p2
e2fsck 1.41.10 (10-Feb-2009)
e2fsck: Device or resource busy while trying to open /dev/block/mmcblk0p2
Filesystem mounted or opened exclusively by another program?
sh-3.2#
Unmount sd-ext first, there should be an option in recovery under mounts.
If you cant find it try this first.
umount -a
Or
umount /sd-ext
Sent from my HTC Desire using XDA App

[Q] I how to mount 3rd partition on sdcard?

partition1 (fat32) mount to /sdcard
partition2 (ext4) mount to /sd_par2 from command
mount -t ext4 -o rw /dev/block/mmcblk0p2 /sd_par2
how to i mount partition3(ext4) to /sd_par3
Please Help me
pureexe said:
how to i mount partition3(ext4) to /sd_par3
Please Help me
Click to expand...
Click to collapse
ok so first i dont know if its work but you can try if you want (i am not responsible to any damages on your devices )
if your rom has loop support you can use the loop devices to mount the partition...
mount -t ext4 -o rw /dev/block/loop1 /sd_par3
if loop1 is in use (you can check this by the command "mount") you can use loop2 and so on...
i hope it works.... but i am not sure if its works
Sorry for my bad englisch

[problem] Convert2EXT4 = can't wipe properly

Hey Gang,
I have an old Dinc that I am trying to get setup for a friend to use on Cricket or Pageplus. This is not the issue though.
The phone is using:
hboot .92
S-Off
CMW recovery 5.0.2.0
The phone was on Touch of Blue 2.0 and having wifi issues, so i decided to wipe it and install ToB2.2
In looking for new mods for the dinc, I ran across Convert2EXT4
I flashed "Convert2Ext4_no_data_limit_dalvik_moved.v2.0.zip" and proceeded to install ToB.
All seemed fine, but upon initial boot it never gets past the bootanimation.
After 30 minutes of waiting I decided to re-wipe everything manually.
THIS IS WHERE THE PROBLEM CAME IN
I get an error when wiping /data & /cache
I flashed "Convert2Ext4_no_data_limit_dalvik_moved_Revert.v2.0.zip" to try to revert the change. It went fine, but i still get the error when wiping.
I have also tried to fix things using "fix_datadata.v2.0.zip" & "wipe_dalvik.v2.0.zip"
Nothing seems to fix the problem.
Now I can't flash anything.
When I flash a stock ROM via RUU or PB31IMG.zip I get a bootloop.
I believe the phone is not wiping the /data or /cache partitions because it can't find them.
Any help getting the partitions back to stock?
Try a factory reset from hboot? It will wipe emmc as a warning.
Sent from my Galaxy Nexus using Tapatalk 2
tiny4579 said:
Try a factory reset from hboot? It will wipe emmc as a warning.
Sent from my Galaxy Nexus using Tapatalk 2
Click to expand...
Click to collapse
tired that and every other form of wiping.
I have deduced that the phone has messed up partitions and needs to be re-setup.
I am currently following this thread ( http://forum.cyanogenmod.org/topic/6433-solved-messed-up-partitions-on-internal-storage/ ) to correct the problem. I'll post my success/failure in a bit :silly:
part of my problem is that i can't unmount /dev/block/mmcblk0 partition 1
The CACHE partition.
when I "print" ,or view, the partitions using "parted" i get this
Model: MMC SEM08G (sd/mmc)
Disk /dev/block/mmcblk0: 7911MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File System Flags
1 8192B 797MB 797MB primary ext4
2 797MB 1007MB 210MB primary ext3
3 1007MB 7944MB 6937MB primary fat32 lba
I wish i had a nandroid backup to revert to.... but i don't
Oh well. This thing might be bricked for now until i figure out how to remove and re-create the internal partitions.
i need some help understanding this 'parted' stuff.
I have tried to re-create the partitions but I get errors that i need to run "e2fsck" to fix them.
I am completely lost and need the help of a pro =)
TINY... where are you when I need you =)
CalvinAMi said:
i need some help understanding this 'parted' stuff.
I have tried to re-create the partitions but I get errors that i need to run "e2fsck" to fix them.
I am completely lost and need the help of a pro =)
TINY... where are you when I need you =)
Click to expand...
Click to collapse
At work. I haven't exactly had the chance to look. I wish I knew the thread where I tried to help before. Perhaps that could come in handy at least as a starting point.
Sent from my Galaxy Nexus using Tapatalk 2
tiny4579 said:
At work. I haven't exactly had the chance to look. I wish I knew the thread where I tried to help before. Perhaps that could come in handy at least as a starting point.
Click to expand...
Click to collapse
No rush!
Let me know what files or screenshots you need to even think about it =)
Who knows.... this could lead to the UlTiMaTE WiPE & FOrMaT script to rule them all :silly: :good:
Ok so just to be clear you were on 2.0, then without wiping you flashed the ext4 dalvik moved mod. Then without wiping you flashed 2.2? After you flashed the ext4 dalvik moved mod, did you reboot before flashing 2.2, or just flash it right after the ext4 mod?
Fyi all versions of tob have the ext4 normal dalvik mod already built in. This may be where the issue came up. That is why i want to know exactly how you flashed the files.
cmlusco said:
Ok so just to be clear you were on 2.0, then without wiping you flashed the ext4 dalvik moved mod. Then without wiping you flashed 2.2? After you flashed the ext4 dalvik moved mod, did you reboot before flashing 2.2, or just flash it right after the ext4 mod?
Fyi all versions of tob have the ext4 normal dalvik mod already built in. This may be where the issue came up. That is why i want to know exactly how you flashed the files.
Click to expand...
Click to collapse
No. Here is what i did.
looked for new version of the ROM and downloaded it.
while it was downloading, I ran across the Convert2EXT4 mod and downloaded all of the files.
moved all my downloaded files to the SD card (ROM & mods)
factory wipe, then wiped system, datadata, data, cache, emmc, sd-ext.
flashed the rom ToB2.2
flashed the ext4 dalvik moved mod.
reboot
*** this is when i noticed something wrong because the phone sat on the splash screen for 30 minutes.
At this point I decided to un-do the mod and move things back to the way they were.
I flashed the mod to revert the change. The flash went fine with no reported errors.
Next, I wanted to start fresh so I format everything again. This is where my problem was evident.
/data & /cache could not be formatted. I rebooted and tried formatting again. No dice.
I moved forward with flashing the ToB2.2 ROM once again. No joy. It still won't boot.
This is where I am now.
I researched online and found "parted" . I believe this may be the solution but for some reason /cache will not unmount so i can format it.
I need a way to completely remove all partitions from the internal memory of the phone and re-create them.
Otherwise, I am semi-bricked
I hope this info clears up any questions :good:
CalvinAMi said:
No. Here is what i did.
looked for new version of the ROM and downloaded it.
while it was downloading, I ran across the Convert2EXT4 mod and downloaded all of the files.
moved all my downloaded files to the SD card (ROM & mods)
factory wipe, then wiped system, datadata, data, cache, emmc, sd-ext.
flashed the rom ToB2.2
flashed the ext4 dalvik moved mod.
reboot
*** this is when i noticed something wrong because the phone sat on the splash screen for 30 minutes.
At this point I decided to un-do the mod and move things back to the way they were.
I flashed the mod to revert the change. The flash went fine with no reported errors.
Next, I wanted to start fresh so I format everything again. This is where my problem was evident.
/data & /cache could not be formatted. I rebooted and tried formatting again. No dice.
I moved forward with flashing the ToB2.2 ROM once again. No joy. It still won't boot.
This is where I am now.
I researched online and found "parted" . I believe this may be the solution but for some reason /cache will not unmount so i can format it.
I need a way to completely remove all partitions from the internal memory of the phone and re-create them.
Otherwise, I am semi-bricked
I hope this info clears up any questions :good:
Click to expand...
Click to collapse
Ok that wasnt the problem then. Im not sure what causes this, but i have seen it several times before on different roms. Its always cache and data that seem to mess up. Any luck with parted? That thread is the only one i see where someone actually got it working right again. My only other sugestion would be to unlock your bootloader with htcdev, and then fastboot flash a misc img from froyo. Then run the froyo ruu thru hboot. I belive this is where the partition info is stored.
CalvinAMi said:
No. Here is what i did.
looked for new version of the ROM and downloaded it.
while it was downloading, I ran across the Convert2EXT4 mod and downloaded all of the files.
moved all my downloaded files to the SD card (ROM & mods)
factory wipe, then wiped system, datadata, data, cache, emmc, sd-ext.
flashed the rom ToB2.2
flashed the ext4 dalvik moved mod.
reboot
*** this is when i noticed something wrong because the phone sat on the splash screen for 30 minutes.
At this point I decided to un-do the mod and move things back to the way they were.
I flashed the mod to revert the change. The flash went fine with no reported errors.
Next, I wanted to start fresh so I format everything again. This is where my problem was evident.
/data & /cache could not be formatted. I rebooted and tried formatting again. No dice.
I moved forward with flashing the ToB2.2 ROM once again. No joy. It still won't boot.
This is where I am now.
I researched online and found "parted" . I believe this may be the solution but for some reason /cache will not unmount so i can format it.
I need a way to completely remove all partitions from the internal memory of the phone and re-create them.
Otherwise, I am semi-bricked
I hope this info clears up any questions :good:
Click to expand...
Click to collapse
Check post #7 on this thread below:
http://forum.cyanogenmod.org/topic/6433-solved-messed-up-partitions-on-internal-storage/
Fortunately, parted is loaded on recoveries now so it doesn't need to be pushed over so run these from adb shell in recovery.
Quoted below:
Now, we need to fix the partitions. This is assuming that the partitions are there, just the wrong format (which is what happened to me .. I accidentally made them FAT32 instead of ext). So, run the following: parted /dev/block/mmcblk0 mkfs ext2. It will ask if you want to continue, hit yes. When it asks for the partition number, enter 1. Next, when it asks for the format, enter ext2. Let it do its thing. Now, once it's done, run parted again. This time, enter partition 2 (everything else is the same).
Click to expand...
Click to collapse
Prior to trying to change anything, what is the output if you run parted /dev/block/mmcblk0 then type print as shown in post #11 from that thread?
Here is mine below:
Code:
~ # parted /dev/block/mmcblk0
GNU Parted 1.8.8.1.179-aef3
Using /dev/block/mmcblk0
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
print
Model: MMC HYNIX (sd/mmc)
Disk /dev/block/mmcblk0: 8095MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 8192B 797MB 797MB primary ext3
2 797MB 1007MB 210MB primary ext3
3 1007MB 8095MB 7088MB primary fat32 lba
tiny4579 said:
Check post #7 on this thread below:
http://forum.cyanogenmod.org/topic/6433-solved-messed-up-partitions-on-internal-storage/
Fortunately, parted is loaded on recoveries now so it doesn't need to be pushed over so run these from adb shell in recovery.
Quoted below:
Prior to trying to change anything, what is the output if you run parted /dev/block/mmcblk0 then type print as shown in post #11 from that thread?
Here is mine below:
Code:
~ # parted /dev/block/mmcblk0
GNU Parted 1.8.8.1.179-aef3
Using /dev/block/mmcblk0
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
print
Model: MMC HYNIX (sd/mmc)
Disk /dev/block/mmcblk0: 8095MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 8192B 797MB 797MB primary ext3
2 797MB 1007MB 210MB primary ext3
3 1007MB 8095MB 7088MB primary fat32 lba
Click to expand...
Click to collapse
I have been round and round with parted (post#4). It seems my '/cache' partition will not unmount :crying:
I hope we can figure this out :highfive:
Here is my 'print'
Code:
C:\Program Files (x86)\Android\android-sdk\platform-tools\DINC>adb devices
List of devices attached
HT132HJ00898 recovery
C:\Program Files (x86)\Android\android-sdk\platform-tools\DINC>adb shell
# parted /dev/block/mmcblk0
parted /dev/block/mmcblk0
GNU Parted 1.8.8.1.179-aef3
Using /dev/block/mmcblk0
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) [B][COLOR="Blue"]print[/COLOR][/B]
print
print
[B][COLOR="DarkOrange"]Model: MMC SEM08G (sd/mmc)
Disk /dev/block/mmcblk0: 7944MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 8192B 797MB 797MB primary ext4
2 797MB 1007MB 210MB primary ext3
3 1007MB 7944MB 6937MB primary fat32 lba[/COLOR][/B]
(parted) [B][COLOR="Blue"]mkfs[/COLOR][/B]
mkfs
mkfs
Warning: The existing file system will be destroyed and all data on the
partition will be lost. Do you want to continue?
Yes/No? [B][COLOR="blue"]y[/COLOR][/B]
y
y
Partition number? [B][COLOR="blue"]1[/COLOR][/B]
1
1
File system type? [ext2]? [B][COLOR="blue"]ext2[/COLOR][/B]
ext2
ext2
[B][COLOR="Red"]Error: File system was not cleanly unmounted! You should run e2fsck. Modifying
an unclean file system could cause severe corruption.[/COLOR][/B]
Ignore/Cancel?[B][COLOR="Blue"] i[/COLOR][/B]
i
i
Error: File system has an incompatible feature enabled. Compatible features are
has_journal, dir_index, filetype, sparse_super and large_file. Use tune2fs or
debugfs to remove features.
You found a bug in GNU Parted! Here's what you have to do:
Don't panic! The bug has most likely not affected any of your data.
Help us to fix this bug by doing the following:
Check whether the bug has already been fixed by checking
the last version of GNU Parted that you can find at:
http://ftp.gnu.org/gnu/parted/
Please check this version prior to bug reporting.
If this has not been fixed yet or if you don't know how to check,
please visit the GNU Parted website:
http://www.gnu.org/software/parted
for further information.
Your report should contain the version of this release (1.8.8.1.179-aef3)
along with the error message below, the output of
parted DEVICE unit co print unit s print
and the following history of commands you entered.
Also include any additional information about your setup you
consider important.
Error: SEGV_MAPERR (Address not mapped to object)
Aborted
Preliminary results from using e2fsck
Code:
#[B][COLOR="Blue"]e2fsck[/COLOR][/B]
e2fsck
Usage: e2fsck [-panyrcdfvtDFV] [-b superblock] [-B blocksize]
[-I inode_buffer_blocks] [-P process_inode_size]
[-l|-L bad_blocks_file] [-C fd] [-j external_journal]
[-E extended-options] device
Emergency help:
-p Automatic repair (no questions)
-n Make no changes to the filesystem
-y Assume "yes" to all questions
-c Check for bad blocks and add them to the badblock list
-f Force checking even if filesystem is marked clean
-v Be verbose
-b superblock Use alternative superblock
-B blocksize Force blocksize when looking for superblock
-j external_journal Set location of the external journal
-l bad_blocks_file Add to badblocks list
-L bad_blocks_file Set badblocks list
#[B][COLOR="blue"]e2fsck /dev/block/mmcblk0[/COLOR][/B]
e2fsck /dev/block/mmcblk0
e2fsck 1.41.12 (17-May-2010)
e2fsck: Device or resource busy while trying to open /dev/block/mmcblk0
Filesystem mounted or opened exclusively by another program?
#[B][COLOR="blue"]e2fsck -p /dev/block/mmcblk0[/COLOR][/B]
e2fsck -p /dev/block/mmcblk0
e2fsck: Device or resource busy while trying to open /dev/block/mmcblk0
Filesystem mounted or opened exclusively by another program?
#
CalvinAMi said:
Preliminary results from using e2fsck
Code:
#[B][COLOR="Blue"]e2fsck[/COLOR][/B]
e2fsck
Usage: e2fsck [-panyrcdfvtDFV] [-b superblock] [-B blocksize]
[-I inode_buffer_blocks] [-P process_inode_size]
[-l|-L bad_blocks_file] [-C fd] [-j external_journal]
[-E extended-options] device
Emergency help:
-p Automatic repair (no questions)
-n Make no changes to the filesystem
-y Assume "yes" to all questions
-c Check for bad blocks and add them to the badblock list
-f Force checking even if filesystem is marked clean
-v Be verbose
-b superblock Use alternative superblock
-B blocksize Force blocksize when looking for superblock
-j external_journal Set location of the external journal
-l bad_blocks_file Add to badblocks list
-L bad_blocks_file Set badblocks list
#[B][COLOR="blue"]e2fsck /dev/block/mmcblk0[/COLOR][/B]
e2fsck /dev/block/mmcblk0
e2fsck 1.41.12 (17-May-2010)
e2fsck: Device or resource busy while trying to open /dev/block/mmcblk0
Filesystem mounted or opened exclusively by another program?
#[B][COLOR="blue"]e2fsck -p /dev/block/mmcblk0[/COLOR][/B]
e2fsck -p /dev/block/mmcblk0
e2fsck: Device or resource busy while trying to open /dev/block/mmcblk0
Filesystem mounted or opened exclusively by another program?
#
Click to expand...
Click to collapse
You can't run a filesystem check on a device level as there's no partition data there. To check /data or /cache you need to run:
e2fsck /dev/block/mmcblk0p1 for /data and
e2fsck /dev/block/mmcblk0p2 for /cache
Try to add -f to the list to force check such as e2fsck -pf /dev/block/mmcblk0p1
Edit:
I don't know if you'll be able to check /cache if it's mounted. What do you get from adb shell in recovery when you type umount /cache or try to unmount it from the recovery options?
Anyways, you should be able to run mkfs even with the partition being dirty.
I just thought of something. What if you type:
parted /dev/block/mmcblk0
then
rm 1 to delete the first partition?
Then rebuild the partition with mkpartfs primary ext2 8192B 797MB
Then exit out of parted with quit.
Then convert to ext3 with mke2fs -j /dev/block/mmcblk0p1
This process will wipe /data.
I tested this with partition 2 with a similar command.
If the phone still bootloops, do the following:
parted /dev/block/mmcblk0
rm 2
mkpartfs primary ext2 797MB 1007MB
mke2fs -j /dev/block/mmcblk0p2
The above steps will wipe /cache.
Hopefully you should be able to mount and unmount /cache after rebooting recovery.
My results
tiny4579 said:
You can't run a filesystem check on a device level as there's no partition data there. To check /data or /cache you need to run:
e2fsck /dev/block/mmcblk0p1 for /data and
e2fsck /dev/block/mmcblk0p2 for /cache
Try to add -f to the list to force check such as e2fsck -pf /dev/block/mmcblk0p1
***
C:\Program Files (x86)\Android\android-sdk\platform-tools\DINC>adb shell
~ # 2fsck -pf /dev/block/mmcblk0p1
e2fsck -pf /dev/block/mmcblk0p1
/dev/block/mmcblk0p1: recovering journal
e2fsck: unable to set superblock flags on /dev/block/mmcblk0p1
~ #
***
Edit:
I don't know if you'll be able to check /cache if it's mounted. What do you get from adb shell in recovery when you type umount /cache or try to unmount it from the recovery options?
***
C:\Program Files (x86)\Android\android-sdk\platform-tools\DINC>adb shell
~ # unmount /cache
unmount /cache
/sbin/sh: unmount: not found
~ #
***
Anyways, you should be able to run mkfs even with the partition being dirty.
I just thought of something. What if you type:
parted /dev/block/mmcblk0
then
rm 1 to delete the first partition?
Then rebuild the partition with mkpartfs primary ext2 8192B 797MB
Then exit out of parted with quit.
Then convert to ext3 with mke2fs -j /dev/block/mmcblk0p1
This process will wipe /data.
I tested this with partition 2 with a similar command.
***
~ # parted /dev/block/mmcblk0
parted /dev/block/mmcblk0
GNU Parted 1.8.8.1.179-aef3
Using /dev/block/mmcblk0
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) rm 1
rm 1
rm 1
(parted) mkpartfs primary ext2 8192B 797MB
mkpartfs primary ext2 8192B 797MB
mkpartfs primary ext2 8192B 797MB
Warning: You requested a partition from 8192B to 797MB.
The closest location we can manage is 7680B to 7680B.
Is this still acceptable to you?
Yes/No? y
y
y
Error: File system too small for ext2.
(parted)
***
If the phone still bootloops, do the following:
parted /dev/block/mmcblk0
rm 2
mkpartfs primary ext2 797MB 1007MB
mke2fs -j /dev/block/mmcblk0p2
The above steps will wipe /cache.
Hopefully you should be able to mount and unmount /cache after rebooting recovery.
Click to expand...
Click to collapse
CalvinAMi said:
My results
Click to expand...
Click to collapse
Do a print from parted and tell me what you get.
Sent from my Galaxy Nexus using Tapatalk 2
Same results :silly:
Code:
C:\Program Files (x86)\Android\android-sdk\platform-tools\DINC>adb shell
# parted /dev/block/mmcblk0
parted /dev/block/mmcblk0
GNU Parted 1.8.8.1.179-aef3
Using /dev/block/mmcblk0
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
print
print
Model: MMC SEM08G (sd/mmc)
Disk /dev/block/mmcblk0: 7944MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 8192B 797MB 797MB primary ext4
2 797MB 1007MB 210MB primary ext3
3 1007MB 7944MB 6937MB primary fat32 lba
Did you try the ruu from cmlusco? Also theres a link someone gave for fixing their partition issues.
Edit: here is a detailed guide and the one I'm talking about. I'm sure you're up to trying anything.
http://blog.swiftpassage.com/2013/02/03/htc-incredible-jelly-bean-nearly-bricked/
Sent from my Galaxy Nexus using Tapatalk 2
tiny4579 said:
Did you try the ruu from cmlusco? Also theres a link someone gave for fixing their partition issues.
Edit: here is a detailed guide and the one I'm talking about. I'm sure you're up to trying anything.
http://blog.swiftpassage.com/2013/02/03/htc-incredible-jelly-bean-nearly-bricked/
Sent from my Galaxy Nexus using Tapatalk 2
Click to expand...
Click to collapse
I didn't see any particular RUU posted by Cmlusco. I have run the stock RUU for Froyo & Gingerbread multiple time. No dice.
Also, that blog went through the same stuff i have tired. Result = /cache & /data are still mounted and not available to alter.
I did find an old back (stock+) for this phone. When I try to restore the backup I get:
Code:
Checking MD5 sums...
Erasing boot before restore...
Restoring boot image...
Restoring system...
Restoring data...
Error while formatting /data!
I am at my wits-end with this thing.
Shame the stock RUU can't remove the partitions entirely and recreate them.
Oh well. It might be time to just put this old Dinc on the shelf. :crying:
Did you ever fix this?
I think I am having a very similar problem. I had originally flashed convert2ext4_no_data_limit_normal_dalvik.zip on stock ROM a long time ago.
I have /cache, but no /data. It was the opposite earlier.

How to put /data on external SD

WORD OF WARNING: if you do this, wiping /data from recovery will not actually wipe data. AND if you install a new ROM, via clean or dirty flash, chances are your large /data partition will go all screwy on you. It did for me. If I flashed anything, it tends to cause boot loops or hangs at the boot animation.
If you are dirty flashing anything, I would first get as much off of the large /data as you can to get it to 2 GB or less, then drop it on top of your 2 GB /data partition, then dirty flash, let everything come back up and get stable then repeat these steps starting at step 2 to blow away your large /data and then mirror your 2 GB /data to your large /data.
The problems I had could be related to xposed, but I am not 100% certain on this. It is my best guess from looking at my logcat (doesn't actually indicate a crash in there, but has a lot of stuff related to xposed).
These steps are more for the non-flashaholics amung us OR people who flash new stuff but roll back to nandroid. Once you pop the larger /data onto any ROM, your nandroid will likely not play nice with it anymore as your larger /data is not restored from a nandroid.
And the normal "warranty is now void" and "if things break, it isn't my fault" disclamer stuff too. But I'm running this right now and liking it (except when I go to jump to KK it may not be happy with me... gonna need to do some testing to nandroids work properly AND so I can flash ROMs without blowing everything up... thinking it is just the dalvik that is unhappy, but I am uncertain at this time)
I was having issues with my /data partition getting full on me after getting new ROMs set up. This was irritating me and I came to the conclusion that 2 GB was just not enough space for some of the larger apps out there. So I went ahead and started investigating and testing how to get /data onto the external SD card.
2 complications arise:
1) it needs to be in ext4 format to preserve permissions
2) it needs to be swapped post boot AFTER the sd card is mounted (potentially, I have not fully tested this).
So this becomes a multi step process. What you need:
1) an external SD card that is at least 2 GB in size if not larger (I recommend larger simply because what is the point of having it on external storage if you aren't gaining any extra space)
2) a SGH-T989D (I do not have an SGH-T989 to test it with BUT I am confident it will work with that one too)
3) some partitioning software on your PC (I recommend EaseUS or AOMEI, but use whatever you are comforatble with)
4) latest version of busybox installed on your phone
So, the steps to do this:
1) partition your external SD card into at least 2 partitions, where your second partition will be used for /data. The first partition automatically mounts to /storage/sdcard1, but partition 2 will NOT auto-mount. You do not need to format this if you do not want to. This is up to you how you do it.
2) Run the following commands from either adb shell OR android terminal:
su
mke2fs /dev/block/mmcblk1p2
mkdir /storage/sdcard1/PARTITION2
mount -t ext4 /dev/block/mmcblk1p2 /storage/sdcard1/PARTITION2
rsync -HpogEvrl /data/* /storage/sdcard1/PARTITION2
busybox umount -l /storage/sdcard1/PARTITION2
mount -o remount,errors=continue /data
busybox umount -l /data && mount -t ext4 -o rw,seclabel,errors=continue,user_xattr,acl,barrier=1,data=ordered,noauto_da_alloc /dev/block/mmcblk1p2 /data
chown system:system /data
restorecon /data
brief explaination of the above commands:
su - switch user to root
mke2fs - format the block device as ext4
mkdir - make directory
mount -t ext4 - mount a block device of type ext4 from /dev/block/mmcblk1p2 to /storage/sdcard1/PARTITION2
rsync -HpogEvrl - copy files from /data/* to /storage/sdcard1/PARTITION2 preserving all attributes (including owner and group)
busybox umount -l - use the busybox version of umount to do a lazy unmount of /storage/sdcard1/PARTITION2. this will unmount it even if files are locking it
mount -o remount,errors=continue /data - remounts the data partition telling it to continue instead of kernel panic if there is any errors reading or writing to that mount point
and the next command is actually 2:
busybox umount -l /data && mount -t ext4 -o rw,seclabel,errors=continue,user_xattr,acl,barrier=1,data=ordered,noauto_da_alloc /dev/block/mmcblk1p2 /data
this does a lazy unmount of /data and then mounts /dev/block/mmcblk1p2 to /data with the appropriate parameters for the /data parameter
chown system:system /data - This gives system ownership of /data instead of root as is originally done
restorecon /data - we do this just in case the userdata partition has been reset.
3) OPTIONAL delete the directory /storage/sdcard1/PARTITION2. This is just cleanup, it is not neccessary to do.
When you reboot your phone, your /data directory will remount to the 2 GB partition as it did originally. To remount it to your newly created /data partition, run the following 2 commands:
su
busybox umount -l /data && mount -t ext4 -o rw,seclabel,errors=continue,user_xattr,acl,barrier=1,data=ordered,noauto_da_alloc /dev/block/mmcblk1p2 /data
Now, you can make this into a nice and easy startup script by following these simple steps from adb shell or android terminal (NOTE this assumes that your ROM supports userinit.d and init.d):
su
cd /data/local/userinit.d
echo "#!/system/bin/bash" > dataswap
echo "if [ -e \"/dev/block/mmcblk1p2\" ]" >>dataswap
echo "then" >> dataswap
echo "busybox umount -l /data && mount -t ext4 -o rw,seclabel,errors=continue,user_xattr,acl,barrier=1,data=ordered,noauto_da_alloc /dev/block/mmcblk1p2 /data" >> dataswap
echo "chown system:system /data" >> dataswap
echo "restorecon /data" >> dataswap
echo "fi" >>dataswap
chown root:shell dataswap
chmod 777 dataswap
and now when you reboot your phone you will have your external SD cards partition 2 as your /data directory.
If your phone has init.d support, look in your /system/etc/init.d folder for a script named "90userinit". If it is not there, you will need to either make it and have it run userinit.d OR change the line:
cd /data/local/userinit.d
to
cd /system/etc/init.d
mount -o remount,rw /system
now for the warning stuff:
1) I strongly recommend that you do NOT put this into your /data/local/userinit.d folder until you are 110% certain that it worked on your device with your ROM. The reason for this is if it fails and you don't have it in that folder, simply reboot and your phone is back to using /data from partition 25 on your internal memory
2) I strongly recommend you do a nandroid before you begin. That way in the very slim chance that something goes horridly wrong, you can recover
3) I strongly recommend you back up your external SD card before you begin resizing your partitions. Resizing partitions may result in data loss.
4)I take no responsibility for any data loss
5) I have ONLY tested this on a SGH-T989D running HellyBean (Android 4.3). I cannot make any comments on other ROMS, but as long as the ROM has busybox, root, and init.d support, this should work.
6) If you get ANY ERRORS from ANY of the above commands, stop everything and either post in this thread or start over. I have done this twice on my phone to make sure that the steps are as solid as I know how to make them. The only thing I haven't fully tested is putting it into a startup script.
One thing I notice, sometimes when you unmount and remount /data, any data changes in your currently running apps (ie you get a text message while doing this or you start a game up while /data is being sync'ed) may cause odd data issues when the two swap and may cause your phone to jump back to the boot animation. If this occurs, try waiting approximately 1 minute OR until adb shell drops out; whatever comes first. At that point, something has likely gone sour. Reboot your phone and things will be back how they were prior to step 2 (step 1 is permanent until you change that).
Questions, comments, suggestions? Please leave them in the thread, not in PM. If I get any PM's about this thread, I'll do my best to answer, but I may end up posting your PM in this thread to help others.
EDIT: cleaned up the instructions a little and added in some recommended steps (the chown and restorecon) and removed the waiting to mount /data as that just makes things unhappy long term.
EDIT: added error handling in case mmcblk1p2 does not exist to the startup script. If it does not exist, it will now NOT swap the partitions. So as a failsafe, if your phone gets stuck at the boot animation, you can power it down, remove the SD card and power it back up to boot with your default /data partition. This should not need to be done, but there is a chance that your SD card could die or your new /data partition get corrupted, this will allow you to recover safely and will likely only require you to re-create your data partition and NOT have to re-do your whole ROM due to something going bad on the big /data.
Dang...found a bug: it looks like if you leave it for a few days or reboot our something(have not narrowed it down yet) some apps stop working... investigating it and should have a solution sometime tonight... sorry to all those who have tried this... if you have not done much, I'd suggest switching back to normal /data until I get the bug sorted out. My best guess is that reboot doesn't unmount the partition cleanly but I'm not positive...
bmg002 said:
I was having issues with my /data partition getting full on me after getting new ROMs set up. This was irritating me and I came to the conclusion that 2 GB was just not enough space for some of the larger apps out there. So I went ahead and started investigating and testing how to get /data onto the external SD card.
2 complications arise:
1) it needs to be in ext4 format to preserve permissions
2) it needs to be swapped post boot AFTER the sd card is mounted (potentially, I have not fully tested this).
So this becomes a multi step process. What you need:
1) an external SD card that is at least 2 GB in size if not larger (I recommend larger simply because what is the point of having it on external storage if you aren't gaining any extra space)
2) a SGH-T989D (I do not have an SGH-T989 to test it with BUT I am confident it will work with that one too)
3) some partitioning software on your PC (I recommend EaseUS or AOMEI, but use whatever you are comforatble with)
4) latest version of busybox installed on your phone
So, the steps to do this:
1) partition your external SD card into at least 2 partitions, where your second partition will be used for /data. The first partition automatically mounts to /storage/sdcard1, but partition 2 will NOT auto-mount. You do not need to format this if you do not want to. This is up to you how you do it.
2) Run the following commands from either adb shell OR android terminal:
su
mke2fs /dev/block/mmcblk1p2
mkdir /storage/sdcard1/PARTITION2
mount -t ext4 /dev/block/mmcblk1p2 /storage/sdcard1/PARTITION2
rsync -HpogEvrl /data/* /storage/sdcard1/PARTITION2
busybox umount -l /storage/sdcard1/PARTITION2
mount -o remount,errors=continue /data
busybox umount -l /data && mount -t ext4 -o rw,seclabel,errors=continue,user_xattr,acl,barrier=1,data=ordered,noauto_da_alloc /dev/block/mmcblk1p2 /data
brief explaination of the above commands:
su - switch user to root
mke2fs - format the block device as ext4
mkdir - make directory
mount -t ext4 - mount a block device of type ext4 from /dev/block/mmcblk1p2 to /storage/sdcard1/PARTITION2
rsync -HpogEvrl - copy files from /data/* to /storage/sdcard1/PARTITION2 preserving all attributes (including owner and group)
busybox umount -l - use the busybox version of umount to do a lazy unmount of /storage/sdcard1/PARTITION2. this will unmount it even if files are locking it
mount -o remount,errors=continue /data - remounts the data partition telling it to continue instead of kernel panic if there is any errors reading or writing to that mount point
and the last command is actually 2:
busybox umount -l /data && mount -t ext4 -o rw,seclabel,errors=continue,user_xattr,acl,barrier=1,data=ordered,noauto_da_alloc /dev/block/mmcblk1p2 /data
this does a lazy unmount of /data and then mounts /dev/block/mmcblk1p2 to /data with the appropriate parameters for the /data parameter
3) OPTIONAL delete the directory /storage/sdcard1/PARTITION2. This is just cleanup, it is not neccessary to do.
When you reboot your phone, your /data directory will remount to the 2 GB partition as it did originally. To remount it to your newly created /data partition, run the following 2 commands:
su
busybox umount -l /data && mount -t ext4 -o rw,seclabel,errors=continue,user_xattr,acl,barrier=1,data=ordered,noauto_da_alloc /dev/block/mmcblk1p2 /data
Now, you can make this into a nice and easy startup script by following these simple steps from adb shell or android terminal (NOTE this assumes that your ROM supports userinit.d and init.d):
su
cd /data/local/userinit.d
echo "#/sys/bin/bash" > dataswap.sh
echo "while [ \`mount | grep -c sdcard\` -lt 3 ]" >> dataswap.sh
echo "do" >> dataswap.sh
echo "sleep 10" >> dataswap.sh
echo "done" >> dataswap.sh
echo "busybox umount -l /data && mount -t ext4 -o rw,seclabel,errors=continue,user_xattr,acl,barrier=1,data=ordered,noauto_da_alloc /dev/block/mmcblk1p2 /data" >> dataswap.sh
chown root:shell dataswap.sh
chmod 777 dataswap.sh
and now when you reboot your phone you will have your external SD cards partition 2 as your /data directory.
If your phone has init.d support, look in your /system/etc/init.d folder for a script named "90userinit". If it is not there, you will need to either make it and have it run userinit.d OR change the line:
cd /data/local/userinit.d
to
cd /system/etc/init.d
mount -o remount,rw /system
now for the warning stuff:
1) I strongly recommend that you do NOT put this into your /data/local/userinit.d folder until you are 110% certain that it worked on your device with your ROM. The reason for this is if it fails and you don't have it in that folder, simply reboot and your phone is back to using /data from partition 25 on your internal memory
2) I strongly recommend you do a nandroid before you begin. That way in the very slim chance that something goes horridly wrong, you can recover
3) I strongly recommend you back up your external SD card before you begin resizing your partitions. Resizing partitions may result in data loss.
4)I take no responsibility for any data loss
5) I have ONLY tested this on a SGH-T989D running HellyBean (Android 4.3). I cannot make any comments on other ROMS, but as long as the ROM has busybox, root, and init.d support, this should work.
6) If you get ANY ERRORS from ANY of the above commands, stop everything and either post in this thread or start over. I have done this twice on my phone to make sure that the steps are as solid as I know how to make them. The only thing I haven't fully tested is putting it into a startup script.
One thing I notice, sometimes when you unmount and remount /data, any data changes in your currently running apps (ie you get a text message while doing this or you start a game up while /data is being sync'ed) may cause odd data issues when the two swap and may cause your phone to jump back to the boot animation. If this occurs, try waiting approximately 1 minute OR until adb shell drops out; whatever comes first. At that point, something has likely gone sour. Reboot your phone and things will be back how they were prior to step 2 (step 1 is permanent until you change that).
Questions, comments, suggestions? Please leave them in the thread, not in PM. If I get any PM's about this thread, I'll do my best to answer, but I may end up posting your PM in this thread to help others.
Click to expand...
Click to collapse
So found a solution to crashing apps . Load up the play store and update your apps. Worked for me anyways.
Now to fix a potential mounting bug in the op, put any scripts on a different ext4 position such as/system/xbin or/system/etc/init.d.
I'll keep you posted if I find other bugs.
Sent from my SAMSUNG-SGH-T989 using xda app-developers app
Bleh new bug:
When you unplug it from a pc, it gets confused and you get io errors which cause it to crash back to the boot animation and get stuck there... too tired to debug out tonight but I'll poke at it tomorrow... thinking I may need to build a kernel module for this... or a custom kernel
Sent from my SAMSUNG-SGH-T989 using xda app-developers app
So the unplugging issue seems quite intermittent and I am unable to get consistent results with it. So I am not sure if it is a bug or not. I updated the OP to have error handling so you can pull your SD card out to mount the 2 GB /data that your phone normally does instead of your big one in the event that something goes wrong.
Hrm... so my testing and further development with this has taken a temporary pause due to my SD card dying on me. Stupid SD card... haven't even had it a year. Hoping I can find the reciept. But once I get it replaced, I'll be jumping in on this some more. I have a few cool ideas that we can do by moving partitions to external storage...
What's the deal with cause this would so help with games but is it possible to maybe if possible extend the internal storage
snt? from? sumthiN 4.4+ ?via a ?T989
hatememarkz said:
What's the deal with cause this would so help with games but is it possible to maybe if possible extend the internal storage
snt? from? sumthiN 4.4+ ?via a ?T989
Click to expand...
Click to collapse
From my testing it seems to work but puts a heavy load the sd card. And if your sd card fails you will lose some data.
I have not tested this on KitKat yet but that is my plan soon.
Sent from my SM-T310 using xda app-developers app

Categories

Resources