5,814,720 Members 52,429 Now Online
XDA Developers Android and Mobile Development Forum

[DEV][REF] El Grande Partition Table Reference

Tip us?
 
E:V:A
Old
(Last edited by E:V:A; 27th May 2014 at 09:32 AM.)
#1  
E:V:A's Avatar
Recognized Developer - OP
Thanks Meter 1,797
Posts: 1,347
Join Date: Dec 2011
Location: -∇ϕ
Info 2 [DEV][REF] El Grande Partition Table Reference

El Grande Partition Table Reference

This is a development thread whose main purpose is to catalog and document
the various partition tables used by our manufacturers in our loved Androids.

Thread Difficulty: Medium (some risk of bricking)
Quote:
When people get a bad flash and soft-brick their devices, one of the first
things that need to be done, is finding out on what partition that flash went
bad. This information can be extremely valuable since it could very well make
the difference between loosing or keeping all your data.

In addition, it will help clarify much of the partitioning confusion that has
arisen because of the many different partitioning schemes used in different
devices and by different hardware manufacturers.

Thus you can help by providing your complete partition tables in this thread
in one post. In order for this information to be useful, you will have to
provide and specify the following:

Code:
General Device Name:            Samsung Galaxy S2
Manufacturer Product Name:      GT-I9100
Processor:                      Exynos 4210
AOS version:                    Android GB 2.3.4
Radio FW version:               XXKI1
System FW version:              XXKE4

Service Provider/ Branding:     T-mobile
Country:                        Germany

<< output of parted >>

<< output of fdisk >>

<< output of gdisk >>

<< Any additional info you'd like to share. See text.>>
Additional information that could be useful, include:
Code:
a) The alternative commands shown in post#2 below.
b) Other hardware info that can often be found in the PDA database.
c) A link to a text paste site with the output from:
   1. dmesg (directly after reboot)
   2.
How To Post Here

To make your post compact and stylish, post using the "Go Advanced"
and put your command output in "CODE" tags and choose: "Sizes" ==> 2.
If you know how to, also replace all tabs (\t) with spaces. If your output
is excessively large, please use paste site (pastebin, pastie etc.) instead
of multiple posts.

Also, please search the thread for previous devices before posting
your own results, unless they differ significantly.

==================================================
This is a development thread. Do not ask for help with this or that,
this is not a support thread! Make sure that any question you might
have, is directly related to the benefit of this thread and on-topic.
If not your post will be removed.
==================================================

The goal here is to obtain as detailed information about your device
partitions as possible. The most important information are (with example):

Code:
- Partition Number              2
- Partition Name                mmcblk0p2
- Partition Type                EXT4
- Partition MBR ID              83
- Partition GPT ID              8300    /       
- Partition Label               SBL1
- Partition Description         Secondary Bootloader 1
- Start block (hex/dec)         0x1000
- End block (hex/dec)           0x1fff
- Partiton Size (hex/dec)       0x1000
- Partition Content             Qualcomm SBL1 bootloader image (sbl1.img)
As a good example of a fairly complete partition table is that of the
Verizon Samsung Galaxy S3 (SCH-I535), as shown in post#3, although it is
still missing some relevant data, it was completed using the commands
shown in post#2.

Thanks in advance for wanting to help to make this thread an awesome
and great partition table reference.
So far we have the following devices in our list:

Code:
Samsung Galaxy S3 (SCH-I535)                            Post#3
Samsung Galaxy Note (SHV-E160L)                         Post#7
HTC One X LTE   [US AT&T, Verizon, etc]                 Post#8
Samsung LED TV ES-5700 (UE40ES5700SXXH)                 Post#9         
Samsung Galaxy Camera (EK-GC100)                        Post#10
Samsung GT-I8150                                        Post#11
Samsung SHV-E160L                                       Post#13
LG Optimus G (LS970)    [Sprint]                        Post#16
LG Motion (MS770/LW770)                                 Post#20
Samsung Galaxy S Plus                                   Post#21
Samsung GT-I8160                                        Post#22
Samsung GT-N7000 (16GB)                                 Post#24
LG G2 (D-800)   [AT&T, Verizon]                         Post#25

Here is another thread I strongly recommend reading, before posting here.
It has an excellent explanation of the linux file permissions and how to make
backups of the most important partitions.
[GUIDE] Making Dump Files Out of Android Device Partitions


<< To Be Continued.. >>
MSM8960 Info, Architecture and Bootloader(s)
El Grande Partition Table Reference
How to talk to the Modem with AT commands

[REF][ServiceMode] How to make your Samsung perform dog tricks
[REF|R&D|RF] RF/Radio properties of Samsung ServiceMode

Want to know when your phone is getting tracked or tapped?

Help us develop the IMSI Catcher / Spy Detector!
_______________________________
If you like what I do, just click THANKS!
Everything I do is free, altruism is the way!
ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ
I do not answer support related PM's.
The Following 25 Users Say Thank You to E:V:A For This Useful Post: [ Click to Expand ]
 
E:V:A
Old
(Last edited by E:V:A; 20th May 2014 at 11:19 AM.)
#2  
E:V:A's Avatar
Recognized Developer - OP
Thanks Meter 1,797
Posts: 1,347
Join Date: Dec 2011
Location: -∇ϕ
How to obtain your partition table?

Although the way to obtain your complete partition table layout varies from
device to device, there are some standard tools and methods to do this. The
most important thing to know, especially if you're used to the old-school
Windows/Linux Master Boot Record (MBR) type file systems, is that most modern
Android smartphones now make heavy use of the GUID Partition Table (GPT)
structure (formatting). Thus you will need some slightly different tools, to
obtain the proper information from your device. Different tools give different
information, as we shall see.

NOTE: You have to be rooted to use these tools!
Example-1: (Partition Tables for the Samsung Galaxy S2 GT-I9100)

Here we get our partition table using three different tools:
  1. fdisk
  2. parted
  3. gdisk (aka gptfdisk)
And the results will differ quite dramatically.

1. Using fdisk:
Code:
/ # fdisk -l /dev/block/mmcblk0

 Disk /dev/block/mmcblk0: 15.7 GB, 15756951552 bytes
 1 heads, 16 sectors/track, 1923456 cylinders
 Units = cylinders of 16 * 512 = 8192 bytes

               Device Boot      Start         End      Blocks  Id System
 /dev/block/mmcblk0p1               1     1923456    15387647+ ee EFI GPT
 Partition 1 does not end on cylinder boundary
2. Using parted:
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) p
 p
 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
