Partition information - Gen8 General

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

Related

Formating Internal Memory

I own a SonyEricsson Xperia X1.
According to SKTools Main Storage is formated this way:
It has sectors with 2048 bytes size and 2048 bytes cluster size. So 1 sector per cluster. Also it is formated in FAT32.
On the other hand Storage Card has 512 bytes sector size and 4096 bytes cluster size. So 8 Sector per cluster. Also FAT32.
512 bytes sector is the norm for HardDiskDrives as well. Optical Disk Drives have 2048 bytes sector (i think).
There is going to be a move to 4096 bytes sector for HDDs starting January 2011, which gives more free space and more speed.
Could we do something like that for our phones? 4096 byte sectors and 4096 bytes clusters?
I guess storage cards are diferent Memory arrangements... we have many tweaks to have bigstorage ROMS, search and read bud

Photon sd card builds (partition coruption)

I faced an problem with sd card builds, need to see if it is only to me or is also present to you. Problem is with sd card (partition 1) coruption!
fdisk mmcmlk0 displayng no coruption!
Code:
fdisk /dev/block/mmcblk0
Command (m for help): p
p
Disk /dev/block/mmcblk0: 7948 MB, 7948206080 bytes
245 heads, 62 sectors/track, 1021 cylinders
Units = cylinders of 15190 * 512 = 7777280 bytes
Device Boot Start End Blocks Id System
/dev/block/mmcblk0p1 1 1021 7754464 b Win95 FAT32
but fdisk partition (mmcblkop1) displaying very very good coruption with 4 partitions inside partition
Code:
fdisk /dev/block/mmcblk0p1
The number of cylinders for this disk is set to 242327.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): p
p
Disk /dev/block/mmcblk0p1: 7940 MB, 7940571136 bytes
4 heads, 16 sectors/track, 242327 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Device Boot Start End Blocks Id System
/dev/block/mmcblk0p1p1 ? 12158374 29994462 570754815+ 72 Unknown
Partition 1 does not end on cylinder boundary
/dev/block/mmcblk0p1p2 ? 2635774 32886216 968014120 65 Unknown
Partition 2 does not end on cylinder boundary
/dev/block/mmcblk0p1p3 ? 29216898 59467339 968014096 79 Unknown
Partition 3 does not end on cylinder boundary
/dev/block/mmcblk0p1p4 ? 45088769 45089636 27749+ d Unknown
Partition 4 does not end on cylinder boundary
Partition table entries are not in disk order
So its like we have problem! Also I think this is all a result of problems we have with the file transfer to disk!
Also in log I see all time enter/leave (but phone is in sleep mode!):
Code:
<4>[ 568.114746] msmsdcc_resume enter
<4>[ 568.114928] msmsdcc_resume leave
<4>[ 568.114986] msmsdcc_resume enter
<4>[ 568.115103] msmsdcc_resume leave
I don't know whats wrong but we have coruption in sd card, initrd related? or kernel side related? or android side related??? I created two fat32 partitions this time, first is for all android files /bootsdcard, seccond is mounted as a /mnt/sdcard, initrd is edited allso! Got coruption in all partitions Why???
Code:
Disk /dev/block/mmcblk0p1: 6892 MB, 6892752384 bytes
4 heads, 16 sectors/track, 210350 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Device Boot Start End Blocks Id System
/dev/block/mmcblk0p1p1 ? 29215178 31850952 84344761 69 Unknown
Partition 1 does not end on cylinder boundary
/dev/block/mmcblk0p1p2 ? 26586242 55803140 934940732+ 73 Unknown
Partition 2 does not end on cylinder boundary
/dev/block/mmcblk0p1p3 ? 41 41 0 74 Unknown
Partition 3 does not end on cylinder boundary
/dev/block/mmcblk0p1p4 45088769 45089587 26207+ 0 Empty
Partition 4 does not end on cylinder boundary
Partition table entries are not in disk order
Command (m for help): q
q
# fdisk /dev/block/mmcblk0p2
fdisk /dev/block/mmcblk0p2
The number of cylinders for this disk is set to 32130.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): p
p
Disk /dev/block/mmcblk0p2: 1052 MB, 1052835840 bytes
4 heads, 16 sectors/track, 32130 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Device Boot Start End Blocks Id System
/dev/block/mmcblk0p2p1 ? 29215178 31850952 84344761 69 Unknown
Partition 1 does not end on cylinder boundary
/dev/block/mmcblk0p2p2 ? 26586242 55803140 934940732+ 73 Unknown
Partition 2 does not end on cylinder boundary
/dev/block/mmcblk0p2p3 ? 41 41 0 74 Unknown
Partition 3 does not end on cylinder boundary
/dev/block/mmcblk0p2p4 45088769 45089587 26207+ 0 Empty
Partition 4 does not end on cylinder boundary
Partition table entries are not in disk order
Anyone who use google page release want to confirm our problem? How to see if coruption exist in your sd card? Simply open android terminal emulator, type "su" press enter and confirm administrator, type "fdisk /dev/block/mmcblk0p1" and press enter, type "p" and press enter, to exit from fdisk type "q" and press enter. I waiting you reply
Code:
Disk /dev/block/mmcblk0p1: 1971 MB, 1971416576 bytes
4 heads, 16 sectors/track, 60162 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Device Boot Start End Blocks Id System
/dev/block/mmcblk0p1p1 ? 27627926 54209359 850605874+ 6e Unknown
Partition 1 does not end on cylinder boundary
/dev/block/mmcblk0p1p2 ? 30526934 45850528 490354992+ ff Unknown
Partition 2 does not end on cylinder boundary
/dev/block/mmcblk0p1p3 ? 28151302 30786496 84326194+ 74 Unknown
Partition 3 does not end on cylinder boundary
/dev/block/mmcblk0p1p4 1 55513776 1776440832 0 Empty
Partition 4 does not end on cylinder boundary
Partition table entries are not in disk order
Code:
# fdisk /dev/block/mmcblk0p1
The number of cylinders for this disk is set to 120880.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): p
Disk /dev/block/mmcblk0p1: 3960 MB, 3960995840 bytes
4 heads, 16 sectors/track, 120880 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Device Boot Start End Blocks Id System
/dev/block/mmcblk0p1p1 ? 27627926 54209359 850605874+ 6e Unknown
Partition 1 does not end on cylinder boundary
/dev/block/mmcblk0p1p2 ? 30526934 45850528 490354992+ ff Unknown
Partition 2 does not end on cylinder boundary
/dev/block/mmcblk0p1p3 ? 28151302 30786496 84326194+ 74 Unknown
Partition 3 does not end on cylinder boundary
/dev/block/mmcblk0p1p4 45088769 45089616 27106 0 Empty
Partition 4 does not end on cylinder boundary
Partition table entries are not in disk order

