Related
The DZ is advertised by HTC as having 1.5 GB internal storage, but the G2 is advertised as having 4 GB. As proved via teardown pictures (see http://forum.xda-developers.com/showthread.php?t=832686 ), the two phones have exactly the same 4 GB storage chip (NAND), but both also report a lot less memory available to the user (2.1 GB seems to be there if you examine the partitioning).
This has led people to try and investigate where the "missing" memory has gone, e.g. what is using it up, can we get access to it, etc.
This "mystery" seems now to have been solved, and has been posted up in the Wiki at http://forum.xda-developers.com/wiki/index.php?title=HTC_Vision#The_Missing_2GB
A summary of this was kindly posted up by dhkr123 in the G2 forums at http://forum.xda-developers.com/showpost.php?p=9174115&postcount=22 , specifically :
There are 2.1 GB of internal storage addressable by the kernel. This piece of space is divided up into several partitions, for the radio, the SPL, the SYSTEM, the USERDATA, the CACHE, and several other things. All of these partitions are accounted for within the 2.1 GB.
What has been found is that a 1-time write deal to the eMMC is responsible for converting most of the internal storage from MLC (multi-level cell, specifically, 2 bits per cell) into SLC (single-level cell, 1 bit per cell) for the purpose of improving performance and durability.
Specifically, the entire eMMC is 4 GB, and 2.1 GB are accessible, that means that ~200 MB remains MLC, the remaining 3.8 GB is converted into SLC, offering 1.9 GB. 1.9GB + 200MB = 2.1 GB.
Mystery solved, nothing you can do about it.
But understand that it is faster and more reliable like this.
Click to expand...
Click to collapse
So apparently the hardware has been setup so that there is 2.1 GB available for storage for performance and reliability reasons, and it is unlikely this can be changed.
Just found some further explanation and diagrams on this at http://tjworld.net/wiki/Android/HTC/EMMC/UnderstandingUserCapacity
Nice post
Thanks for sharing.
Even with the "hidden" partition, huh... I have installed more apps than never and I still have near-1GB free
And I think the internal mem for process and running system is a great idea since the phone runs smoother than butter
Maybe that's why nobody's talking 'bout apps2sd, which is a common topic @ other phone's fora
How do you have near 1gb free?
CacheMate for me reports 1,078MB (1.07 GB) total data, 338MB used, 760 whatever free, not 2.1GB. Is this with a ROMed DZ, stripped of major components in the system and whatnot? (ie, Sense)
GlitchZero said:
CacheMate for me reports 1,078MB (1.07 GB) total data, 338MB used, 760 whatever free, not 2.1GB.
Click to expand...
Click to collapse
That doesn't sound right at all. But I don't know anything about CacheMate.
It's a root app, clears out the dalvik (I believe) and app caches that have built up, but it shows Total Memory, Memory Used, and Free Memory, and those are my readings, and they are consistent to .01 of a megabyte with what it says in SD & Phone Storage in my Settings.
But there's 2.1 GB total user storage on the phone, so it doesn't sound like it's reporting it correctly ?
Here's the partitioning on a DZ, taken from http://tjworld.net/wiki/Android/HTC/Vision/EmmcPartitioning (duplicate rows deleted, see the link for more details) :
# fdisk -ul /dev/block/mmcblk0
Warning: deleting partitions after 60
Disk /dev/block/mmcblk0: 2332 MB, 2332033024 bytes
1 heads, 16 sectors/track, 284672 cylinders, total 4554752 sectors
Units = sectors of 1 * 512 = 512 bytes
Device Boot Start End Blocks Id System
/dev/block/mmcblk0p1 * 1 1000 500 4d Unknown
Partition 1 does not end on cylinder boundary
/dev/block/mmcblk0p2 1001 1128 64 45 Unknown
Partition 2 does not end on cylinder boundary
/dev/block/mmcblk0p3 1129 10128 4500 46 Unknown
Partition 3 does not end on cylinder boundary
/dev/block/mmcblk0p4 10129 4554750 2272311 5 Extended
Partition 4 does not end on cylinder boundary
/dev/block/mmcblk0p5 10130 70129 30000 49 Unknown
/dev/block/mmcblk0p6 70131 95130 12500 50 Unknown
/dev/block/mmcblk0p7 95132 99227 2048 51 Unknown
/dev/block/mmcblk0p8 99229 105372 3072 52 Unknown
/dev/block/mmcblk0p9 105374 109469 2048 53 Unknown
/dev/block/mmcblk0p10 109471 111518 1024 54 Unknown
/dev/block/mmcblk0p11 111520 113567 1024 56 Unknown
/dev/block/mmcblk0p12 113569 131071 8751+ 55 Unknown
/dev/block/mmcblk0p13 131073 137216 3072 4a Unknown
/dev/block/mmcblk0p14 137218 143361 3072 4b Unknown
/dev/block/mmcblk0p15 143363 145410 1024 74 Unknown
/dev/block/mmcblk0p16 145412 163326 8957+ 75 Unknown
/dev/block/mmcblk0p17 163328 163839 256 76 Unknown
/dev/block/mmcblk0p18 163841 165888 1024 47 Unknown
/dev/block/mmcblk0p19 165890 167937 1024 34 Unknown
/dev/block/mmcblk0p20 167939 170498 1280 36 Unknown
/dev/block/mmcblk0p21 170500 187901 8701 71 Unknown
/dev/block/mmcblk0p22 187903 196094 4096 48 Unknown
/dev/block/mmcblk0p23 196096 196607 256 73 Unknown
/dev/block/mmcblk0p24 196609 200702 2047 26 Unknown
/dev/block/mmcblk0p25 200704 1343486 571391+ 83 Linux
/dev/block/mmcblk0p26 1343488 3577854 1117183+ 83 Linux
/dev/block/mmcblk0p27 3577856 4192254 307199+ 83 Linux
/dev/block/mmcblk0p28 4192256 4234750 21247+ 19 Unknown
/dev/block/mmcblk0p29 4234752 4235263 256 23 Unknown
If you add up the sizes of partitions 4, 25, 26 and 27 (i.e. the big ones) then there is 2.1 GB in total. I wonder if CacheMate is only looking at partition 4 (1.1 GB) and not the rest ? I could be way off though.
Not really big news for anyone who's installed SDE and poked around a bit, but I thought I'd post this anyway.
Taken from a 16GB Archos 101. Your results may differ.
Code:
Disk /dev/mmcblk0: 536 MB, 536870912 bytes
4 heads, 16 sectors/track, 16384 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Device Boot Start End Blocks Id System
/dev/mmcblk0p1 5 1605 51200+ 83 Linux
/dev/mmcblk0p2 1605 5511 125023 83 Linux
/dev/mmcblk0p3 5512 6489 31296 83 Linux
/dev/mmcblk0p4 6490 16384 316640 83 Linux
Disk /dev/mmcblk1: 15.3 GB, 15388901376 bytes
4 heads, 16 sectors/track, 469632 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Device Boot Start End Blocks Id System
/dev/mmcblk1p1 1 469632 15028216 c Win95 FAT32 (LBA)
Being MMC rather than MTD devices, it ought to be possible to repartition to shuffle some space around, perhaps gaining as much as 50MB extra space for /data.
Additionally, for custom firmwares maybe even repartitioning mmcblk1 may be possible, to create an alternate partition to mount /data/ to.
Of course, for fear of ruining my 101 I have only used fdisk for read-only operations.
don't forget mmcblk2..
it's the external sdcard
Of course I was examining the internal flash storage of the device.
Having my 101 for just under 3 weeks I'm not quite brave enough to repartition mmcblk0, as it would be very difficult to recover an operational system if this were to not go as well as expected. :>
I'm hoping that someone with a little more insight or perhaps a little braver than I could chime in on the possibility.
why won't you repartition (shrink p1 and append other partitions) blk1? (8 / 16 GB storage)
don't touch blk0 when you don't have to
chulri said:
why won't you repartition (shrink p1 and append other partitions) blk1? (8 / 16 GB storage)
don't touch blk0 when you don't have to
Click to expand...
Click to collapse
This was of course my suggestion for alternate firmwares that can take advantage of this.
Moved to general as not android development
It is usually partition.mbn or partition.bin, but none of these files are present. I know that there is a guide from Geno, but I need to know what files are important for the partitions.
Thanks
We have a mmc card with mbr record. Its just like hdd.
To get the partition layout, do in adb: "su" "fdisk /dev/block/mmcblk0" "p"
Sent from my U8800
Thank you very much.
But is there a way to "replace" the partition values of the u8800 with the u8800-51 values? Because I need to do this in order to use some u8800 files on u8800-51.. Any ideas of how to do it?? Maybe replacing some files?
Thanks again.
I belive the partition layout is same on both phones. What exactly do you want to use?
I added partition info, some may be incorrect though.
On normal U8800:
Code:
Disk /dev/block/mmcblk0: 3959 MB, 3959422976 bytes
1 heads, 16 sectors/track, 483328 cylinders
Units = cylinders of 16 * 512 = 8192 bytes
Device Boot Start End Blocks Id System
/dev/block/mmcblk0p1 1 30721 245760 b Win95 FAT32 CUST
Partition 1 does not end on cylinder boundary
/dev/block/mmcblk0p2 * 30721 30783 500 4d Unknown BL1 SBL1
Partition 2 does not end on cylinder boundary
/dev/block/mmcblk0p3 30783 31158 3000 46 Unknown BL2 TZ SBL2
Partition 3 does not end on cylinder boundary
/dev/block/mmcblk0p4 31158 483328 3617363+ 5 Extended EBR
Partition 4 does not end on cylinder boundary
/dev/block/mmcblk0p5 32769 34304 12288 59 Unknown LOGO?
/dev/block/mmcblk0p6 40961 57600 133120 4c Unknown ABOOT
/dev/block/mmcblk0p7 65537 65599 500 5a Unknown MISC - EMPTY
/dev/block/mmcblk0p8 73729 74112 3072 58 Unknown EMPTY
/dev/block/mmcblk0p9 81921 82795 7000 50 Unknown AUDIO?
/dev/block/mmcblk0p10 90113 90496 3072 4a Unknown MODEM_ST1
/dev/block/mmcblk0p11 98305 98688 3072 4b Unknown MODEM_ST2
/dev/block/mmcblk0p12 106497 134656 225280 83 Linux SYSTEM
/dev/block/mmcblk0p13 139265 216064 614400 83 Linux USERDATA
/dev/block/mmcblk0p14 221185 483328 2097152 69 Unknown INTERNAL_SD
Blefish said:
I belive the partition layout is same on both phones. What exactly do you want to use?
I added partition info, some may be incorrect though.
On normal U8800:
Code:
Disk /dev/block/mmcblk0: 3959 MB, 3959422976 bytes
1 heads, 16 sectors/track, 483328 cylinders
Units = cylinders of 16 * 512 = 8192 bytes
Device Boot Start End Blocks Id System
/dev/block/mmcblk0p1 1 30721 245760 b Win95 FAT32 CUST
Partition 1 does not end on cylinder boundary
/dev/block/mmcblk0p2 * 30721 30783 500 4d Unknown BL1 SBL1
Partition 2 does not end on cylinder boundary
/dev/block/mmcblk0p3 30783 31158 3000 46 Unknown BL2 TZ SBL2
Partition 3 does not end on cylinder boundary
/dev/block/mmcblk0p4 31158 483328 3617363+ 5 Extended EBR
Partition 4 does not end on cylinder boundary
/dev/block/mmcblk0p5 32769 34304 12288 59 Unknown LOGO?
/dev/block/mmcblk0p6 40961 57600 133120 4c Unknown ABOOT
/dev/block/mmcblk0p7 65537 65599 500 5a Unknown MISC - EMPTY
/dev/block/mmcblk0p8 73729 74112 3072 58 Unknown EMPTY
/dev/block/mmcblk0p9 81921 82795 7000 50 Unknown AUDIO?
/dev/block/mmcblk0p10 90113 90496 3072 4a Unknown MODEM_ST1
/dev/block/mmcblk0p11 98305 98688 3072 4b Unknown MODEM_ST2
/dev/block/mmcblk0p12 106497 134656 225280 83 Linux SYSTEM
/dev/block/mmcblk0p13 139265 216064 614400 83 Linux USERDATA
/dev/block/mmcblk0p14 221185 483328 2097152 69 Unknown INTERNAL_SD
Click to expand...
Click to collapse
Thank you very much. Here is the explanation:
I have a u8800-51 with android 2.2. This version of u8800 had the 1900mhz band for 3g, so for my country (in South America) I had 3g enabled.
Now I updated to gingerbread for u8800pro (because there is no update for u8800-51). It works great, but the only issue is 3g. Edge (2g) works great. This is because the u8800pro doesnt works with 1900mhz WCDMA bands (neither it's software)
I have read that in other android device, you can replace the "ril libs" (with the old ones from u8800-51 Froyo) in the system folder to enable bands (since my device u8800-51 has hardware capability). But for this, you have to also replace with the amss.mbn file associated with those lib files. Everything works when I just replace the lib files, but I still dont get 3g, only 2g. When I now replace the amss.mbn file (with radio values), it doesnt boots. I have read that this is because the partitions are different, so that is why I am asking you this.
Any ideas?
What would happen if you apply 2.2 amss.mbn on 2.3? If it doesn't work, try to replace the 2.3 libs with 2.2 ones and test again.
I'm only guessing this, so it may not work.
Sent from my U8800
Blefish said:
What would happen if you apply 2.2 amss.mbn on 2.3? If it doesn't work, try to replace the 2.3 libs with 2.2 ones and test again.
I'm only guessing this, so it may not work.
Sent from my U8800
Click to expand...
Click to collapse
Yeah, thats what I did, but it doesnt boots. I think that android is detecting that this file (amss.mbn) is not from this version/device. Thats why I am asking about the partitions. Maybe as I am replacing the amss.mbn file by another, the partition values are wrong somehow, and thats why it is not booting. Or maybe that is because of a md5 (checksum)? Any ideas of how to fix this?
pd: sorry for my bad english
It could be that modem is not booting up, yes. But I am not experienced in the modem part. I believe it's being loaded by the primary bootloader, but I am not sure. It would be easier if we'd know what part of the booting up crashes.
Are there differences in mmcblk0p10 and mmcblk0p11 in the 2.2 and 2.3?
Thank you very much for your help but I finally think the important file here is not the amss.mbn. Maybe it just cant be replaced by another. I think the thing is in the ril libs.. and also in the "rild" file in the bin folder. I am trying to get 3g to work now replacing those files.
here is the topic: http://forum.xda-developers.com/showthread.php?p=23407031#post23407031
Thanks again..
To run this commands you need a rooted device with BusyBox and parted. Using stock partition layout. You can change the partition layout to get more or less than 2GB of size for the data partition:
[MOD][GUIDE]Partition your internal memory for better App management (Pit Files)
List of devices by name:
[email protected]:/sdcard # ls -l /dev/block/platform/dw_mmc/by-name/
lrwxrwxrwx 1 root root 20 May 12 21:24 CACHE -> /dev/block/mmcblk0p7
lrwxrwxrwx 1 root root 21 May 12 21:24 DATAFS -> /dev/block/mmcblk0p10
lrwxrwxrwx 1 root root 20 May 12 21:24 EFS -> /dev/block/mmcblk0p1
lrwxrwxrwx 1 root root 20 May 12 21:24 FACTORYFS -> /dev/block/mmcblk0p9
lrwxrwxrwx 1 root root 21 May 12 21:24 HIDDEN -> /dev/block/mmcblk0p12
lrwxrwxrwx 1 root root 20 May 12 21:24 KERNEL -> /dev/block/mmcblk0p5
lrwxrwxrwx 1 root root 20 May 12 21:24 MODEM -> /dev/block/mmcblk0p8
lrwxrwxrwx 1 root root 20 May 12 21:24 PARAM -> /dev/block/mmcblk0p4
lrwxrwxrwx 1 root root 20 May 12 21:24 RECOVERY -> /dev/block/mmcblk0p6
lrwxrwxrwx 1 root root 20 May 12 21:24 SBL1 -> /dev/block/mmcblk0p2
lrwxrwxrwx 1 root root 20 May 12 21:24 SBL2 -> /dev/block/mmcblk0p3
lrwxrwxrwx 1 root root 21 May 12 21:24 UMS -> /dev/block/mmcblk0p11
Click to expand...
Click to collapse
List of fdisk for all given partitions:
Command (needs Superuser or equivalent and Busybox):
su
find /dev/block/platform/dw_mmc/ -name 'mmc*' -exec fdisk -l {} \; > /sdcard/list_of_sgs2_partitions.txt
Click to expand...
Click to collapse
Code:
Disk ./mmcblk0boot0: 0 MB, 524288 bytes
4 heads, 16 sectors/track, 16 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Disk ./mmcblk0boot0 doesn't contain a valid partition table
Disk ./mmcblk0boot1: 0 MB, 524288 bytes
4 heads, 16 sectors/track, 16 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Disk ./mmcblk0boot1 doesn't contain a valid partition table
Disk ./mmcblk0p12: 536 MB, 536870912 bytes
4 heads, 16 sectors/track, 16384 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Disk ./mmcblk0p12 doesn't contain a valid partition table
Disk ./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
./mmcblk0p11p4 1 1 0 0 Empty
Partition 4 does not end on cylinder boundary
Disk ./mmcblk0p10: 2147 MB, 2147483648 bytes
4 heads, 16 sectors/track, 65536 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Disk ./mmcblk0p10 doesn't contain a valid partition table
Disk ./mmcblk0p9: 536 MB, 536870912 bytes
4 heads, 16 sectors/track, 16384 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Disk ./mmcblk0p9 doesn't contain a valid partition table
Disk ./mmcblk0p8: 16 MB, 16777216 bytes
4 heads, 16 sectors/track, 512 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Disk ./mmcblk0p8 doesn't contain a valid partition table
Disk ./mmcblk0p7: 104 MB, 104857600 bytes
4 heads, 16 sectors/track, 3200 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Disk ./mmcblk0p7 doesn't contain a valid partition table
Disk ./mmcblk0p6: 8 MB, 8388608 bytes
4 heads, 16 sectors/track, 256 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Disk ./mmcblk0p6 doesn't contain a valid partition table
Disk ./mmcblk0p5: 8 MB, 8388608 bytes
4 heads, 16 sectors/track, 256 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Disk ./mmcblk0p5 doesn't contain a valid partition table
Disk ./mmcblk0p4: 8 MB, 8388608 bytes
4 heads, 16 sectors/track, 256 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Disk ./mmcblk0p4 doesn't contain a valid partition table
Disk ./mmcblk0p3: 1 MB, 1310720 bytes
4 heads, 16 sectors/track, 40 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Disk ./mmcblk0p3 doesn't contain a valid partition table
Disk ./mmcblk0p2: 1 MB, 1310720 bytes
4 heads, 16 sectors/track, 40 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Disk ./mmcblk0p2 doesn't contain a valid partition table
Disk ./mmcblk0p1: 20 MB, 20971520 bytes
4 heads, 16 sectors/track, 640 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Disk ./mmcblk0p1 doesn't contain a valid partition table
Disk ./mmcblk0: 15.7 GB, 15758000128 bytes
1 heads, 16 sectors/track, 1923584 cylinders
Units = cylinders of 16 * 512 = 8192 bytes
Device Boot Start End Blocks Id System
./mmcblk0p1 1 1923456 15387647+ ee EFI GPT
Partition 1 does not end on cylinder boundary
Mounted filesystems:
Code:
[email protected]:/ # df
df
Filesystem Size Used Free Blksize
/dev 415M 32K 415M 4096
/mnt/asec 415M 0K 415M 4096
/mnt/obb 415M 0K 415M 4096
/system 503M 429M 74M 4096
/cache 98M 4M 94M 4096
/efs 19M 8M 11M 4096
/data 1G 666M 1G 4096
/mnt/.lfs: Function not implemented
/mnt/sdcard 11G 2G 9G 32768
/mnt/sdcard/external_sd 29G 24G 5G 32768
/mnt/sdcard/external_sd 29G 24G 5G 32768
temporal fstab:
Code:
rootfs on / type rootfs (ro,relatime)
tmpfs on /dev type tmpfs (rw,nosuid,relatime,mode=755)
devpts on /dev/pts type devpts (rw,relatime,mode=600)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
none on /acct type cgroup (rw,relatime,cpuacct)
tmpfs on /mnt/asec type tmpfs (rw,relatime,mode=755,gid=1000)
tmpfs on /mnt/obb type tmpfs (rw,relatime,mode=755,gid=1000)
none on /dev/cpuctl type cgroup (rw,relatime,cpu)
/dev/block/mmcblk0p9 on /system type ext4 (ro,noatime,barrier=1,data=ordered)
/dev/block/mmcblk0p7 on /cache type ext4 (rw,nosuid,nodev,noatime,barrier=1,data=ordered)
/dev/block/mmcblk0p1 on /efs type ext4 (rw,nosuid,nodev,noatime,barrier=1,data=ordered)
/dev/block/mmcblk0p10 on /data type ext4 (rw,nosuid,nodev,noatime,barrier=1,data=ordered,noauto_da_alloc)
/dev/block/mmcblk0p4 on /mnt/.lfs type j4fs (rw,relatime)
/sys/kernel/debug on /sys/kernel/debug type debugfs (rw,relatime)
/dev/block/vold/259:3 on /mnt/sdcard type vfat (rw,dirsync,nosuid,nodev,noexec,noatime,nodiratime,uid=1000,gid=1015,fmask=0002,dmask=0002,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)
tmpfs on /mnt/sdcard/external_sd type tmpfs (rw,dirsync,nosuid,nodev,noexec,noatime,nodiratime,size=0k,mode=755,gid=1000)
tmpfs on /mnt/sdcard/usbStorage type tmpfs (rw,dirsync,nosuid,nodev,noexec,noatime,nodiratime,size=0k,mode=755,gid=1000)
/dev/block/vold/179:25 on /mnt/sdcard/external_sd type vfat (rw,dirsync,nosuid,nodev,noexec,noatime,nodiratime,uid=1000,gid=1023,fmask=0002,dmask=0002,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)
/dev/block/vold/179:25 on /mnt/secure/asec type vfat (rw,dirsync,nosuid,nodev,noexec,noatime,nodiratime,uid=1000,gid=1023,fmask=0002,dmask=0002,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)
tmpfs on /mnt/sdcard/external_sd/.android_secure type tmpfs (ro,relatime,size=0k,mode=000)
/dev/block/dm-0 on /mnt/asec/org.ais.archidroid-1 type vfat (ro,dirsync,nosuid,nodev,noatime,nodiratime,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)
AdamOutler said:
Hey guys. I'm doing some work to figure out how to recover Galaxy Nexus devices which are hard-bricked.. ie.. they have a bad or no bootloader installed.
the boot sequence
1. IROM - the Internal ROM which cannot be rewritten on the device. This loads the XLoader.
2. XLoader/MLO - This completes the initialization of the processor and memory, and loads up the relatively huge U-Boot ( Samsung modified this and calls it SBL)
3. UBoot/SBL - This "Bootloader" is almost a complete operating system. The U-Boot initializes the screen, provides Odin mode, Fastboot Mode as well as loading the kernel/recovery and provides a UART debugging mode (Yet to be unlocked).
4. Kernel - Once we reach this point, it's all clear.. the kernel is linux which loads android and all sorts of other things.
The Problem
People are bricking their devices at stage 2 and 3 of this boot sequence... This leaves them unable to boot Fastboot or Odin. The device is 100% interchangable with a brick. These devices are ending up hard bricked.
The solution
We must come up with a way to undo the hard brick. Here are some things i'm looking at to use the native hardware to recover itself.
When you plug in the device (when off), you will immediately notice a Texas Instruments D010 device gets enumerated. This is a debug mode for the processor.
Code:
Bus 001 Device 023: ID 0451:d010 Texas Instruments, Inc.
We've started looking at some bootloader output here: http://forum.xda-developers.com/showthread.php?t=1461986
You can find information about the OMAP4 bootloaders here: http://omapedia.org/wiki/Bootloader_Project
Help
I need help locating drivers to initialize the 0451:d010 device and make it readable from within Linux or Windows.. Generally Linux is easier to find appropriate drivers.
I could use some help collecting more reading materials and resources.
I think together as a community we can take care of this problem.
Click to expand...
Click to collapse
AdamOutler said:
There's more to the boot then the OP mentioned... there's 6 partitions involved, not 4.
irom = hard coded
IBL/PBL = initial bootloader and primitive bootloader
SBL = Secondadary Bootloader finds linux
param = contains paramaters to run the phone and required for boot.
SBL2 = download mode (included in SBL)
PIT = Partiton Information Table
Don't touch any of these files.
If you touch the param.ifs, the phone can still boot, however you will see a black screen if something goes wrong.
Code:
BOOT 00000000 0000 0003FFFF 0001
PIT 00040000 0001 0003FFFF 0001
EFS 00080000 0002 009FFFFF 0028
SBL 00A80000 002A 0013FFFF 0005
SBL2 00BC0000 002F 0013FFFF 0005
PARAM 00D00000 0034 004FFFFF 0014
KERNEL 01200000 0048 0077FFFF 001E
RECOVERY 01980000 0066 0077FFFF 001E
FACTORYFS 02100000 0084 11E7FFFF 047A
DBDATAFS 13F80000 04FE 085FFFFF 0218
CACHE 1C580000 0716 022FFFFF 008C
MODEM 1E880000 07A2 00C7FFFF 0032
07D4 1F500000
Click to expand...
Click to collapse
Aditional links:
* Definitive guide to Bricking *
[Guide] Types of Android backups
[REF] GT-I9100 PIT v Flash Analysis
[GUIDE] ROOT/UNROOT Stock ICS Firmware without flashing unsecure kernel
[GUIDE] Making Dump Files Out of Android Device Partitions
/sdcard
This is nice, thank.
But where is from block device the sdcard. How working the "vold"?
How can I partition sdcard with fdisk or with parted?
gyurman said:
This is nice, thank.
But where is from block device the sdcard. How working the "vold"?
How can I partition sdcard with fdisk or with parted?
Click to expand...
Click to collapse
Partition the sdcard from clockworkmod recovery
Thanks, but I want use parted, or fdisk. But what mmcblk0? use sdcard? mmcblk0p11?
Here is the long version.
My phone a U8800 Pro was running the official B928 version downloaded from Huawei
I wanted to install the latest version Cyanogen 11. That needed me to install the latest version of TWRP which led me to the mistake that I needed to update the bootloader as well.
And then I did another mistake where I installed what is obviously the wrong bootloader from here (http://forum.xda-developers.com/showthread.php?t=1800045) using
Code:
dd if=/tmp/bootloader.bin of=/dev/block/mmcblk0p3
The phone since then just boot cycles continously and cannot even login to recovery mode.
I attempted to re-install B928 from the SD card but always fails at about 1/4 of the way through with a
Code:
dload_sd_ram_data_proc->(retry >= DLOAD_RETRY) failed!
msg.
Now interestingly if I remove the battery and just use the USB I get an empty pink screen and I can see at least the partitions of the internal drive
Code:
Disk /dev/sdg: 3.7 GiB, 3959422976 bytes, 7733248 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
Disklabel type: dos
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sdg1 1 524287 262143+ c W95 FAT32 (LBA)
/dev/sdg2 * 524288 525287 500 4d QNX4.x
/dev/sdg3 525288 531287 3000 46 Unknown
/dev/sdg4 531288 7733247 3600980 5 Extended
/dev/sdg5 655360 679935 12288 59 Unknown
/dev/sdg6 786432 1052671 133120 4c Unknown
/dev/sdg7 1179648 1183743 2048 5a Unknown
/dev/sdg8 1310720 1316863 3072 58 Unknown
/dev/sdg9 1441792 1455791 7000 50 OnTrack DM
/dev/sdg10 1572864 1579007 3072 4a Unknown
/dev/sdg11 1703936 1710079 3072 4b Unknown
/dev/sdg12 1835008 2621439 393216 83 Linux
/dev/sdg13 2621440 4456447 917504 83 Linux
/dev/sdg14 4456448 7733247 1638400 69 Unknown
and can mount some of them.
Now where can I find an appropriate bootloader and which partition should I attempt to copy it on .
And secondly if that works out, how do I install TWRP 2.8.0.0 . Using TWRP manager fails which led to this whole mess really.
On /dev/sdg1 I can see a dir called image and it contains
Code:
amss.mbn boot.img cust.img EMMCBOOT.MBN recovery.img
but don't want to touch anything before I know more since I can do more dmg.
Thanks for all the help in advance
Edit: I managed to copy the bootloader from a friend and copy it back on my phone so that problem was solved. It needed to go to the /dev/sdg3 partition if anyone is wandering. Now pink screen seems locked and can't access the internal storage through USB so back to square 1.
Glad you got the problem solved out. When you unlock your bootloader (like I said in here), boot your phone to pink screen and plug it to your computer. You're using linux? If so, there probably is going to be four difference device's to be shown, the one which you're interested is the device containing "image" folder, in there replace the recovery.img with appropriate one.