3. Using gdisk:
Code:
/ # gdisk -l /dev/block/mmcblk0
 GPT fdisk (gdisk) version 0.8.4

 Partition table scan:
   MBR: protective
   BSD: not present
   APM: not present
   GPT: present

 Found valid GPT with protective MBR; using GPT.
 Disk /dev/block/mmcblk0: 30775296 sectors, 14.7 GiB
 Logical sector size: 512 bytes
 Disk identifier (GUID): 52444E41-494F-2044-4D4D-43204449534B
 Partition table holds up to 128 entries
 First usable sector is 34, last usable sector is 30775262
 Partitions will be aligned on 2048-sector boundaries
 Total free space is 17341 sectors (8.5 MiB)

 Number  Start (sector)    End (sector)  Size       Code  Name
    1            8192           49151   20.0 MiB    0700  EFS
    2           49152           51711   1.2 MiB     0700  SBL1
    3           53248           55807   1.2 MiB     0700  SBL2
    4           57344           73727   8.0 MiB     0700  PARAM
    5           73728           90111   8.0 MiB     0700  KERNEL
    6           90112          106495   8.0 MiB     0700  RECOVERY
    7          106496          311295   100.0 MiB   0700  CACHE
    8          311296          344063   16.0 MiB    0700  MODEM
    9          344064         1392639   512.0 MiB   0700  FACTORYFS
   10         1392640         5586943   2.0 GiB     0700  DATAFS
   11         5586944        29720575   11.5 GiB    0700  UMS
   12        29720576        30769151   512.0 MiB   0700  HIDDEN
Example-2: (Using built-in system tools.)
Code:
/ # mount
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,relatime,mode=111 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/usb tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /app-cache tmpfs rw,relatime,size=7168k 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
/dev/block/mmcblk0p9 /system ext4 ro,relatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p7 /cache ext4 rw,nosuid,nodev,noatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p1 /efs ext4 rw,nosuid,nodev,noatime,barrier=1,data=ordered 0 0
nil /sys/kernel/debug debugfs rw,relatime 0 0
/dev/block/mmcblk0p10 /data ext4 rw,nosuid,nodev,noatime,barrier=1,data=ordered,noauto_da_alloc,discard 0 0
/dev/block/mmcblk0p4 /mnt/.lfs j4fs rw,relatime 0 0
/dev/block/vold/179:11 /mnt/sdcard 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,discard 0 0

/ # busybox cat /proc/partitions
major minor  #blocks  name

 179        0   15387648 mmcblk0
 179        1      20480 mmcblk0p1
 179        2       1280 mmcblk0p2
 179        3       1280 mmcblk0p3
 179        4       8192 mmcblk0p4
 179        5       8192 mmcblk0p5
 179        6       8192 mmcblk0p6
 179        7     102400 mmcblk0p7
 179        8      16384 mmcblk0p8
 179        9     524288 mmcblk0p9
 179       10    2097152 mmcblk0p10
 179       11   12066816 mmcblk0p11
 179       12     524288 mmcblk0p12

Download These Partition Tools


I have collected the above three tools into one ZIP package
that you can download HERE. << WIP TBA >>

Download the ZIP containing parted HERE.
(Do not use/push/install anything else than "parted", as they may
already be present on your system, or in Busybox.)

The gptfdisk binary is rather large (~1.5 MB) as it is statically compiled.
It would be nice if someone could create an NDK based dynamic binary.
Download the binary HERE. (SourceForge, Info)

darkspr1te have collected even more (statically compiled) tools in his
post #13, that can be downloaded HERE.


Quote:
! WARNING !
Be careful with parted, make sure you tell it to "Ignore" any errors it might
find. Also you have to type "quit" to get it to exit from interactive mode.
Similarly, you'll probably also get various scary warnings when using gdisk.
Same thing here. Make sure to ignore, never attempt to repair, unless you know
exactly what you're doing!

You may get other warnings as well, but should always be ignored. This is due
to the fact that many devices are using some kind of hybrid proprietary
MBR/GPT partitioning with accompanying tables. This is especially true for
Qualcomm based devices from Samsung and HTC.
Collecting Alternative Information

There are several system commands and files that you can use, that contain
partitioning information. The most common ones are:


Code:
mount
cat /proc/mtd
cat /proc/mounts
cat /proc/partitions 
cat /proc/emmc 

busybox fdisk -l /dev/block/mmcblk0
parted -l /dev/block/mmcblk0
gdisk -l /dev/block/mmcblk0
[You will probably need to modify these to suit your particular storage device.]

Another useful place for info is in the Kernel and debug messages output.
However, these commands need to be performed as soon as possible after a
reboot, since the message log is a ring-buffer of only 4K. (Meaning it will soon
overwrite itself.)
Code:
dmesg |grep "mmc"
dmesg |grep "partition"
cat /proc/kmesg >/path-to-your-writeable-area/kmesg.log

Collecting Partition Tables while Flashing
(Root not required)

You can also collect very detailed partition table layout while flashing new firmware (using Windows).
Thanks to attentive users: @IGGYVIP and @Antagonist42 we show in Post#51 and beyond, how you
can use SysInternals DebugView tool, to collect interesting debug information while flashing.
The Following 23 Users Say Thank You to E:V:A For This Useful Post: [ Click to Expand ]
 
E:V:A
Old
(Last edited by E:V:A; 28th October 2012 at 12:09 PM.)
#3  
E:V:A's Avatar
Recognized Developer - OP
Thanks Meter 1,797
Posts: 1,347
Join Date: Dec 2011
Location: -∇ϕ
Partition Table: Samsung Galaxy S3 (SCH-I535)

So to be a good example, let me start to post the complete partition table
for the US Verizon, Samsung Galaxy S3 (SCH-I535). It was probably obtained
from a screenshot of one of Samsung's internal documents, not available for
public scrutiny. I then had to add additional information from other peoples
devices to complete the details. Still, it is likely there will be some
variations due to hardware and updated firmware etc. But it does serve as a
great and informative example of a top-of-the-line Android partition table.

So to follow my own instructions:
Code:
General Device Name:            Samsung Galaxy S3  
Manufacturer Product Name:      SCH-I535
Processor:                      Qualcomm Snapdragon 4S+ (MSM8960)
AOS version:                    Android GB 4.0.4
Radio FW version:               <na>
System FW version:              <na>
Service Provider/ Branding:     Verizon
Country:                        USA
One guy listed the output of parted as:
Code:
Disk /dev/block/mmcblk0: 31268536320B
Sector size (logical/physical): 512B/512B
Partition Table: gpt
-------------------------------------------------------------------------------
Number  Start         End           Size          FS-Type       Name      Flags 
-------------------------------------------------------------------------------
 1      4194304B      67108863B     62914560B                  modem
 2      67108864B     67239935B     131072B                    sbl1
 3      67239936B     67502079B     262144B                    sbl2
 4      67502080B     68026367B     524288B                    sbl3
 5      68026368B     70123519B     2097152B                   aboot
 6      70123520B     70647807B     524288B                    rpm
 7      70647808B     81133567B     10485760B                  boot
 8      81133568B     81657855B     524288B                    tz
 9      81657856B     82182143B     524288B                    pad