U8800 partition scheme.

In case this info is of use to someone...
Trying to understand what goes where,
Here is the partition table of a U8800:
#######################################
Disk /dev/sdb: 3959 MB, 3959422976 bytes
1 heads, 62 sectors/track, 124729 cylinders, total 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
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sdb1 1 491520 245760 b W95 FAT32
/dev/sdb2 * 491521 492520 500 4d QNX4.x
/dev/sdb3 492521 498520 3000 46 Unknown
/dev/sdb4 498521 7733247 3617363+ 5 Extended
/dev/sdb5 524288 548863 12288 59 Unknown
/dev/sdb6 655360 921599 133120 4c Unknown
/dev/sdb7 1048576 1049575 500 5a Unknown
/dev/sdb8 1179648 1185791 3072 58 Unknown
/dev/sdb9 1310720 1324719 7000 50 OnTrack DM
/dev/sdb10 1441792 1447935 3072 4a Unknown
/dev/sdb11 1572864 1579007 3072 4b Unknown
/dev/sdb12 1703936 2154495 225280 83 Linux
/dev/sdb13 2228224 3457023 614400 83 Linux
/dev/sdb14 3538944 7733247 2097152 69 Unknown
#############################################
sdb1: This is the FAT32 partition that gets mounted when we boot into pink screen;
It holds, among other files, EMMCBOOT.MBN, which, if not present and as far as I've experimented, will get the phone straight into a blue screen and initiate a flash procedure if a 'dload' folder with a ROM is found in the sdcard. The contens of this partition are changed when a ROM is flashed.
sdb2: Is flagged as bootable, and holds an (so far) unknown filesystem (if any; could hold a raw binary image, for instance);
sdb3: Holds an unknown filesystem, if any. This partition is changed whenever you flash a ROM. dumping this partition back, from any 2.3BETA, to a 2.3 (B522) running phone, will get the USB pink screen mode working again, allowing acces to sdb1.
sdb5: holds an unknown filesystem if any; dumping this one back gets us the original "IDEOS" logo and, probably, whatever is needed to make previous CWM backups work again.
sdb6: ext3 filesystem with a directory called "recovery".
sdb7: Unknown filessytem, if any.
sdb8: Unknown filesystem, if any.
sdb9: Unknown filesystem, if any.
sdb10: Unknown filesystem, if any.
sdb11: Unknown filesystem, if any.
sdb12: ext3 filesystem; gets mounted at "/system".
sdb13: ext3 filesystem; gets mounted at "/data".
sdb14: vfat filesystem; represents the internal sdcard.
I'm trying to find out what needs to be restored in order to perform a clean, reliable downgrade. sdb5 is a must, but not the only one. I've flashed 2.2 and dumped it back right after. The result is an almost downgraded U8800. I say almost because charging the battery while the phone is off shows a different image (the one that comes with 2.3) and I can't power up the phone unless I take the cable out; this means there are still remnants of 2.3 somewhere...
UPDATE: Not being able to power up the phone was to due to the CWM recovery; restoring original recovery.img solved that one.

