Read timings on file systems - HTC Flyer, EVO View 4G

Figured I would post this for information sharing purpose.
I have been doing some device read timings on internal memory / sdcard file systems.
My setup:
- internal flash -> standard
- SD card with 1 VFAT partition
- SD card with 1 ext4 partition
Below measured read timings (measured with "hdparm -t"):
1) internal flash
bash-3.2# /data/hdparm -t /dev/block/mmcblk0p25
/dev/block/mmcblk0p25:
Timing buffered disk reads: 90 MB in 3.01 seconds = 29.87 MB/sec
2) VFAT on sdcard partition
bash-3.2# /data/hdparm -t /dev/block/mmcblk1p1
/dev/block/mmcblk1p1:
Timing buffered disk reads: 22 MB in 3.07 seconds = 7.17 MB/sec
3) ext4 on sdcard partition
bash-3.2# /data/hdparm -t /dev/block/mmcblk1p2
/dev/block/mmcblk1p2:
Timing buffered disk reads: 28 MB in 3.03 seconds = 9.24 MB/sec
Clear where you have to store your data if you want high read throughput (and not surprising of course).
Note: "hdparm" compiled for arm from original source code.
Readahead = 8192 in all cases.

Related

[GUIDE] Restore data from damaged USB Storage

Well, I you are getting message USB Storage damaged and you can't mount USB Storage from Settings > Storage > USB Storage, there is still a chance to save data from that partition. This is how I did it:
1. On phone start SSHDroid
2. Connect to phone with ssh (default password is admin)
Code:
ssh [email protected]<ip_from_SSHDroid>
4. run ''parted'' to determine partition number
Code:
/data/data/berserker.android.apps.sshdroid/home # 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)
Then enter print
Code:
(parted) print
print
Model: MMC VYL00M (sd/mmc)
Disk /dev/block/mmcblk0: 15.8GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 4194kB 25.2MB 21.0MB ext4 EFS
2 25.2MB 26.5MB 1311kB SBL1
3 27.3MB 28.6MB 1311kB SBL2
4 29.4MB 37.7MB 8389kB PARAM
5 37.7MB 46.1MB 8389kB KERNEL
6 46.1MB 54.5MB 8389kB RECOVERY
7 54.5MB 159MB 105MB ext4 CACHE
8 159MB 176MB 16.8MB MODEM
9 176MB 713MB 537MB ext4 FACTORYFS
10 713MB 2861MB 2147MB ext4 DATAFS
11 2861MB 15.2GB 12.4GB fat32 UMS
12 15.2GB 15.8GB 537MB ext4 HIDDEN
(parted)
From size column we can determine that our partition number is 11, that means device /dev/block/mmcblk0p11.
5. You can also double check with fdisk
Code:
/data/data/berserker.android.apps.sshdroid/home # fdisk -l /dev/block/mmcblk0p11
Disk /dev/block/mmcblk0p11: 12.3 GB, 12356419584 bytes
4 heads, 16 sectors/track, 377088 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Device Boot Start End Blocks Id System
/dev/block/mmcblk0p11p4 1 1 0 0 Empty
Partition 4 does not end on cylinder boundary
5. Now we try to manually mount partition /dev/block/mmcblk0p11
Code:
mount /dev/block/mmcblk0p11 /sdcard/
If no errors are returned, then partition is mounted. Check with
Code:
ls -l /sdcard
6. Now we copy files from phone to pc, on pc run
Code:
mkdir ./sdcard_backup
scp -r [email protected]<ip_from_SSHDroid>:/sdcard/ ./sdcard_backup
7. Now we can format USB Settings > Storage > Format USB storage
8. You should not see notification USB Storage damaged any more
9. Restore files to USB storage, on pc run
Code:
scp -r ./sdcard_backup [email protected]<ip_from_SSHDroid>:/sdcard/

[Q] ADB Shell help?