10      82182144B     92667903B     10485760B                  param
11      92667904B     106954751B    14286848B     ext4         efs
12      106954752B    110100479B    3145728B                   modemst1
13      110100480B    113246207B    3145728B                   modemst2
14      113246208B    1686110207B   1572864000B   ext4         system
15      1686110208B   30337400831B  28651290624B  ext4         userdata
16      30337400832B  30345789439B  8388608B      ext4         persist
17      30345789440B  31226593279B  880803840B    ext4         cache
18      31226593280B  31237079039B  10485760B                  recovery
19      31237079040B  31247564799B  10485760B                  fota
20      31247564800B  31253856255B  6291456B                   backup
21      31253856256B  31257001983B  3145728B                   fsg
22      31257001984B  31257010175B  8192B                      ssd
23      31257010176B  31262253055B  5242880B                   grow
But according to the anonymous Samsung document image, we have:

[Converted to text using the free online OCR tool.]

From this I constructed the following partition table:
Code:
Part#   Name            Type    Flag    Start(hex)      Start(dec)      Length(dec)     Length(hex)     Size    Description
-------------------------------------------------------------------------------------------------------------------------------------------
 0      GPT                             00000000                 0              34      0000022         0       GUID Partition Table
 1      MODEM           FAT32X   pr     00002000             8,192         122,880      001E000         60      CP Binary
 2      SBL1                    *pr     00020000           131,072             256      0000100         .1      Secondary Bootloader 1
 3      SBL2                     pr     00020100           131,328             512      0000200         .3      Secondary Bootloader 2
 4      SBL3                     pr     00020300           131,840            1024      0000400         .5      Secondary Bootloader 3
 5      ABOOT                    r      00020700           132,864            4096      0001000         2       AP Bootloader
 6      RPM                      r      00021700           136,960            1024      0000400         .5      Resource and Power Manager
 7      BOOT                     r      00021800           137,984          20,480      0005000         10      Kernel + Ramisk
 8      TZ                       r      00026800           158,464            1024      0000400         .5      Trust Zone
 9      PIT                             00026F00           159,488            1024      0000400         .5      Partition Information Table
10      PARAM                           00027300           160,512          20,480      0005000         10      Parameter Block
11      EFS             EXT4            0002C300           180,992          27,904      0006D00         13.6    EFS Partition
12      MODEMST1                        00033000           208,896           6,144      0001800         3       Modem Storage 1 (NV data)
13      MODEMST2                        00034800           215,040           6,144      0001800         3       Modem Storage 2 (NV data)
14      SYSTEM          EXT4            00036000           221,184       3,072,000      02EE000         1500    Android Platform
15      USERDATA        EXT4            00324000         3,293,184      55,959,552      355E000         27324   Application & User Data
16      PERSIST         EXT4            03882000        59,252,736          16,384      0004000         8       Persist
17      CACHE           EXT4            03886000        59,269,120       1,720,320      01A4000         840     Cache
18      RECOVERY                 r      03A2A000        60,989,440          20,480      0005000         10      Recovery
19      FOTA                            03A2F000        61,009,920          20,480      0005000         10      FOTA backup partition
20      BACKUP                          03A34000        61,030,400          12,288      0003000         6       NV data backup partition
21      FSG                             03A37000        61,042,688           6,144      0001800         3       Modem Storage "Golden Copy"
22      SSD                             03A38800        61,048,832              16      0000010         0       Secure Software Download
23      GROW                            03A38810        61,048,848               5      0000005         0       Grow
-------------------------------------------------------------------------------------------------------------------------------------------
Part  :  Is the eMMC partition number and mounted under "mmcblk0<#>"
Type  :  Partition Type (By Name or by ID (hex) if unknown. See list below.)
Flag  :  Special partition flags, such as: boot (*), read only (r), primary partition (p).
Length:  Number of blocks (sectors) in partition
Size  :  Approximate partition size in MB

NOTE: The block size is 512 bytes.
The Following 12 Users Say Thank You to E:V:A For This Useful Post: [ Click to Expand ]
 
E:V:A
Old
(Last edited by E:V:A; 7th September 2013 at 02:41 PM.)
#4  
E:V:A's Avatar
Recognized Developer - OP
Thanks Meter 1,797
Posts: 1,347
Join Date: Dec 2011
Location: -∇ϕ
What does it all mean?

Here I give a general description to the various partitions. Most of them have
been determined, but some still remain somewhat mysterious. But there are
Terabytes written about various partition schemes and file systems etc, but
some good sources for our purpose are found on Wikipedia and Microsoft.

But the most important thing to understand, is that most of the technical
ingredients (as show in the previous post) is hardware dependent. Thus the
Android partition schemes depend on the processor / modem combination and
their firmware, and thus also the kernel, to some extent.

Some key info can be found here:

http://en.wikipedia.org/wiki/GUID_Partition_Table
http://en.wikipedia.org/wiki/Master_boot_record
http://en.wikipedia.org/wiki/Extended_Boot_Record
http://en.wikipedia.org/wiki/Host_Protected_Area

Trouble shooting Disks and Filesystems (Microsoft)
Using GPT Drives (Microsoft)

General Android Partition Description (Qualcomm MSM8960)

The function and content of many of the partitions are not very well
described, nor easily found in one place. Here are some further details,
that apply primarily to Qualcomm Snapdragon S4/+ based Android devices.
However, Windows Phones using these these SoC's should have a very similar
partition structures, but with different names.

For details about: RPM (PBL), SBL1, SBL2, SBL3, TZ and ABOOT (APPSBL), please
see this and this thread, where they are extensively discussed and described.

GPT: See section on PIT and GPT "partitions" below.

BACKUP: This partition should contain a copy of MODEMST2. Whether it does or
not, is described in the PARAM partition.

BOOT: This is the partition that enables the phone to boot, as the name
suggests. It includes the kernel and the ramdisk. Without this partition, the
device will simply not be able to boot. Wiping this partition from recovery
should only be done if absolutely required and once done, the device must NOT
be rebooted before installing a new one, which can be done by installing a ROM
that includes a /boot partition.

CACHE: Contain the firmware update package which is downloaded from server,
and the recovery log file. Other uses include storage for frequently accessed
data and application components. Wiping the cache doesn’t effect your personal
data but simply gets rid of the existing data there, which gets automatically
rebuilt as you continue using the device.

DATA / USERDATA: This partition contains the user's data – this is where your
contacts, messages, settings and apps that you have installed go. Wiping this
partition essentially performs a factory reset on your device, restoring it to
the way it was when you first booted it, or the way it was after the last
official or custom ROM installation. When you perform a wipe data/factory
reset from recovery, it is this partition that you are wiping.