[Info] List of Samsung Galaxy S2 GT-I9100 devices and partitions

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?

[SOLVED] Need help with Froyo partition table

I am in the process of flashing a custom rom. My phone is an original unlocked Consumer Cellular which had 2.2.1 installed and later on got an OTA update to 2.2.2.
I rooted the Bravo, made a system dump, installed 2nd-init and created a nandroid backup. As a final check I wanted to look at the partition table and that's when things got interesting. I tried parted but parted terminated with an error message about a partition "beyond" the device's last sector.
Looked around a bit and found out that fdisk is preinstalled in /system/xbin. So I used fdisk and this is what I found:
fdisk's info about the device:
Code:
Disk /dev/block/mmcblk1: 1958 MB, 1958739968 bytes
16 heads, 16 sectors/track, 14944 cylinders
Units = cylinders of 256 * 512 = 131072 bytes
That sounds about right, it is a 2 GByte flash rom. The problem is partition p4 (the "extended" partition) and partition p25 (aka "userdata"). Partition p4 is listed in the partition table as:
Code:
Device Boot Start End Blocks Id System
/dev/block/mmcblk1p4 13 122496 15677952 5 Extended
Well, "start" and "end" are cylinders, so the "end" being 122496 is waaaay beyond 14944! Partition p25 also seems to be messed up the same way:
Code:
Device Boot Start End Blocks Id System
/dev/block/mmcblk1p25 4633 122496 15086592 83 Linux
However, a "cat /proc/partitions" shows this:
Code:
cat /proc/partitions
major minor #blocks name alias
179 32 1912832 mmcblk1
179 33 128 mmcblk1p1
179 34 512 mmcblk1p2
179 35 512 mmcblk1p3
179 36 1 mmcblk1p4
179 37 512 mmcblk1p5
179 38 512 mmcblk1p6
179 39 4096 mmcblk1p7 pds
179 40 512 mmcblk1p8
179 41 512 mmcblk1p9
179 42 1024 mmcblk1p10
179 43 2048 mmcblk1p11
179 44 512 mmcblk1p12
179 45 512 mmcblk1p13
179 46 4096 mmcblk1p14
179 47 8192 mmcblk1p15 boot
179 48 8192 mmcblk1p16 recovery
179 49 14336 mmcblk1p17 cdrom
179 50 512 mmcblk1p18 misc
179 51 512 mmcblk1p19 cid
179 52 4096 mmcblk1p20 kpanic
179 53 334848 mmcblk1p21 system
179 54 512 mmcblk1p22 prek
179 55 512 mmcblk1p23 pkbackup
179 56 204800 mmcblk1p24 cache
179 57 1319936 mmcblk1p25 userdata
179 0 1931264 mmcblk0
179 1 1930240 mmcblk0p1
So besides the partition data which I seem to not understand the size of userdata seems to be 1319936 blocks which is ~1.3 GByte.
This leads to my 2 questions:
Is there a problem here or do I simply misunderstand fdisk's partition list (parted says that is something wrong though!)?
Do I have to try to "fix" this before installing a custom rom (planning on trying cm-10.2-20131030-NIGHTLY-mb520.zip)?
Thanks,
Markus
Ok ... I'm answering my own question here, just in case someone else is interested in the solution:
General Information:
Historically (pc compatible) partitions used to be aligned on cylinder boundaries. Nowadays partitions are usually aligned on a sector number which is a multiple of 2048. For standard 512 sectors this evaluates to a 1 MByte boundary - which is also compatible with drives with a larger sector size (4096 bytes for drives > 2 TByte).
Logical volumes within the extended partition do not use the first head of the first cylinder (or the first 2048 sectors) because the area holds the volume's EBR - which is only a 512 byte record, similar to a MBR.
Implementation in the Motorola Bravo:
The Linux kernel reports 16 heads per cylinder and 16 tracks per head, resulting in 128 kByte per cylinder.
Partitions are aligned to this "virtual" disk geometry.
Digging through the list of EBRs (using dd and hexdump) I found that the partitioning utility used by Motorola creates volumes in the extended partition in a different (but still compatible) way: instead of wasting the first "track" (for the volume's EBR) in each volume, it consolidates all the EBRs in the disk space wasted by the partition entry for the extended partition itself (which usually is 1 cylinder or 2048 sectors).
Motorola actually allocated 512 kByte (1024 sectors) for the extended partition itself, giving the system the theoretical limit of 1024 volumes.
The question still unanswered though is: why does the extended partition (and the last volume in that partition) extend way beyond the end of mmcblk1?
Findings:
I searched around and I discovered that the tool Motorola used to create the partition table was most likely something like nand-part (part of the sunxi tools, please look it up on Wikipedia, I am not allowed yet to post links outside this forum).
This tool creates the EBRs for logical volumes in the same way as they appear in the Bravo's partitions. And most important, this tools also allows to create partitions which extend beyond the end of the device!
Ok ... on with the story: whenever a file system utility like mkfs wants to format a partition, it asks the kernel for information about that partition. The kernel is smart enough to correct partition definitions which extend beyond the end of device in order to avoid a failure or crash of the file system formatting utility. This "correction" is not permanent (partition table stays as it is) but done on the fly.
Conclusions:
nand-part's lack of parameter checking together with the kernel's smartness about partitions exceeding the device made it possible for Motorola to create one common partition layout for devices with different flash capacities: the setup used in the Bravo would be sufficient for flash up to 8 GByte without even changing the partition tables. The last partition (userdata) would simply benefit from a higher flash capacity.
Having answered that question, I still wanted to know what happenes when I try to correct that error (I know, I just asked for trouble). So I went ahead and as a first step I corrected the size in userdata's (mmcblk1p25) EBR to the correct value (using dd and a hex editor). After the correction everything looked fine. The definition of mmcblk1p25 now matched the actual size. I rebooted the phone and ... boom! The bootloader obviously was extremely unhappy and I was forced to do my first "sbf" - which I managed to do and meanwhile my Bravo is happily running CM10.2.
Dear Moderator:
If this post is of any use for the "Dev" section, please move it over there. I do not have the permission (yet) to post in the dev section.
Happy hacking,
Markus

Categories

Resources