As I posted previously about flashing issues and errors which came up with my device I've learned that my partitions were corrupted and nearly all were erased. With some help from developer Mev and other members I was able to get my device working with ADB shell yet the commands seemed to be far out of my lead.
I have an YP-G70 USA (8 Gigs) device.
From what I learned this is the partition to the device, yet the start/ending blocks aren't listed. Would that be a problem?
Code:
Device Size (KiB) Mount Name Notes
/dev/block/mmcblk0 7757824 Internal eMMC disk device
/dev/block/mmcblk0p1 1 Extended partition containing everything else
/dev/block/mmcblk0p5 256 boot.bin Initial+Primary Bootloaders
/dev/block/mmcblk0p6 256 YPG70_8G-0304.pit Partition Information Table
/dev/block/mmcblk0p7 1280 Sbl.bin Secondary Bootloader
/dev/block/mmcblk0p8 1280 Sbl.bin SBL backup
/dev/block/mmcblk0p9 5120 /mnt/.lfs param.lfs param.blk and boot logos - source of recovery loops
/dev/block/mmcblk0p10 10240 /efs efs.rfs WiFi and BT MAC addresses - causes missing lockscreen
/dev/block/mmcblk0p11 7680 zImage Kernel
/dev/block/mmcblk0p12 7680 zImage "Recovery" kernel that is never used
/dev/block/mmcblk0p13 296960 /system factoryfs.rfs System partition
/dev/block/mmcblk0p14 137216 /dbdata dbdata.rfs Various Android/app databases
/dev/block/mmcblk0p15 65536 /cache cache.rfs Cache partition
/dev/block/mmcblk0p16 1970176 /data datafs.rfs Data partition (apps and their data)
/dev/block/mmcblk0p17 5252096 /sdcard userfs_8G.rfs "Emmc" "Usb Storage" - where your media goes
/dev/block/mmcblk1 <varies> External SD Card disk device
/dev/block/mmcblk1p1 <varies> /sdcard/external_sd External SD Card partition
Next thing is, whenever I tried using
Code:
fdisk /dev/block/mmcblk0
and later on creating a prime partition within the settings that I try to use the "e" to extend (says nothing about "l" for logical) which I run out of sectors to create them with. And sadly the only ones that ever come up is mmcblk0p4 or mmcblk0p3.
Just looking for help to get my player back up and running .. it's all I have and use at work since I don't have a phone and really have been trying to get this to work but its difficult so im sorry for bothering..
I don't know what to do after this:
Jistropy said:
As I posted previously about flashing issues and errors which came up with my device I've learned that my partitions were corrupted and nearly all were erased. With some help from developer Mev and other members I was able to get my device working with ADB shell yet the commands seemed to be far out of my lead.
I have an YP-G70 USA (8 Gigs) device.
From what I learned this is the partition to the device, yet the start/ending blocks aren't listed. Would that be a problem?
Code:
Device Size (KiB) Mount Name Notes
/dev/block/mmcblk0 7757824 Internal eMMC disk device
/dev/block/mmcblk0p1 1 Extended partition containing everything else
/dev/block/mmcblk0p5 256 boot.bin Initial+Primary Bootloaders
/dev/block/mmcblk0p6 256 YPG70_8G-0304.pit Partition Information Table
/dev/block/mmcblk0p7 1280 Sbl.bin Secondary Bootloader
/dev/block/mmcblk0p8 1280 Sbl.bin SBL backup
/dev/block/mmcblk0p9 5120 /mnt/.lfs param.lfs param.blk and boot logos - source of recovery loops
/dev/block/mmcblk0p10 10240 /efs efs.rfs WiFi and BT MAC addresses - causes missing lockscreen
/dev/block/mmcblk0p11 7680 zImage Kernel
/dev/block/mmcblk0p12 7680 zImage "Recovery" kernel that is never used
/dev/block/mmcblk0p13 296960 /system factoryfs.rfs System partition
/dev/block/mmcblk0p14 137216 /dbdata dbdata.rfs Various Android/app databases
/dev/block/mmcblk0p15 65536 /cache cache.rfs Cache partition
/dev/block/mmcblk0p16 1970176 /data datafs.rfs Data partition (apps and their data)
/dev/block/mmcblk0p17 5252096 /sdcard userfs_8G.rfs "Emmc" "Usb Storage" - where your media goes
/dev/block/mmcblk1 <varies> External SD Card disk device
/dev/block/mmcblk1p1 <varies> /sdcard/external_sd External SD Card partition
Next thing is, whenever I tried using
Code:
fdisk /dev/block/mmcblk0
and later on creating a prime partition within the settings that I try to use the "e" to extend (says nothing about "l" for logical) which I run out of sectors to create them with. And sadly the only ones that ever come up is mmcblk0p4 or mmcblk0p3.
Just looking for help to get my player back up and running .. it's all I have and use at work since I don't have a phone and really have been trying to get this to work but its difficult so im sorry for bothering..
I don't know what to do after this:
Click to expand...
Click to collapse
You should have created that as an extended partition, not primary. Then go through and create new partitions "n"
I apologize for not giving you quite the right information. I know there's a table here with starting and ending blocks.
For illustration, here's an example of what to enter at the prompts. IGNORE THE BLOCK NUMBERS - it's just an illustration; just notice the extended/logical and the partition numbers.
Code:
[[email protected] ~]$ fdisk mmcblk0
Welcome to fdisk (util-linux 2.22.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0xab3ebd8d.
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): e
Partition number (1-4, default 1):
Using default value 1
First sector (2048-102399, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-102399, default 102399):
Using default value 102399
Partition 1 of type Extended and of size 49 MiB is set
Command (m for help): p
Disk mmcblk0: 52 MB, 52428800 bytes, 102400 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xab3ebd8d
Device Boot Start End Blocks Id System
mmcblk0p1 2048 102399 50176 5 Extended
Command (m for help): n
Partition type:
p primary (0 primary, 1 extended, 3 free)
l logical (numbered from 5)
Select (default p): l
Adding logical partition 5
First sector (4096-102399, default 4096):
Using default value 4096
Last sector, +sectors or +size{K,M,G} (4096-102399, default 102399): 16383
Partition 5 of type Linux and of size 6 MiB is set
Command (m for help): p
Disk mmcblk0: 52 MB, 52428800 bytes, 102400 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xab3ebd8d
Device Boot Start End Blocks Id System
mmcblk0p1 2048 102399 50176 5 Extended
mmcblk0p5 4096 16383 6144 83 Linux
Command (m for help): n
Partition type:
p primary (0 primary, 1 extended, 3 free)
l logical (numbered from 5)
Select (default p): l
Adding logical partition 6
First sector (18432-102399, default 18432):
Using default value 18432
Last sector, +sectors or +size{K,M,G} (18432-102399, default 102399):
Using default value 102399
Partition 6 of type Linux and of size 41 MiB is set
Command (m for help): p
Disk mmcblk0: 52 MB, 52428800 bytes, 102400 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xab3ebd8d
Device Boot Start End Blocks Id System
mmcblk0p1 2048 102399 50176 5 Extended
mmcblk0p5 4096 16383 6144 83 Linux
mmcblk0p6 18432 102399 41984 83 Linux
Command (m for help): w
The partition table has been altered!
Syncing disks.
[[email protected] ~]$
Awe man thank you!! Going to try this out right now I felt bad for messaging you.
Give me like 15 minutes.
Those cover three of the partitions, how do I go about making the rest?
Jistropy said:
Awe man thank you!! Going to try this out right now I felt bad for messaging you.
Give me like 15 minutes.
Those cover three of the partitions, how do I go about making the rest?
Click to expand...
Click to collapse
Just keep going:
Code:
n (new)
l (logical)
<enter> (beginning)
+blocks (size)
and then
Code:
p (print)
to check your work, and
Code:
w (write)
to save changes and exit.
The Block sizes don't matter right?
Jistropy said:
The Block sizes don't matter right?
Click to expand...
Click to collapse
They matter very much. Use the ones from the device. The above was to illustrate the process. It has entirely wrong numbers.
I will have to repeat this process after doing the extended partition:
Code:
Command (m for help): n
Partition type:
p primary (0 primary, 1 extended, 3 free)
l logical (numbered from 5)
Select (default p): l
So what do I do with these?
Code:
First sector (18432-102399, default 18432):
Using default value 18432 (DONT FILL ?)
Last sector, +sectors or +size{K,M,G} (18432-102399, default 102399):
Using default value 102399 (DONT FILL ?)
Should I fill in those with this?
Code:
Device Size (KiB) Mount
/dev/block/mmcblk0 7757824
/dev/block/mmcblk0p1 1
/dev/block/mmcblk0p5 256
/dev/block/mmcblk0p6 256
/dev/block/mmcblk0p7 1280
/dev/block/mmcblk0p8 1280
/dev/block/mmcblk0p9 5120
/dev/block/mmcblk0p10 10240
/dev/block/mmcblk0p11 7680
/dev/block/mmcblk0p12 7680
/dev/block/mmcblk0p13 296960
/dev/block/mmcblk0p14 137216
/dev/block/mmcblk0p15 65536
/dev/block/mmcblk0p16 1970176
/dev/block/mmcblk0p17 5252096
/dev/block/mmcblk1 <varies>
/dev/block/mmcblk1p1 <varies>
Also, how do I do the last two? Just testing things I don't have the numbers so im randomly copying and pasting the number sets.
Jistropy said:
I will have to repeat this process after doing the extended partition:
Code:
Command (m for help): n
Partition type:
p primary (0 primary, 1 extended, 3 free)
l logical (numbered from 5)
Select (default p): l
So what do I do with these?
Code:
First sector (18432-102399, default 18432):
Using default value 18432 (DONT FILL ?)
Last sector, +sectors or +size{K,M,G} (18432-102399, default 102399):
Using default value 102399 (DONT FILL ?)
Should I fill in those with this?
Code:
Device Size (KiB) Mount
/dev/block/mmcblk0 7757824
/dev/block/mmcblk0p1 1
/dev/block/mmcblk0p5 256
/dev/block/mmcblk0p6 256
/dev/block/mmcblk0p7 1280
/dev/block/mmcblk0p8 1280
/dev/block/mmcblk0p9 5120
/dev/block/mmcblk0p10 10240
/dev/block/mmcblk0p11 7680
/dev/block/mmcblk0p12 7680
/dev/block/mmcblk0p13 296960
/dev/block/mmcblk0p14 137216
/dev/block/mmcblk0p15 65536
/dev/block/mmcblk0p16 1970176
/dev/block/mmcblk0p17 5252096
/dev/block/mmcblk1 <varies>
/dev/block/mmcblk1p1 <varies>
Also, how do I do the last two? Just testing things I don't have the numbers so im randomly copying and pasting the number sets.
Click to expand...
Click to collapse
PLEASE have a look around....
http://forum.xda-developers.com/showthread.php?t=1523682
the numbers you want are here within ^post n°8. (value is Kb) and in many other posts!
The last partition n°17, should and must have only some 5gb because your device is 8 gb. Take care to set fdisk with the proper set up between blocks and Bytes and in case of error don't panic, just trail again .
Good luck
sorry lolo9393
Jistropy said:
Okay, rude much?
Your no help, that's for: "CORRECT partition sizes (for 16GB model!):"
As I said above, I have a 8 GIG USA YP-G70.
If your gonna post, maybe you should read more clearly.
Click to expand...
Click to collapse
You follow the table until partition 17 that will show only some "5252096" kb remaining if entered numbers are correct, because you have a 8 Gb device.
I tried to help you with what I know, sorry for my bad english..
Jistropy said:
Okay, rude much?
Your no help, that's for: "CORRECT partition sizes (for 16GB model!):"
As I said above, I have a 8 GIG USA YP-G70.
If your gonna post, maybe you should read more clearly.
Click to expand...
Click to collapse
Please listen th his help. He knows more about it than I do.
i apologize but no matter how i insert those numbers they never come out close
I got up to block 16 but it says i over pass the cylendars
Code:
/dev/block/mmcblk0p16 64181 313396 1993728 83 Linux
/dev/block/mmcblk0p17 313401 1937720 12994560 83 Linux
What do I set for 17 as well?
I can't get the tables to add up to what u got so i copied the start and ending for each.
Stuck on 16/17 need some help.
Edit --
I was able to flash stock! But i get a bunch of errors about opening cache and mounting.
rfs format failed on /dev/block/mmcblk0p15
Jistropy said:
I got up to block 16 but it says i over pass the cylendars
Code:
/dev/block/mmcblk0p16 64181 313396 1993728 83 Linux
/dev/block/mmcblk0p17 313401 1937720 12994560 83 Linux
What do I set for 17 as well?
I can't get the tables to add up to what u got so i copied the start and ending for each.
Stuck on 16/17 need some help.
Edit --
I was able to flash stock! But i get a bunch of errors about opening cache and mounting.
rfs format failed on /dev/block/mmcblk0p15
Click to expand...
Click to collapse
Yes, you were able to flash but your device is still useless because partition 16 and 17 are wrongly built.
may be you entered the right numbers but resulting in wrong recording , check your print (p) attached.
It is perfect until partition 16 beginning..
.Now just delete and rewrite 16 and 17th. (end n°17 by +k instruction will fill the gap and give you the right number or enter 242432 blocks as follow .
Vdev/block/mmcblk0p17 313401 242432 ........... result dotted should give some 5252096 kb.
Then write and print again in order to check your good work and at this point your next flashing will be good! (may be a wipe cache to be sure and avoid bootloop)
other suggestion is you come to my home tomorrow morning in order I arrange that for you!!!!
Cheers
It is perfect until partition 16 beginning..
.Now just delete and rewrite 16 and 17th. (end n°17 by +k instruction will fill the gap and give you the right number or enter 242432 blocks as follow .
Vdev/block/mmcblk0p17 313401 242432 ........... result dotted should give some 5252096 kb.
Then write and print again in order to check your good work and at this point your next flashing will be good! (may be a wipe cache to be sure and avoid bootloop)
Click to expand...
Click to collapse
What do I put for 0p16 then? Sorry I'm making sure i dont mess up
Tried following the same 16 and it went through however for block 17 the number value is too high
Jistropy said:
What do I put for 0p16 then? Sorry I'm making sure i dont mess up
Tried following the same 16 and it went through however for block 17 the number value is too high
Click to expand...
Click to collapse
Quick because it is lunch time here...
P16 is the same as in the 16gb table.
/dev/block/mmcblk0p16 64181 313396 1993728 83 Linux
ok ,got it?
No risk you mess the device, only take care to verify what is done by (p) print instruction and check the written table.
it doesnt allow me to set that value.. im sorry
Jistropy said:
it doesnt allow me to set that value.. im sorry
Click to expand...
Click to collapse
Did you delete the partition before rewriting it?
Should work because you have enough numbers of blocks to fill as said.
If no success do as follow:
delete p16 and 17, then do a write and post the result you get.
here: (I dont have enough space for every 16, or 17)
but im glad you've gotten me this far.
Jistropy said:
here: (I dont have enough space for every 16, or 17)
but im glad you've gotten me this far.
Click to expand...
Click to collapse
Sorry i didn't check it first but you are 4 heads mode (read line 2 of your print) that explain wy your lack of blocks.
You shoud reset fdisk in secondary menu to 1 head like following example
1 heads, 16 sectors/track,
Units = cylinders of 16 * 512 = 8192 bytes
I have no means to open fdisk from here to guide you, but it is easy to find once understood.
I come back in 3 hours time and if you still have pb I'll check for more guidance.
OK?
ADD;
How to change heads number?
select (h) to change number of heads in expert menu (m)
(now you are the "expert") you should get some 970 000 cylinders to split.
For more details:
http://linux.omnipotent.net/article.php?article_id=6979
doing this will allow you to successfully complete your memory table. great!

[U] [GB+JB] Repartitioning guide

Thanks to @munjeni for tipping me off in the right direction and to @judas1977 + @Tesla-MADAL93 for having done this on the Ace 2 I come from ~~
Everything else in this post applies to Gingerbread, scroll down to the 5th message for a more clear guide centered around a 4.1.2 ROM.
This is my annotated diary about the last 2 hours, I'm sorry if the story feels a little bit Dadaist but I don't want to encourage people who don't feel ready to try it, so please read all of it first and if anything is unclear ask instead of doing!!
I installed Busybox 1.22.1 (iirc) and replaced the default shell with bash (install Bash-X from market, copy /S/xbin/bash over /S/bin/sh, remove app if you like to). All of this was done with Gingerbread .188 and CWM 5.5.0.4 from Supercharged kernel.
Original partition table, with names added:
[email protected]:~$ adb shell
Code:
sh-4.2# fdisk -u -l /dev/block/mmcblk0
Disk /dev/block/mmcblk0: 7944 MB, 7944011776 bytes
4 heads, 16 sectors/track, 242432 cylinders, total 15515648 sectors
Units = sectors of 1 * 512 = 512 bytes
Device Boot Start End Blocks Id System
/dev/block/mmcblk0p1 1 2047 1023+ 0 Empty #### TA ("Trim Area") IMEI, BL UNLOCK, SIMLOCK ETC -- DO NOT TOUCH
Partition 1 does not end on cylinder boundary
/dev/block/mmcblk0p2 2304 3327 512 f0 Linux/PA-RISC boot #### SBL? Mem-init? Power management? PARAM?
Partition 2 does not end on cylinder boundary
/dev/block/mmcblk0p3 2048 2303 128 f0 Linux/PA-RISC boot #### unknown, as above
Partition 3 does not end on cylinder boundary
/dev/block/mmcblk0p4 3328 15269887 7633280 5 Extended #### GROUPS ALL FOLLOWING PARTITIONS FOR THEM TO FIT INTO THE 4-PARTS MBR SCHEME
Partition 4 does not end on cylinder boundary
/dev/block/mmcblk0p5 4096 20479 8192 4a Unknown #### another of the 4 unclear partitions
/dev/block/mmcblk0p6 20480 26623 3072 83 Linux #### MODEMFS (Samsung's "EFS") RADIO CALIBRATION
/dev/block/mmcblk0p7 26624 36863 5120 70 Unknown #### no idea either
/dev/block/mmcblk0p8 36864 53247 8192 83 Linux #### IDD (apparently related to usage stats reporting)
/dev/block/mmcblk0p9 53248 86015 16384 48 Unknown #### KERNEL
/dev/block/mmcblk0p10 118784 2215935 1048576 83 Linux #### SYSTEM
/dev/block/mmcblk0p11 2727936 6922239 2097152 83 Linux #### DATAFS
/dev/block/mmcblk0p12 2215936 2727935 256000 83 Linux #### CACHEFS
/dev/block/mmcblk0p13 86016 118783 16384 48 Unknown #### FOTAKERNEL?
/dev/block/mmcblk0p14 6922240 15269887 4173824 c Win95 FAT32 (LBA) #### SDCARD/EMMC/UMS
Partition table entries are not in disk order
so let's rearrange this list for easier thinking & reading
Code:
/dev/block/mmcblk0p1 1 2047 1023+ TA
/dev/block/mmcblk0p3 2048 2303 128 ?
/dev/block/mmcblk0p2 2304 3327 512 ?
/dev/block/mmcblk0p5 4096 20479 8192 ?
/dev/block/mmcblk0p6 20480 26623 3072 MODEMFS
/dev/block/mmcblk0p7 26624 36863 5120 ?
/dev/block/mmcblk0p8 36864 53247 8192 IDD
/dev/block/mmcblk0p9 53248 86015 16384 KERNEL
/dev/block/mmcblk0p13 86016 118783 16384 FOTAKERNEL?
/dev/block/mmcblk0p10 118784 2215935 1048576 SYSTEM
/dev/block/mmcblk0p12 2215936 2727935 256000 CACHEFS
/dev/block/mmcblk0p11 2727936 6922239 2097152 DATAFS
/dev/block/mmcblk0p14 6922240 15269887 4173824 SDCARD
great, the important (for us) stuff is contiguous so we can delete those partitions and recreate them
(if fdisk works like parted we must do that in numerical order, so system>data>cache>ums)
we must delete and recreate partition 13 with the same sizes
OTOH fdisk lets us experiment without saving in real time (!!!) but let's do this in recovery mode
Let's research the sizes we want first -- I find Link2SD's graphical df the best way to do this (see photo 1)
so 540 MB for /system should be enough (I have 454M used, account a safety margin as I integrate updates + FS overhead + 1000 vs 1024 units)
4,14 MB used on /cache... 7,8 MB should be more than enough (same size I used on my Ace 2 which had about 5 MB used there)
this large size is for dalvik cache on ROMs that store it there (vm.dalvik.dexopt-data-only=0 and vm.dalvik.dexopt-cache-only=1 or something)
494 MB on /data, but I'd probably want to change apps and stuff... let's try with 1,25 GB
but if we remove /system we'll have to reflash the rom from a zip, which I'd need to make...
let's leave that partition alone for this first time
reboot now
Click to expand...
Click to collapse
Launching fdisk:
#### SONY
#### SONY (red green blue lightbar)
#### + button
#### CWM-based recovery v5.5.0.4
[email protected]:~$ adb shell
- exec '/system/bin/sh' failed: No such file or directory (2) -
#### No shell in ramdisk? Very lame...
#### [Mounts and storage]
#### [Mount /system, unmount everything else]
[email protected]:~$ adb shell
sh-4.2# fdisk -u /dev/block/mmcblk0
Command (m for help):
What I did in fdisk:
u #### change units to sectors
d #### delete
14
d
13
d
12
d
11
c #### disable cylinder rounding
n #### new
l #### logical partition
First sector (3334-15269887, default 3334): 2215936
Sector 2215936 is already allocated #### Apparently this version of fdisk makes you waste a sector...
First sector (2215937-15269887, default 2215937): Using default value 2215937
Last sector or +size or +sizeM or +sizeK (2215937-15269887, default 15269887): +1600M
#### CACHEFS:
n
l
First sector (3334-15269887, default 3334): 5340938
Sector 5340938 is already allocated
First sector (5340939-15269887, default 5340939): Using default value 5340939
Last sector or +size or +sizeM or +sizeK (5340939-15269887, default 15269887): +8M
#### FOTAKERNEL
n
l
First sector (3334-15269887, default 3334): 86016
Sector 86016 is already allocated
First sector (86017-15269887, default 86017): Using default value 86017
Last sector or +size or +sizeM or +sizeK (86017-118783, default 118783): Using default value 118783
t
Partition number (1-14): 13
Hex code (type L to list codes): 48
Changed system type of partition 13 to 48 (Unknown)
#### USB STORAGE
n
l
First sector (3334-15269887, default 3334): 5356564
Sector 5356564 is already allocated
First sector (5356566-15269887, default 5356566): Using default value 5356566
Last sector or +size or +sizeM or +sizeK (5356566-15269887, default 15269887): Using default value 15269887
c
Partition number (1-14): 14
Hex code (type L to list codes): c
Changed system type of partition 14 to c (W95 FAT32 LBA)
w
The partition table has been altered.
Calling ioctl() to re-read partition table
fdisk: WARNING: rereading partition table failed, kernel still uses old table: Device or resource busy
sh-4.2# reboot
Now enter CWM again and factory reset -- you'll get an error as it can't delete /sdcard/.android_secure as it's unformatted
(and for that matter this CWM can't format /sdcard either...)
No problem apart from skipped heartbeats, boot into Android and format it from the settings! (see photo 2)
Well, the last screenshot speaks for itself... but I'll repeat, don't try this at home! (Have a friend try it so you'll have someone to blame if it gets bricked)
Very interesting... It causes problems?
Inviato dal mio ST25i utilizzando Tapatalk
ale467 said:
Very interesting... It causes problems?
Click to expand...
Click to collapse
Unlike my example, you must have over 50M free on /cache (at least in Gingerbread) or cheat by bind-mounting it somewhere else... or give up on directly installing stuff from the market
I tried bind mounting /cache to /data/local/tmp/cache but Google Play is still broken, so I guess you'll want a 57M partition there...
Also, you can always return to stock layout by flashing a full ROM in green light download mode, then wiping /sdcard from settings
I'm going to update this for 4.1, it's even somewhat easier and more predictable
----------------
1: think of the rough partition sizes
Code:
system (350M)
data (1,5G)
cache (280M) ## keep in mind whether ROM uses this for dalvik-cache and at least in 2.x Google Play downloads there
sdcard (remaining space)
2: make sure you have some files ready
→ROM in recovery zip format
→Backup of everything you want
→Kernel with fdisk in ramdisk
→ADB known working in recovery and normal mode
→Fixed busybox (http://forum.xda-developers.com/attachment.php?attachmentid=1057725&d=1336884034)
3: enter recovery and dump partition table (adb shell, fdisk /dev/block/mmcblk0, p)
Unlike my previous experiment, I'll calculate sizes in cylinders -- harder but fdisk appears to work better that way
Code:
Disk /dev/block/mmcblk0: 7944 MB, 7944011776 bytes
4 heads, 16 sectors/track, 242432 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
[...]
/dev/block/mmcblk0p10 1857 34624 1048576 83 Linux #SYSTEM
/dev/block/mmcblk0p11 42625 108160 2097152 83 Linux #DATAFS
/dev/block/mmcblk0p12 34625 42624 256000 83 Linux #CACHEFS
/dev/block/mmcblk0p13 1345 1856 16384 48 Unknown #FOTAKERNEL, move this on another line if it helps you think better but put it back there after calculations
/dev/block/mmcblk0p14 108161 238592 4173824 c Win95 FAT32 #UMS
so our work area starts at cylinder 1857 and ends at 238592!
4: calculate partition sizes (I'll only list start & end cylinders for clarity)
Code:
/dev/block/mmcblk0p10 1857 12538 << 1857 + (350000000÷32768)
/dev/block/mmcblk0p11 12538+1 >> 12539 58315 << 12539+(1500000000÷32768)
/dev/block/mmcblk0p12 58315+1 >> 58316 66861 << 58316 +(280000000÷32768)
/dev/block/mmcblk0p13 1345 1856
/dev/block/mmcblk0p14 66861+1 >> 66862 238592
5: remove partitions (d, 14, d, 13, ..., 10)
6: create partitions (n, l, 1857, 12538, repeat for next row)
7: retype partitions (t, 13, 48, t, 14, c)
8: save changes (w, reboot) - enter recovery again, you should get 5 "E: Can't {mount|open} /cache/[...]" lines
9: go to mounts and storage and run all 4 formats, sdcard will probably fail -- if it doesn't skip to step 13
10: install fixed busybox (adb push '/home/riki/Desktop/busybox' /cache/)
11: enter adb shell, make it executable (chmod +x /cache/busybox)
12: format media partition (/cache/busybox mkfs.vfat /dev/block/mmcblk0p14)
13: quit shell, mount /sdcard in CWM
14: adb push your ROM to /sdcard, install it and reboot!
This is so interesting, I've being doing this on a Samsung Galaxy SCL to fix it as its internal storage and /data partition were totally corrupted. I used parted instead of fdisk to repartition the external SD and edit then kernel's RAM disk to make it mount /data in one of the new partitions. Because of this that I've been doing lately, I'm thinking of using fdisk in my Xperia U too to have more available space in internal SD, that would be great, as I use dual boot feature.
I think I'll do this when I'm be fed up of Jelly Bean being the main ROM and KitKat just the secondary one.
By the way, I think it can be possible to leave enough free space before mmcblk0p14 to create my secondary ROM's partitions there (mmcblk0p15 for /system, mmcblk0p16 for /data and mmcblk0p17 for /cache) instead of creating system.ext4, data.ext4 and cache.ext4 inside my internal SD and mounting them in loop devices... What do you think? Could I brick my phone doing that? I've asked here too just in case.
The only thing I'd have to do is to format my mmcblk0p15 using mke2fs to set the same UUID as in mmcblk0p10 just if my secondary ROM doesn't boot (but I think this wouldn't be necessary):
Code:
mke2fs -T ext4 -O has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize -U [COLOR="Silver"][mmcblk0p10's UUID][/COLOR] -I 256 /dev/block/mmcblk0p15
You've explained this how-to so well, @Ryccardo! Thanks for this tutorial.
Many, many thanks to you, sir!
Thanks to you i was able to increase data partition on my P (similar partition scheme to U).
Other tutorials weren't so useful than yours and i was searching quite a lot. Thank you, live in wealth!

Tried to partition Internal SD Card and destroyed pretty much everything

Hey there,
I own an Oppo Find 5 and because of the limited internal app storage I wanted to partition the internal sdcard to use Link2SD.
I followed some guides found on the internet and I managed to create 2 partitions(FAT32+EXT3) with Minitool, but sadly something went wrong. The phone was unable to mount them, and although I was able to use it I couldn't (and I still can't) save pics/video/other stuff anymore.
After that I decided to revert all the changes, but once again it did not work as expected. Now I have a 25GB FAT32 (as it was before) partition that can't be mounted even if the phone can detect it.
This is my /etc/fstab file:
Code:
/dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 rw
/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 rw
/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 rw
/dev/block/mmcblk0p29 /storage/sdcard0 fat32 rw
This the output of fdisk:
Code:
[email protected]:/ # fdisk -l /dev/block/mmcblk0p29
fdisk -l /dev/block/mmcblk0p29
Disk /dev/block/mmcblk0p29: 27.1 GB, 27141324288 bytes
255 heads, 63 sectors/track, 3299 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/block/mmcblk0p29p1 1 2612 20974592 b Win95 FAT32
I tried to mount it via adb shell (while the phone was in recovery mode, CWM) and even in runtime, but it doesn't work. Same goes with "format /storage/sdcard0" in CWM.
Below you can find a "screenshot" (had to use a camera, sorry but I can't do proper screenshots anymore because of this). As you can see the mmcblk0p29 partition is detected but not mounted.
Any suggestions? Thanks a lot in advance for your help.

Internal disk has on about 10, not about 30GB: how do I recover the disk space?

Hi all,
After having the Smartphone lex821 bricked* and recovering I now only see 10GB on the internal disk.
with adb and
# df -h
...
/dev/block/dm-0 9.7G 5.0G 4.7G 51% /data
/dev/block/dm-0 9.7G 5.0G 4.7G 51% /sdcard
...
# cat /proc/partitions gives (1kB Blocksize):
...
253 0 25536188 dm-0
I understand the dm-0 partition is about 25GB and but the mounted /data or /sdcard only has about 10GB: where did the other 15GB go?
side question:
ps: I also see in the partition table cat /proc/partitions a disk sda of about 25GB
...
8 0 25833472 sda
8 1 8 sda1
...
8 9 25536204 sda9
Is this space usable in any way? Or is this somehow the same as the dm-0 partition (or better: where do I find a description of the internal disk setup of the lemax2?)?
thanks in advance for your feedback,
Walter
* bricked and recovered with the flashone 2.0 tool. No running ...5.8.019s
Great I found the answer/solution myself...
it is here: on www dot androidbrick dot com page leeco-letv-x820-max-2-qdloader-9008-unbrick-twrpguide (sorry: cannot post a link in my message)
step 3 states: After your phone boots, you will see that its storage is abnormally 9.71 GB, to fix this just factory reset your phone choosing the option “Format Virtual SD card”. File system will be restored to normal values.
Indeed formatting the internal storage with TWRP solves the issue (and brings you back to a clean phone...)
Walter

Categories

Resources