EFS: The Android EFS partition stores all your phones important, but
accessible, hardware data, such as WiFi/BlueTooth MAC's, IMEI (or ESN for a
CDMA based device) and some others.

FOTA: Is the Firmware Over The Air partition. After the update package has
been downloaded from the server it is saved into the CACHE partition. After
that the userspace application that does the download writes a special cookie
into the FOTA partition. This cookie tells the bootloaders to take the
necessary steps to boot into recovery mode

FSG: Probably stands for File System (FS) "Golden". According to Samsung
documentation, this partition is a "Golden Copy". This is partially confirmed
by RE of the PARAM partition, which indicate that this partition should contain
a copy of MODEMST1. As such it is a backup of the current EFS2 filesystem.
The creation of a FSG is not supported on flash devices and the internal (QMI)
DIAG request "EFS2_DIAG_MAKE_GOLDEN_COPY", can only be used to
create a backup one time over the life of the device. [80-V1294-11]

GROW: << unknown >>

MISC: This partition contains miscellaneous system settings in form of on/off
switches. These settings may include CID (Carrier or Region ID), USB
configuration and certain hardware settings etc. This is an important
partition and if it is corrupt or missing, several of the device’s features
will will not function normally. Not all devices have this partition.

PARAM: This is the Parameter partition which contains a number of parameters,
variables and settings of the hardware. Apparently it has an 88 byte header
structure that tell us if the MODEMST1 and MODEMST2 have been backed up to the
FSG and BACKUP partitions, respectively. Furthermore it contain all the debug
settings (DLOW/DMID/DHIG etc), the "triangle" status of whether or not you have
flashed custom ROMs and the flash count (0x3FFE00). Current boot mode in use,
and much more. The info about this partition could easily occupy a book by
itself.

PERSIST: << unknown >> The use of this partition is unknown and apparently
only exists on Qualcomm based devices.

PIT: See below.

RECOVERY: Holds the recovery boot image. When updating the system we boot
into recovery mode by using the boot image stored in this partition. It lets
you boot the device into a recovery console for performing advanced recovery
and maintenance operations on it.

SSD: "Secure Software Download" is a memory based file system (RAMFS) for
secure storage, used to download and store "who knows what" on the eMMC. It is
a referenced part in the Remote Storage RPC Client of the MSM kernel.

SYSTEM: This partition basically contains the entire operating system, other
than the kernel and the ramdisk. This includes the Android user interface as
well as all the system applications that come pre-installed on the device.
Wiping this partition will remove Android from the device without rendering it
unbootable, and you will still be able to put the phone into recovery or
bootloader mode to install a new ROM.
Older Types of Qualcomm Partitions

Code:
DBL          Device Boot Loader (loads OSBL)
OSBL         Operating System Boot Loader (loads AMSS)
AMSS         Advanced Mobile Subscriber Software (Qualcomm CP FW)
EMMCBOOT     Embedded MMC (eMMC) boot (loads EMMCBOOT)
ADSP         AP (Application Processor) DSP (Qualcomm DSP FW)


Qualcomm Partition Type Cross Reference


When inspecting the partitioning of the eMMC's used by Qualcomm Snapdragon based
hardware, we see that they tend to use different partition types, for their
different partitions depending on their function. For example, for the MSM8960
SoC/PoP, we often find the following partition ID's, when inspected by
mounting the device with on linux PC. This seem to remain fairly consistent across
all their Snapdragon class/based devices.

Code:
ID      Type    Label           oldLabels               Filename(s)     Description
-----------------------------------------------------------------------
05      EXT     --              --              --                      Extended partition
0C      FAT32X  MODEM           FAT             non-hlos.bin            
45              SBL3                            sbl3.mbn                
46              TZ              OEMSBL          tz.mbn, osbl.mbn                
47              RPM                             rpm.mbn                 
48              BOOT                            boot.img                
4A              MODEM_ST1                       --                      
4B              MODEM_ST2                       --                      
4C              ABOOT                           emmc_appsboot.mbn       
4D      Boot    SBL1            CFG_DATA        sbl1.mbn, dbl.mbn               
51              SBL2                            sbl2.mbn                
58              FSG                             --                      
5D      ??HTC
60              RECOVERY                        recovery.img            
64              ?BOOT1                          --                      
65              "misc"                          misc.img                
83      EXT4    [1]             //              //                      Native Linux
-----------------------------------------------------------------------
[1] This is a standard linux partition of any EXT2/3/4 type, thus there
    are many different labels used here.
Some additional partition IDs found from their CodeAurora sources in
[kernel/msm][arch/arm/mach-msm/rmt_storage_client.c]:
Code:
4A      /boot/modem_fs1         RAMFS_MODEMSTORAGE_ID
4B      /boot/modem_fs2         "
58      /boot/modem_fsg         "
59      q6_fs1                  RAMFS_MDM_STORAGE_ID
5A      q6_fs2                  "       
5B      q6_fsg                  "
5D      ssd                     RAMFS_SSD_STORAGE_ID
Thus we can conclude that most of the standard (but outdated) MBR definitions
of partition type ID's are no longer valid, but used as an identifier for
various sub-system software.

From another document [80-VP120-1 Rev.K] the Secure Boot 3.0 based devices use MBR partition types as shown below:



However, this document is from 2010 and may not be up-to-date with what you have.
Check your kernel sources!

Additional eMMC types:
Code:
0x0b - FAT32
0x0c - FAT32L
0x0e - FAT16
Attached Thumbnails
Click image for larger version

Name:	SB3_MBR_types.png
Views:	24206
Size:	11.2 KB
ID:	1691832  
The Following 7 Users Say Thank You to E:V:A For This Useful Post: [ Click to Expand ]
 
E:V:A
Old
(Last edited by E:V:A; 28th October 2012 at 10:01 PM.)
#5  
E:V:A's Avatar
Recognized Developer - OP
Thanks Meter 1,797
Posts: 1,347
Join Date: Dec 2011
Location: -∇ϕ
The PIT & GPT "partitions"

<< WIP >>

Your (signed) 32 GB PIT file can be extracted with:
Code:
dd if=/dev/block/mmcblk0 of=/sdcard/out.pit bs=8 count=481 skip=2176
And the GPT with:
Code:
dd if=/dev/block/mmcblk0 of=/sdcard/gpt.bin bs=8 count=2176
That is, 0x200 bytes for the protective MBR, 0x200 bytes for the GPT header,
and 128 x 128 bytes GPT partition headers = 0x4400 bytes for the full GPT block.

The PIT file contains partition names (BOOT), the names of the files that go
in them (boot.img), the size of each partition, the partition ID (7), and any flags (RO).

The GPT contains the physical layout for the partitions in memory and reads all the info from the PIT to fill in the blanks.


<< To Be Continued... >>
The Following 3 Users Say Thank You to E:V:A For This Useful Post: [ Click to Expand ]
 
E:V:A
Old
(Last edited by E:V:A; 9th February 2013 at 01:44 AM.) Reason: moved OT from otehr thread to here
#6  
E:V:A's Avatar
Recognized Developer - OP
Thanks Meter 1,797
Posts: 1,347
Join Date: Dec 2011
Location: -∇ϕ
eMMC/SSD A Brief Introduction

I find it useful to understand, that from the low-level point of view, an eMMC and SSD are essentially
the same. An SSD is basically a huge eMMC, but where the NAND chips are used in parallel, similar to
a Raid-0 configuration, but with an added DRAM cache buffer and a SATA interface operating at 5V.
So, apart from the more advanced microcontroller, the wear-leveling etc. works in the same way.

The most important and relevant documents are those of the JEDEC standard.
However, our device conforms to (JESD84) v4.41 and not v4.51, AFAIK.
"JEDEC: Embedded MultiMediaCard(eMMC) Product Standard..." (JESD84-A441)
"JEDEC: Embedded MultiMediaCard(eMMC) Electrical Standard" (JESD84-B451)
"eMMC v4.41 and v4.5" (JDEC presentation by Victor Tsai)



DataLight on Bad Block Management (BBM)

"Bad block management (BBM) is a critical component of NAND flash drivers to
improve the reliability and endurance of the flash. NAND is shipped from the
factory with 'mostly good' cells, meaning there are some cells that are
non-functional even when the flash is new. Blocks can also go bad over time,
causing loss of data stored in the flash memory or even a bricked device."

NAND Flash Longvity

"Flash life is limited to the number of erase cycles for which your part is
rated. By distributing write/erase cycles evenly throughout the flash, a
properly executed wear-leveling algorithm can more than double the life of
your product. FlashFX Pro uses both static and dynamic wear-leveling to
achieve 133% longer life than MSFlash, the flash manager found in Windows CE
and WindowsMobile. The charts below show a test comparison between a FlashFX
Pro disk and one using MSFlash. Flash disks read and write data in a grid of
erase blocks. Once a block reaches its maximum rated erase count, the flash is
at risk of lost or corrupted data, becoming a "broken" device. For this test,
we recorded the erase counts by block and applied a heat map ranging from
white (lowest use) to green (medium use), to black (highest use). As the
heatmap shows, the MSFlash disk contains many blocks that are well over their
rated lifespan, while other blocks are barely used. The FlashFX Pro disk shows
what happens when proper wear-leveling algorithms are employed. All blocks are
evenly worn and within a tight range of erase counts, making your handheld
last more than twice as long, and protecting the reputation for durability
you've worked hard for."




Read-Write Operation [from Linaro site]

"Flash parts are commonly divided into partitions, which allows multiple
operations to occur simultaneously (erasing one partition while reading from
another). Partitions are further divided into blocks (commonly 64KB or 128KB
in size). The only Write operation permitted on a flash memory device is to
change a bit from a one to a zero. If the reverse operation is needed, then
the block must be erased (to reset all bits to the one state)
. NOR flash
memory can typically be programmed a byte at a time, whereas NAND flash memory
must be programmed in multi-byte bursts (typically, 512 bytes)"






Basic Wear Leveling

MLC devices typically support fewer than 10,000 program/erase (PE) cycles. So
if you erased and reprogrammed a block every minute, you would exceed the 10K
cycling limit in just 7 days!
Code:
60 × 24 × 7 = 10,080 (cycles/block)
So rather than cycling (re-programming) the same block, wear-leveling moves
data around to other blocks so that blocks are more evenly cycled.

Example:
An 8GB eMMC MLC-based device

This device has 4096 independent blocks. So if we took the previous example
and distributed the cycles over all 4,096 blocks, each block would have been
programmed fewer than three times. (10,000/4096 = 2.44 [cycles/block/per
week]) (versus the 10,800 cycles when you cycle the same block)

So if we cycle some block once every minute, we have:
Code:
1 [cycles/min] × 60 [min/hr] ×  24 [hr/day] × 365 [day/year] =  525,600 [cycles/year]
But with the new block cycling restraint (mechanism), we have that each data block:
Code:
Max data block-cycles = 
4096 [blocks] × 10,000 [cycles/block] = 40,960,000 [cycles]
So that the total time to use up all cycles is:
Code:
40,960,000 [cycles] / 525,600 [cycles/year] = 77.9  [years]
So if we have perfect wear leveling on a 4,096 block device, we could could
erase and program a block every minute, every day, for 77 years.

[Examples taken from Cooke WinHEC presentation.]


Mooore

However, this is far from what can be expected. For example, the guaranteed
cycle count may apply only to block zero (as is the case with TSOP NAND
devices). And accrding to WikiPedia, "MLC NAND flash used to be rated at about
5–10K cycles (Samsung K9G8G08U0M) but is now typically 1–3K cycles"

According to THIS very informative page, "34nm MLC NAND is good for 5,000
write cycles, while 25nm MLC NAND lasts for only 3,000 write cycles."

Then there is the possibility of "read disturb", The method used to read NAND
flash memory can cause nearby cells to change over time if the surrounding
cells of the block are not rewritten. This is generally on the order of ~100K
reads without a rewrite of those cells. The error does not appear when reading
the original cell, but shows up when finally reading one of the surrounding
cells.

Then there is Write Amplification (WA): [for SSD but also applicable to us]

"An undesirable phenomenon associated with flash memory and solid-state drives
(SSDs) where the actual amount of physical information written is a multiple
of the logical amount intended to be written. Because flash memory must be
erased before it can be rewritten, the process to perform these operations
results in moving (or rewriting) user data and metadata more than once. This
multiplying effect increases the number of writes required over the life of
the SSD which shortens the time it can reliably operate. The increased writes
also consume bandwidth to the flash memory which mainly reduces random write
performance to the SSD."

Write amplification is typically measured by the ratio of writes coming from
the host system and the writes going to the flash memory. A lower write
amplification is more desirable, as it corresponds to a reduced number of P/E
cycles on the flash memory and thereby to an increased NAND life,





Then there is Over-provisioning (OP), which is the difference between the
physical capacity of the flash memory and the logical capacity presented through
the operating system as available for the user. During the garbage collection,
wear-leveling, and bad block mapping operations on the SSD, the additional space
from over-provisioning helps lower the write amplification when the controller
writes to the flash memory.






Vocabulary:

MLC = Multi Level Cell: NAND stores four states per memory cell and enables two bits programmed/read per memory cell

SLC = Single Level Cell: NAND stores two states per memory cell and enables one bit programmed/read per memory cellenables cell



What does all this mean?


Well, it means a lot! Here are just a few things:
  • We have to use host-based disk encryption to ensure we don't leave private data on eMMC/SSD.
    (Re-formatting and erasure just doesn't work, as ensured by internal wear-leveling, unless
    secure erase is enabled permanently. But this is not yet supported in older JEDEC!)
  • We should always choose the largest available memory device to maximize life.
  • We should have the source code and eMMC specifications to verify device specifications
    and the proper handling and quick resolution of future bugs.

Cheers!
MSM8960 Info, Architecture and Bootloader(s)
El Grande Partition Table Reference
How to talk to the Modem with AT commands

[REF][ServiceMode] How to make your Samsung perform dog tricks
[REF|R&D|RF] RF/Radio properties of Samsung ServiceMode

Want to know when your phone is getting tracked or tapped?

Help us develop the IMSI Catcher / Spy Detector!
_______________________________
If you like what I do, just click THANKS!
Everything I do is free, altruism is the way!
ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ
I do not answer support related PM's.
The Following 8 Users Say Thank You to E:V:A For This Useful Post: [ Click to Expand ]
 
E:V:A
Old
#7  
E:V:A's Avatar
Recognized Developer - OP
Thanks Meter 1,797
Posts: 1,347
Join Date: Dec 2011
Location: -∇ϕ
Samsung Galaxy Note (SHV-E160L)

Thanks to the excellent work of darkspr1te in this thread and post,
we have both full partition-table info and bootloader-level recovery.

Code:
General Device Name:            Samsung Galaxy Note LTE
Manufacturer Product Name:      SHV-E160L
Processor:                      Qualcomm Snapdragon 4S+ (MSM8960) ?
AOS version:                    ICS 4.0.4 ?
Radio FW version:               <na>
System FW version:              <na>
Radio Service:                  CDMA/LTE ?                      
Network / Carrier:              LGU+
Country:                        Korea

Similar Device:                 Samsung Galaxy Note SCH-I717 (Verizon)
Then the following partition table was constructed from fdisk output and various other info:
Code:
Device     Boot Start           End             Blocks          FS_id   FS-type         Name            ImageName
-----------------------------------------------------------------------------------------------------------------------
/dev/sdc1       1               204800          102400           c      W95 FAT32 (LBA) SMD_HDR         smd_header.mbn
/dev/sdc2  *    204801          205800          500             4d      QNX4.x          SBL1            sbl1.mbn
/dev/sdc3       205801          208800          1500            51      OnTrackDM6Aux1  SBL2            sbl2.mbn
/dev/sdc4       208801          208801          0                5      Extended        EXT             ebr.mbn
/dev/sdc5       212992          213991          500             47      Unknown         RPM             rpm.mbn
/dev/sdc6       221184          225279          2048            45      Unknown         SBL3            sbl3.mbn
/dev/sdc7       229376          234375          2500            4c      Unknown         ABOOT           aboot.mbn
/dev/sdc8       237568          258047          10240           48      Unknown         BOOT            boot.img
/dev/sdc9       262144          263143          500             46      Unknown         TZ              tz.mbn
/dev/sdc10      270336          271335          500             5d      Unknown         SSD
/dev/sdc11      278528          279527          500             91      Unknown         PIT             Shv-e160l.pit
/dev/sdc12      286720          307199          10240           93      Amoeba          PARAM           param.lfs
/dev/sdc13      311296          511999          100352           c      W95 FAT32(LBA)  MODEM           amms.bin
/dev/sdc14      516096          522239          3072            4a      Unknown         MSM_ST1         efs.img
/dev/sdc15      524288          530431          3072            4b      Unknown         MSM_ST2
/dev/sdc16      532480          538623          3072            58      Unknown         MSM_FSG
/dev/sdc17      540672          741375          100352          8f      Unknown         MDM             mdm.bin
/dev/sdc18      745472          751615          3072            59      Unknown         M9K_EFS1        efsclear1.bin
/dev/sdc19      753664          759807          3072            5a      Unknown         M9K_EFS2        efsclear2.bin
/dev/sdc20      761856          767999          3072            5b      Unknown         M9K_FSG
/dev/sdc21      770048          790527          10240           ab      Darwin boot     DEVENC          enc.img.ext4
/dev/sdc22      794624          815103          10240           60      Unknown         RECOVERY        recovery.img
/dev/sdc23      819200          839679          10240           94      Amoeba BBT      FOTA
/dev/sdc24      843776          3911679         1533952         a5      FreeBSD         SYSTEM          system.img.ext4
/dev/sdc25      3915776         8114175         2099200         a6      OpenBSD         USERDATA        userdata.img.ext4
/dev/sdc26      8118272         8736767         309248          a8      Darwin UFS      CACHE           cache.img.ext4
/dev/sdc27      8740864         9005055         132096          a9      NetBSD          TOMBSTONES      tomb.img.ext4
/dev/sdc28      9011200         10035199        512000          95      Unknown         HIDDEN          hidden.img.ext4
/dev/sdc29      10035200        30777343        10371072        90      Unknown         UMS             ums.rfs
Note: This table has not yet been fully verified.
The Following 2 Users Say Thank You to E:V:A For This Useful Post: [ Click to Expand ]
 
E:V:A
Old
(Last edited by E:V:A; 13th November 2012 at 04:21 PM.)
#8  
E:V:A's Avatar
Recognized Developer - OP
Thanks Meter 1,797
Posts: 1,347
Join Date: Dec 2011
Location: -∇ϕ
HTC One X LTE (US AT&T, Verizon, et.al.)

Most of the following is based on the information given by "Its Reh" in this post.

Code:
General Device Name:            HTC One X LTE (US) [aka "HOXL"]
Manufacturer Product Name:      HTC One X LTE
Processor:                      Qualcomm Snapdragon 4S+ (MSM8960)
AOS version:                    ICS 4.0.4 ?
Radio FW version:               <na>
System FW version:              <na>
Radio Service:                  CDMA/LTE ?
Network / Carrier:              AT&T, Verizon, + others 
Country:                        US

Similar Device:                 unknown, possibly HTC One S (US)
But much information have been collected from many other sources, as well. Why all this difficulty?

Because of the many OEM custom modifications of the filesystems used in the
HTC devices, many of the standard partition commands fails to provide complete
and correct information. Thus a combination of the various command output in
addition to other external info, can help us construct a more complete picture
of the (US) HOXL partition table.

It is very important to know that the US HTC One X LTE (HOXL) is very
different
from the Chinese HTC One X and the One XL, in the common idiotic
spirit of HTC using the same name for completely different hardware. (There
are probably even more devices in other countries.)

Since the US HOXL is using an older version of the bootloader build-tool we
get the most reliable partition information from the fdisk command. We can
draw this conclusion, based on three observations. (1) Because fdisk complain
that the first 4 (primary) partitions "doesn't end on a cylinder boundary", is
a typical indication of using sparse disk images for partitions p1-4, and the
fact that (2) this partition scheme is still suffering from the HTC
partitioning-loop bug. Which mean you can ignore all partitions >36. Finally
(3), they seem to use it to format a native GPT based (?) eMMC device, using
an MBR-like structure and related tools. This causes gdisk to fail recognizing
the MBR style FS-types and erroneously marks them as a "Linux filesystem"
(8300).

We can also use some of the fastboot commands to show the nature of the eMMC
primary partitions. The command format from (windows) CMD prompt is:

fastboot oem <command>

Code:
Command                 Description
-----------------------------------
list_partition_emmc     --> List the primary eMMC partitions (index, type, start, num)
check_emmc_mid          --> Check eMMC Manufacterer ID
get_wp_info_emmc        --> Show eMMC write protection group size (in blocks?)
get_sector_info_emmc    --> Show available eMMC Sectors (free or start?)
For example, for our device we have:
Code:

C:\adb>fastboot oem get_wp_info_emmc

INFO eMMC write protection group size = 65536 

C:\adb>fastboot oem list_partition_emmc 
---------------------------------------------------------
(bootloader) index,     type,   start,  num
---------------------------------------------------------
(bootloader) 0,         4D,     1,      100
(bootloader) 1,         51,     101,    200
(bootloader) 2,         5D,     301,    3FCDE
(bootloader) 3,         5,      3FFDF,  1CDF020
---------------------------------------------------------
The partition table:
Code:
# busybox fdisk -l dev/block/mmcblk0
[output slightly edited, nothing removed]

-------------------------------------------------------------------------------
Warning: deleting partitions after 60

Disk dev/block/mmcblk0: 15.6 GB, 15634268160 bytes
1 heads, 16 sectors/track, 1908480 cylinders
Units = cylinders of 16 * 512 = 8192 bytes

p#  Boot    Start         End      Blocks       Id System       QCname          Image
--------------------------------------------------------------------------------------                  
1   * E!        1          17         128       4d Unknown      SBL1            sbl1-x.img
2     E!       17          49         256       51 Unknown      SBL2            sbl2.img
3     E!       49       16382      130671       5d Unknown      
4     E!    16382     1908480    15136784        5 Extended     EXT             --
5           16383       16384          16       5a Unknown      
6           16385       16417         256       73 Unknown      
7           16417       18364       15577+      5b Unknown      
8           18364       18396         256       5c Unknown      
9           18396       18524        1024       45 Unknown      SBL3            sbl3.img
10          18524       18556         256       47 Unknown      
11          18556       18812        2048       46 Unknown      TZ              tz.img
12          18812       18940        1024       4c Unknown      HBOOT           hboot_8960_X_Y_Z.img
13          18940       18944          32        0 Empty
14          18944       19712        6144       34 Unknown      SPLASH          splash1.nb0
15          19712       19840        1024       36 Unknown
16          19840       19968        1024        0 Empty                        "dsps"
17          19968       25728       46080       77 Unknown                      radio.img
18          25729       27008       10240       7a Unknown                      adsp.img
19          27009       27649        5120        0 Empty                        wcnss.img
20          27649       28672        8190+      74 Unknown                      "radio_config"
21          28673       30720       16384       48 Unknown                      "boot"
22          30721       32768       16383+      71 Unknown                      recovery_signed.img
23          32769       32896        1022+      76 Unknown                      "misc"
24          32896       33408        4096       4a Unknown      MODEMST1        "modem_st1"
25          33409       33920        4096       4b Unknown      MODEMST2        "modem_st2"
26          33921       36481       20480       19 Unknown                      "devlog"
27          36481       36481           4        0 Empty
28          36481       36513         256       23 Unknown                      "pdata"
29          36513       36515          16        0 Empty
30          36515       36675        1280+       0 Empty                        "local"
31          36675       36683          64        0 Empty                        "extra"
32          36684       49152       99752        0 Empty
33          49153      262144     1703935       83 Linux        SYSTEM          "system"
34         262145      294912      262143+      83 Linux        CACHE           "cache"
35         294913      606208     2490367+      83 Linux                        "userdata"
36         606209     1908480    10418176        c FAT32(LBA)                   "fat"
...
-------------------------------------------------------------------------------
Where: 
"p#" = dev/block/mmcblk0p#
"E!" = Partition X does not end on cylinder boundary.
"X"  = HBOOT version
"Y"  = HBOOT date
"Z"  = HBOOT "signed" + build
-------------------------------------------------------------------------------
This is still to be verified and considered WIP...
The Following 2 Users Say Thank You to E:V:A For This Useful Post: [ Click to Expand ]
 
E:V:A
Old
(Last edited by E:V:A; 13th November 2012 at 04:59 PM.)
#9  
E:V:A's Avatar
Recognized Developer - OP
Thanks Meter 1,797
Posts: 1,347
Join Date: Dec 2011
Location: -∇ϕ
Samsung LED TV ES-5700 (5/6 Series) (EU)

Partition tables are not only reserved to PCs and Smartphones,
here's a great example of a modern TV set, that runs on an ARM
processor and a Samsung modified Linux based OS, called VDLinux.
Most of these devices also run applications that can be downloaded,
and hacked...

Code:
Model:                  UE40ES5700SXXH
Panel Code:             BN41-01812A
Panel Type:             40A6AF0E

SW:                     T-MST10PDEUC-1027.1
Hub FW:                 T-INFOLINK2012-1008

Processor:              MStar X10P, 900 MHz (ARM core)
Linux base:             2.6.35.11
VDLinux Kernel:         0064
VDLinux Patch:          0716
Code branch:            DEU_BRANCH
The partition table layout is auto generated in the partition.txt file
(accompanied in the Firmware update image.)

Here is an edited (for readability) version:
Code:

pID     device_name     size            image_name      type    upgrade partition_map   mount_path      block_size
------------------------------------------------------------------------------------------------------------------
0       /dev/mmcblk0p0  524288          onboot.bin      MLC     NONE    BOOTLOADER0     --              1048576
1       /dev/mmcblk0p1  524288          u-boot.bin      MLC     NONE    BOOTLOADER1     --              1048576
2       /dev/mmcblk0p2  6291456         uImage          MLC     USER    KERNEL0         --              1048576
3       /dev/mmcblk0p3  4718592         rootfs.img      MLC     USER    RFS0            --              1048576
4       /dev/mmcblk0p4  0               ex_partition    MLC     NONE    --              --              1048576
5       /dev/mmcblk0p5  6291456         uImage          MLC     USER    KERNEL1         --              1048576
6       /dev/mmcblk0p6  4718592         rootfs.img      MLC     USER    RFS1            --              1048576
7       /dev/mmcblk0p7  8192            sign0.bin       MLC     NONE    SECUREMAC0      --              1048576
8       /dev/mmcblk0p8  8192            sign1.bin       MLC     NONE    SECUREMAC1      --              1048576
9       /dev/mmcblk0p9  8192            VD-HEADER       MLC     NONE    --              --              1048576
10      /dev/mmcblk0p10 3145728         --              MLC     NONE    --              mtd_drmregion_a 1048576
11      /dev/mmcblk0p11 3145728         --              MLC     NONE    --              mtd_drmregion_b 1048576
12      /dev/mmcblk0p12 73400320        --              MLC     NONE    --              mtd_rwarea      1048576
13      /dev/mmcblk0p13 125829120       exe.img         MLC     USER    EXE0            mtd_exe         1048576
14      /dev/mmcblk0p14 125829120       exe.img         MLC     USER    EXE1            mtd_exe         1048576
15      /dev/mmcblk0p15 83886080        appext.img      MLC     USER    APP_DATA0       mtd_appext      1048576
16      /dev/mmcblk0p16 83886080        appext.img      MLC     USER    APP_DATA1       mtd_appext      1048576
17      /dev/mmcblk0p17 262144000       rocommon.img    MLC     OTHER   CONTENT0        mtd_rocommon    1048576
18      /dev/mmcblk0p18 104857600       emanual.img     MLC     OTHER   CONTENT1        mtd_emanual     1048576
19      /dev/mmcblk0p19 52428800        --              MLC     NONE    --              mtd_contents    1048576
20      /dev/mmcblk0p20 10485760        --              MLC     NONE    --              mtd_swu         1048576
21      /dev/mmcblk0p21 1049075712      rwcommon.img    MLC     NONE    --              mtd_rwcommon    1048576
------------------------------------------------------------------------------------------------------------------
To print partitions using debug service interface:
Code:
[TOP Debug Menu]       
-->  (2) "Platform Print Setting"       -->  [Platform Debug List]  
-->  (1) "Basic Platform"               -->  [BP Debug Module]  
-->  (92) "System Debug"                -->  [System Debug Menu]  
-->  (4) "Check Total File System" 
Then you'll get this:
Code:
-------------------------------------------------------------------             
File system            Type  Total   Used  Avail    Use% Mounted on             
-------------------------------------------------------------------             
rootfs               rootfs  4208K  4208K     0K 100.00% /                      
/dev/root          squashfs  4208K  4208K     0K 100.00% /                      
proc                   proc     0K     0K     0K   0.00% /proc                  
sysfs                 sysfs     0K     0K     0K   0.00% /sys                   
tmpfs                 tmpfs   248M     8K   248M   0.00% /dev/shm               
tmpfs                 tmpfs 40960K    12K 40948K   0.03% /dtv                   
tmpfs                 tmpfs 36864K     8K 36856K   0.02% /tmp                   
tmpfs                 tmpfs 12288K     0K 12288K   0.00% /dsm                   
tmpfs                 tmpfs 30720K     0K 30720K   0.00% /core                  
/dev/mmcblk0p13    squashfs 96256K 96256K     0K 100.00% /mtd_exe               
none                 cgroup     0K     0K     0K   0.00% /sys/fs/cgroup         
/dev/mmcblk0p12         rfs 70824K  4548K 66276K   6.42% /mtd_rwarea            
/dev/mmcblk0p10         rfs  2872K   170K  2702K   5.92% /mtd_drmregion_a       
/dev/mmcblk0p11         rfs  2872K   170K  2702K   5.92% /mtd_drmregion_b       
/dev/mmcblk0p15    squashfs 45568K 45568K     0K 100.00% /mtd_appext            
/dev/mmcblk0p17    squashfs   110M   110M     0K 100.00% /mtd_rocommon          
/dev/mmcblk0p19         rfs 49992K    32K 49960K   0.06% /mtd_contents          
/dev/mmcblk0p21         rfs   927M   313M   614M  33.80% /mtd_rwcommon          
/dev/mmcblk0p18         rfs    98M 84096K 17024K  83.16% /mtd_emanual           
/dev/mmcblk0p20         rfs  9896K     4K  9892K   0.04% /mtd_swu               
none                  usbfs     0K     0K     0K   0.00% /proc/bus/usb          
-------------------------------------------------------------------             
Unit : B=1024^0, K=1024^1, M=1024^2, G=1024^3, T=1024^4                         
[See SamyGo for all the juicy details of how to hack your Samsung TV!]
 
E:V:A
Old
#10  
E:V:A's Avatar
Recognized Developer - OP
Thanks Meter 1,797
Posts: 1,347
Join Date: Dec 2011
Location: -∇ϕ
Samsung Galaxy Camera (EK-GC100)

Preliminary partition table from this post.
Code:

p#      ID      Att     FOTA    Size    Count   Name            Filename
-------------------------------------------------------------------------------
#0      80      2       1       0       1734    BOOTLOADER      sboot.bin
#1      81      5       1       1734    312     TZSW            tz.img
#2      70      5       1       34      16      PIT             camera.pit
#3      71      5       1       50      2048    MD5HDR          md5.img
#4      1       5       1       8192    8192    BOTA0           -
#5      2       5       1       16384   8192    BOTA1           -
#6      3       5       5       24576   40960   EFS             efs.img
#7      4       5       1       65536   16384   PARAM           param.bin
#8      5       5       1       81920   16384   BOOT            boot.img
#9      6       5       1       98304   16384   RECOVERY        recovery.img
#10     7       5       1       114688  65536   RADIO           modem.bin
#11     8       5       5       180224  2097152 CACHE           cache.img
#12     9       5       5       2277376 3145728 SYSTEM          system.img
#13     10      5       5       5423104 737280  HIDDEN          hidden.img
#14     11      5       1       6160384 16384   OTA             -
#15     12      5       5       6176768 409600  TDATA           -
#16     13      5       5       6586368 0       USERDATA        userdata.img
-------------------------------------------------------------------------------
ID:     partition identifier
Att:    "2" = STL Read-Only, "5" = Read/Write
FOTA:   Update (1 = ??, 5 = ??)
Size:   Block size ?
Count:  Block Count ?
Name:   Samsung partition name
-------------------------------------------------------------------------------
The p# is not necessarily that found on your device. This is preliminary info, not verified or checked.

The Following 3 Users Say Thank You to E:V:A For This Useful Post: [ Click to Expand ]
Tags
emmc, gpt, mbr, partition, sd card
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes