Extracing super.img (super2.img issue) and mounting vendor.img - Huawei Mate 40 Pro Questions & Answers

Hi there,
I am facing an issue,
I am trying to extract binary from vendor.img (UPDATE.app/super2.img/simg2img/vendor.img), however it seems that when I mount vendor.img (erofs) it is not full (lib64 is missing).
splituapp extract duplicate of super.img (named super.img and super2.img) it seems that super2.img is extracted sucessfully using lpunpack to vendor.img and some of vendor.img is in super.img which cannot be extracted using lpunpack (no magic).
It is recurring to me with the newest firmwares for multiple devices.
Let's take super.img from as a testcase (NOH-N29 11.0.0.167(C185E9R5P1)_Firmware_EMUI11.0.0_05017BYV)
I am able to use lpunpack on super_2.img but `vendor.img` is all nulls and super.img cannot be extracted:
Lpunpack on Update.app/super.img/simg2img/:
lpunpack E 05-20 15:02:15 46076 46076 reader.cpp:81] [liblp]Logical partition metadata has invalid geometry magic signature.
lpunpack E 05-20 15:02:15 46076 46076 reader.cpp:81] [liblp]Logical partition metadata has invalid geometry magic signature.
Image does not appear to be in super-partition format.
I had an idea that maybe due to the big size of super.img it is splitted to two different parts (super and super2) and I need to concat both of them somehow.
any assistance will be apperiacted

I am working on the same issue, and the following is pure guessing.
My conclusion is: super_2 is to be laid over super.img. This is due to my observation that no blocks overlap. That is to say, if you flash super.img and then super_2.img, the content is a combined, working super.img.
I am right going to verify this and will post a subsequent update.

Solved! My guess was correct.
First, read https://2net.co.uk/tutorial/android-sparse-image-format and download simg_dump.py at https://github.com/aosp-mirror/platform_system_core/blob/master/libsparse/simg_dump.py.
Step 1. Dump the two simgs, and take note of any continuous ranges.
Step 2. Convert both images to raw.
Step 3. For each continuous range, do a block copy to create a merged file.
Example:
Step 1.
```
$ ./simg_dump.py -v super.img
super.img: Total of 1316864 4096-byte output blocks in 192 input chunks.
input_bytes output_blocks
chunk offset number offset number
1 40 4 0 1 Fill with 0x00000000
2 56 139264 1 34 Raw data
3 139332 0 35 477 Don't care
4 139344 268435456 512 65536 Raw data
... (unimportant, but continuous)
190 3996191328 4 1142250 21 Fill with 0x00000000
191 3996191344 4096 1142271 1 Raw data
192 3996195452 0 1142272 174592 Don't care
3996195452 1316864 End
$ ./simg_dump.py -v super_2.img
super_2.img: Total of 1316864 4096-byte output blocks in 12 input chunks.
input_bytes output_blocks
chunk offset number offset number
1 40 0 0 1154560 Don't care
2 52 268435456 1154560 65536 Raw data
3 268435520 131432448 1220096 32088 Raw data
4 399867980 4 1252184 22792 Fill with 0x00000000
5 399867996 7827456 1274976 1911 Raw data
6 407695464 4 1276887 40 Fill with 0x00000000
7 407695480 4096 1276927 1 Raw data
8 407699588 135278592 1276928 33027 Raw data
9 542978192 4 1309955 6258 Fill with 0x00000000
10 542978208 2564096 1316213 626 Raw data
11 545542316 4 1316839 24 Fill with 0x00000000
12 545542332 4096 1316863 1 Raw data
545546428 1316864 End
```
Notice that in super.img, the continuous range ends at 191, block number 1142271 inclusive. The next item then says Don't care. In super_2, the first real item is chunk 2, corresponding to block number 1154560 onward. 1154560 is greater than 1142271. super_2 has the real end.
Your super.img layout may not be the same as mine because super does not guarantee the order of partitions.
Step 2. Convert both.
Step 3.
`dd if=super_2.raw.img of=super.raw.img bs=4K skip=1154560 seek=1154560`
Do this for each continuous range, utilizing bs, skip, seek, and count parameters.

Related

Boot.img - Codes

OK, so I have been at this for a while now, trying to figure out how to pull boot.img. We need this in order to get a custom recovery image made.
The problem is that most of the help that's out there refers to doing a dump based on identifying the proper /proc/MTD. It's never that simple though. This phone doesn't have it (and we don't have a map of where to go from here).
Here is the partition info:
Code:
major minor #blocks name
7 0 13545 loop0
7 1 202829 loop1
7 2 31217 loop2
7 3 18743 loop3
7 4 13545 loop4
179 0 15679488 mmcblk0
179 1 2048 mmcblk0p1
179 2 2048 mmcblk0p2
179 3 7168 mmcblk0p3
179 4 1 mmcblk0p4
179 5 28672 mmcblk0p5
179 6 204800 mmcblk0p6
179 7 4096 mmcblk0p7
179 8 24576 mmcblk0p8
179 9 8192 mmcblk0p9
179 10 4096 mmcblk0p10
179 11 4096 mmcblk0p11
179 12 1024000 mmcblk0p12
179 13 1572864 mmcblk0p13
179 14 12288 mmcblk0p14
179 15 12599296 mmcblk0p15
179 16 15622144 mmcblk1
179 17 15621120 mmcblk1p1
254 0 13545 dm-0
254 1 202828 dm-1
254 2 31216 dm-2
254 3 18742 dm-3
254 4 13545 dm-4
Can anyone with a few more years on me in this racket give me a heads up on this? Perhaps a mapping for us to get started? Yeah, I know I'm totally wet behind the ears, but someone has to get this thing rolling. Hopefully that doesn't mean I'll be the first to brick my phone (had a close call tonight).
See what's mounted by typing "mount" first. It'll show you what mmcblk0pX maps to what (mounted, that is).
thecubed said:
See what's mounted by typing "mount" first. It'll show you what mmcblk0pX maps to what (mounted, that is).
Click to expand...
Click to collapse
ok, so here was the output (of what i assume is the relevant part):
Code:
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,relatime,mode=755 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
/dev/block/mmcblk0p12 /system ext3 ro,relatime,data=ordered 0 0
/dev/block/mmcblk0p13 /data ext3 rw,nosuid,nodev,relatime,errors=continue,data=ordered 0 0
/dev/block/mmcblk0p6 /cache ext3 rw,nosuid,nodev,relatime,errors=continue,data=ordered 0 0
/dev/block/mmcblk0p5 /persist ext3 rw,nosuid,nodev,relatime,data=ordered 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/extasec tmpfs rw,relatime,mode=755,gid=1000 0 0
So 12 is system, 13 is data, 6 is cache, and 5 is persist. What I'm not seeing is boot. Am I missing anything here?
To find unnamed partitions, you might want to dump them to your SD card and try mounting the partitions on your PC.
You can copy a partition to a file on your SD card by using "dd if=/dev/block/mmcblk0pX of=/sdcard/mmcblk0pX.img bs=1024"
Then on your desktop, you can try running fdisk to see what the partition type is and issue a "mkdir /mnt/test" then "mount -o loop -t <type of partition from fdisk> /path/to/mmcblk0pX.img /mnt/test".
From there, you should be able to investigate what's in those partitions by poking around in /mnt/test on your desktop. Once you're done, "umount /mnt/test" to close the image file.
Referring to your list of partitions and sizes, partitions of 2048 blocks or less are probably not worth your time investigating, however I may be wrong.
Also, quick tip: mmcblk0 (with no pX) is the entire onboard storage as one unit. Don't bother dumping that to your SD card, since it contains all partitions, but will be a really big file and a big mess to figure out the partitions and mount it.
Good luck!
Outstanding, and THANKS A MILLION for the help. I've been banging my head against the wall here...
I should probably hit the sack, but I had started pulling those already, so I've got a head start.
Okay, good luck! I don't have this device, but a friend is getting one here soon (not sure how soon though) so I'm interested in getting CWM ported and some groundwork laid for CM7/etc on it.
Whenever you get time, I'm interested in seeing what you find the partitions are...
Thanks!
Went ahead and put a little more time into it...
used your method for dumping each individual partition.
A listing with file sizes:
Code:
2048 mmcblk0p1 4096 mmcblk0p11 2048 mmcblk0p2 4 mmcblk0p4 24576 mmcblk0p8
4096 mmcblk0p10 12288 mmcblk0p14 7168 mmcblk0p3 4096 mmcblk0p7 8192 mmcblk0p9
My common fdisk result (for all files) is:
Code:
fdisk -l mmcblk0p11
Disk mmcblk0p11: 0 MB, 0 bytes
255 heads, 63 sectors/track, 0 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xf6908d66
Disk mmcblk0p11 doesn't contain a valid partition table
Maybe I need to look at this again when I'm a little less tired, but this is the result of every image file.
P11 looks to be just a placeholder partition. Try p3, p8, p9, and p14.
Usually /boot is a lower number partition...
If you could upload the dumps of those partitions somewhere, I may be able to tell you which is which. (PM the link, don't post public- I'm not sure how XDA would feel about that).
This shouldn't be too hard to identify which is which. If you're well versed in hex editing, you could run those images through a hex dumper and check the file's magic numbers. I'm not too familiar with this device, but I'd say it can't be much different than the HTC boot.img format. Grab a boot.img from somewhere and see if the first couple of bytes match up on the dumps you've got.
From there, that should give you a clue with which is which. I'm betting you'll find which is the kernel by just doing a "strings" on the dumps and looking for things like "kernel" or "linux".
Good luck!
EDIT: after doing some reading, looks like some of the partitions are the fastboot type. Fastboot images = kernel + ramdisk. And, at least one of those partitions will be the Qualcomm AMSS partition for the radio chipset. Do a "strings <filename> | grep -i qualcomm" (or replace qualcomm with things like 'amss' or 'radio') to find which is which.
QualComm didn't turn up anything, so I changed the search to "comm." I don't have much time to look at this, but here's a quick dump:
mmcblk0p1 = radio?
Code:
mmcblk0p1 | grep -i comm
Device Transfer: Failed to queue the transfer command
DMOV Issue Cmd: Command issued
DMOV Request not Valid: Command list not on 64-bit boundary
DMOV Request not Valid: Invalid number of commands
DMOV Get Chan %d Error: Command error occured
DMOV Get Chan %d Error: Command-phase bus error occured
DMOV Stop Handler: cannot stop channel %d, commands pending
DMOV Stop Handler: cannot stop channel %d, issuing commands
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_auth_if.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/target/msm7x30/src/boot_pbl_accessor.c
DMOV Request not Valid: Boot and Tools should allocate their own command list memory
mmcblk0p2 = boot?
Code:
strings mmcblk0p2 | grep -i comm
QC_SMEM_PROC_COMM_CQ
ip_uint32 idev_comm_open( void )
dt_uint32 dt_CommOpen( void )
void idev_comm_close(ip_uint32 h)
void dt_CommClose(dt_uint32 h)
ip_commStatus_e idev_comm_queryCloseStatus(ip_uint32 h)
ip_commStatus_e idev_comm_queryConnectStatus(ip_uint32 h)
dt_CommStatus dt_QueryConnectStatus(dt_uint32 h)
const ip_int16 idev_comm_secureInitContext( void )
const dt_int16 dt_CommSecureInitContext( void )
void idev_comm_secureDeleteContext( void )
void dt_CommSecureDeleteContext( void )
EP0 command reply was not sent correctly %d [%d:%d]
Device Transfer: Failed to queue the transfer command
[AUE] update common code block (size):
[AUE] update common code block do_a_swap_ccb(size):
[AUE] Error: get common code block range
[AUE] Error: get common function block range
DMOV Issue Cmd: Command issued
DMOV Request not Valid: Command list not on 64-bit boundary
DMOV Request not Valid: Invalid number of commands
DMOV Get Chan %d Error: Command error occured
DMOV Get Chan %d Error: Command-phase bus error occured
DMOV Stop Handler: cannot stop channel %d, commands pending
DMOV Stop Handler: cannot stop channel %d, issuing commands
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_elf_loader.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_elf_loader_if.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_sec_elf_loader.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_sec_elf_loader_if.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_clobber_prot.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_clobber_prot_local.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_flash_trans_nand.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_flash_trans_nor.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_flash_trans_sdcc.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_flash_dev_if.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_flash_dev_nor.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_flash_dev_nand.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_flash_dev_nand_if.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_flash_dev_sdcc.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_flash_partition.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_hash_if.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_auth_if.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_dload_if.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/unified_boot.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/osbl_prog_boot_mproc.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/target/msm7x30/src/boot_pbl_accessor.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_flash_dev_nor_if.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_flash_dev_sdcc_if.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_wm_ldr.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_android_ldr.c
void idev_comm_connect(ip_uint32 h, ip_char* addr, ip_uint16 PortNum, ip_int32 TimeOut)
void dt_CommConnect(dt_uint32 h, dt_char* addr, dt_uint16 PortNum, dt_int32 TimeOut)
void idev_comm_send(ip_uint32 h, ip_char* SendBuf, ip_uint32 SendLen, ip_int32 TimeOut)
void dt_CommSend(dt_uint32 h, dt_char* SendBuf, dt_uint32 SendLen, dt_int32 TimeOut)
ip_commStatus_e idev_comm_querySendStatus(ip_uint32 h, ip_uint32* SentLen)
dt_CommStatus dt_QuerySendStatus(dt_uint32 h, dt_uint32* SentLen)
void idev_comm_recv(ip_uint32 h, ip_char* RecvBuf, ip_uint32 RecvLen, ip_int32 Timeout)
void dt_CommRecv(dt_uint32 h, dt_char* RecvBuf, dt_uint32 RecvLen, dt_int32 Timeout)
ip_commStatus_e idev_comm_queryRecvStatus(ip_uint32 h, ip_uint32* RecvLen)
dt_CommStatus dt_QueryRecvStatus(dt_uint32 h, dt_uint32* RecvLen)
const ip_int16 idev_comm_setSecureInfo( ip_int32 protocolID, ip_uint32 cipherSuites[], ip_int32 cipherSuitesSize, ip_char certificate[], ip_int32 certificateSize)
const dt_int16 dt_CommSetSecureInfo( dt_int32 protocolID, dt_uint32 cipherSuites[], dt_int32 cipherSuitesSize, dt_char certificate[], dt_int32 certificateSize)
ip_commStatus_e idev_httpTerminateAsync( ip_httpInterface_s *httpInterface )
CH9: Received vendor specific command for device, but no handlers registered
CH9: Received reserved command for device, but no handlers registered
[AUE] Info: no common code block, this is not ARM region, do zipping instead
Info: no common func block, this is not ARM region, do zipping instead
DMOV Request not Valid: Boot and Tools should allocate their own command list memory
cdc_handle_encapsulated_command
encapsulated_command_complete
hfat_common.c
EP0 command reply was not sent correctly %d [%d:%d]
CH9: Received vendor specific command for device, but no handlers registered
CH9: Received reserved command for device, but no handlers registered
The others returned nothing.
Just for shoots and giggles
I expanded the search for the word boot on 02, and here is what it revealed:
Code:
strings mmcblk0p2 | grep -i boot
/sys_boot/keystore/key.str
/sys_boot/keystore/store.pt
sys_boot
; Time Stamp unavailable from boot loader.
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/osbl/shared/src/osbl_mc.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/osbl/shared/src/osbl_flash.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/osbl/shared/src/osbl_flash_dev_nand.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/osbl/shared/src/osbl_flash_dev_nand_mproc.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/osbl/shared/src/osbl_loader.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/osbl/shared/src/osbl_error_handler.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/osbl/shared/src/osbl_aarm_boot.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/osbl/shared/src/osbl_hash.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/osbl/target/msm7x30/src/osbl_hw_init.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/osbl/target/msm7x30/src/osbl_mc_target.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/osbl/target/msm7x30/src/osbl_flash_target.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/osbl/target/msm7x30/src/osbl_setup_mpu_dal.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/osbl/target/msm7x30/src/osbl_target.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/osbl/target/msm7x30/src/osbl_adsp_boot.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/osbl/target/msm7x30/src/osbl_load_ramfs.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/osbl/target/msm7x30/src/osbl_sd_img_update.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_elf_loader.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_elf_loader_if.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_sec_elf_loader.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_sec_elf_loader_if.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_clobber_prot.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_clobber_prot_local.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_flash_trans_nand.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_flash_trans_nor.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_flash_trans_sdcc.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_flash_dev_if.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_flash_dev_nor.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_flash_dev_nand.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_flash_dev_nand_if.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_flash_dev_sdcc.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_flash_partition.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_hash_if.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_auth_if.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_dload_if.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/unified_boot.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/osbl_prog_boot_mproc.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/target/msm7x30/src/boot_pbl_accessor.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_flash_dev_nor_if.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_flash_dev_sdcc_if.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_wm_ldr.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_android_ldr.c
DMOV Request not Valid: Boot and Tools should allocate their own command list memory
boothw_target.c
sys_boot
smem_boot_init: version %x does not match all procs!
boot_elf_loader
boot_elf_loader_factory
boot_sec_elf_loader
boot_sec_elf_loader_factory
boot_flash_trans_nand
boot_flash_trans_nand_factory
boot_flash_trans_nor
boot_flash_trans_nor_factory
boot_flash_trans_sdcc
boot_flash_trans_sdcc_factory
boot_flash_dev_nor
boot_flash_dev_nand
boot_flash_dev_sdcc
clkrgm_mpss_boot.c
/mmc1/IMAGE/APPSBOOT.MBN
/mmc1/IMAGE/BOOT.IMG
/mmc1/IMAGE/EMMCBOOT.MBN
EMMCBOOT.MBN
BOOT.IMG
/sys_boot/IMAGE/
/sys_boot/IMAGE2/
/sys_boot/IMAGE3/
bootsymmetrickey
E/boot/qcsbl
F/boot/oemsbl
F/boot/osbl
G/boot/appsbl
H/boot/apps
I/boot/modem
J/boot/modem_fs1
K/boot/modem_fs2
L/boot/fota
M/boot/qcsbl_cfg
P/boot/adsp
01, same search:
Code:
trings mmcblk0p1 | grep -i boot
sys_boot
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/shared/src/dbl_mc.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/shared/src/dbl_error_handler.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/shared/src/dbl_flash.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/shared/src/dbl_configure.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/shared/src/dbl_partition.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/shared/src/dbl_loader.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/shared/src/dbl_auth.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/shared/src/dbl_target_accessor.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/shared/src/dbl_parser.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/target/msm7x30/src/dbl_target.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/target/msm7x30/src/dbl_flash_nand.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/target/msm7x30/src/dbl_flash_onenand.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/target/msm7x30/src/dbl_flash_sflashc.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/target/msm7x30/src/dbl_flash_shared.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/target/msm7x30/src/dbl_clk.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/target/msm7x30/src/dbl_clk_settings.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/target/msm7x30/src/dbl_ebi2.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/target/msm7x30/src/dbl_ebi2_nand.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/target/msm7x30/src/dbl_ebi2_onenand.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/target/msm7x30/src/dbl_ebi2_nor.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/target/msm7x30/src/dbl_ddr.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/target/msm7x30/src/dbl_flash_sdcc.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_auth_if.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/target/msm7x30/src/boot_pbl_accessor.c
DMOV Request not Valid: Boot and Tools should allocate their own command list memory
sys_boot
smem_boot_init: version %x does not match all procs!
E/boot/qcsbl
F/boot/oemsbl
F/boot/osbl
G/boot/appsbl
H/boot/apps
I/boot/modem
J/boot/modem_fs1
K/boot/modem_fs2
L/boot/fota
M/boot/qcsbl_cfg
P/boot/adsp
02 - search for "home"
Code:
strings mmcblk0p2 | grep -i home
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/osbl/shared/src/osbl_mc.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/osbl/shared/src/osbl_flash.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/osbl/shared/src/osbl_flash_dev_nand.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/osbl/shared/src/osbl_flash_dev_nand_mproc.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/osbl/shared/src/osbl_loader.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/osbl/shared/src/osbl_error_handler.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/osbl/shared/src/osbl_aarm_boot.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/osbl/shared/src/osbl_hash.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/osbl/target/msm7x30/src/osbl_hw_init.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/osbl/target/msm7x30/src/osbl_mc_target.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/osbl/target/msm7x30/src/osbl_flash_target.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/osbl/target/msm7x30/src/osbl_setup_mpu_dal.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/osbl/target/msm7x30/src/osbl_target.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/osbl/target/msm7x30/src/osbl_adsp_boot.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/osbl/target/msm7x30/src/osbl_load_ramfs.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/osbl/target/msm7x30/src/osbl_sd_img_update.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_elf_loader.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_elf_loader_if.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_sec_elf_loader.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_sec_elf_loader_if.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_clobber_prot.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_clobber_prot_local.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_flash_trans_nand.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_flash_trans_nor.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_flash_trans_sdcc.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_flash_dev_if.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_flash_dev_nor.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_flash_dev_nand.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_flash_dev_nand_if.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_flash_dev_sdcc.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_flash_partition.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_hash_if.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_auth_if.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_dload_if.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/unified_boot.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/osbl_prog_boot_mproc.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/target/msm7x30/src/boot_pbl_accessor.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_flash_dev_nor_if.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_flash_dev_sdcc_if.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_wm_ldr.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_android_ldr.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/wiredconnectivity/hsusb/core/src/jslave/core/jusb_core.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/wiredconnectivity/hsusb/core/src/jslave/dcd/dcd_tdi_4x.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/wiredconnectivity/hsusb/core/src/jos/jos_bus.c
01 search for home
Code:
strings mmcblk0p1 | grep -i home
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/shared/src/dbl_mc.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/shared/src/dbl_error_handler.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/shared/src/dbl_flash.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/shared/src/dbl_configure.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/shared/src/dbl_partition.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/shared/src/dbl_loader.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/shared/src/dbl_auth.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/shared/src/dbl_target_accessor.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/shared/src/dbl_parser.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/target/msm7x30/src/dbl_target.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/target/msm7x30/src/dbl_flash_nand.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/target/msm7x30/src/dbl_flash_onenand.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/target/msm7x30/src/dbl_flash_sflashc.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/target/msm7x30/src/dbl_flash_shared.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/target/msm7x30/src/dbl_clk.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/target/msm7x30/src/dbl_clk_settings.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/target/msm7x30/src/dbl_ebi2.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/target/msm7x30/src/dbl_ebi2_nand.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/target/msm7x30/src/dbl_ebi2_onenand.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/target/msm7x30/src/dbl_ebi2_nor.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/target/msm7x30/src/dbl_ddr.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/dbl/target/msm7x30/src/dbl_flash_sdcc.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/shared/src/boot_auth_if.c
/home/hd.mo/vs910_froyo_ZV4_04/modem/AMSS/products/7x30/core/boot/secboot2/common/target/msm7x30/src/boot_pbl_accessor.c
Remembering that factory reset is the sole function of the boot-loader on this device, I did a search for "factory"
02:
Code:
mmcblk0p2 | grep -i factory
boot_elf_loader_factory
boot_sec_elf_loader_factory
boot_flash_trans_nand_factory
boot_flash_trans_nor_factory
boot_flash_trans_sdcc_factory
01 - no results
I think we have a winner? I'd *almost* place money on 2 being boot, but I need a little insight here.
I should be able to pass you these files tonight. I'm just limited right now as I'm at work and remoting in on a slow connection.
Great work!
A few possible corrections:
Thought #1: From what I've read, AMSS (the radio) has multiple 'nvram partitions' where configuration is stored. The partitions with size 2048 look like those.
My updated guess:
P1 = hardware bootloader (like HBOOT on a HTC device)
P2 = second stage bootloader (references to android and wm_ldr)
The actual AMSS firmware is usually above 10MB in size, so the radio firmware is most likely a larger partition.
Thought #2: /boot is quite possibly a fastboot image. Those are usually compressed, hence you will not find any strings in it. It would be all binary.
If you can, run "hexdump -n 32 <filename>" on each of the dumps, and paste the output here.
With that hexdump information, I can tell you which partitions have the fastboot magic number and which are AMSS configuration partitions or ext3 filesystems.
As a side note, I wonder if this device supports fastboot commands... you could potentially try something like "fastboot reboot recovery" which should be harmless to see. Of course, you'd need Google's fastboot tools on your machine first though. (http://android-dls.com/wiki/index.php?title=Fastboot)
If it turns out that fastboot works, a nondestructive way of testing if the device is signed would be to extract the recovery image and replace it's ramdisk with one containing Clockwork. It may be as simple as "fastboot boot <newimage>" to boot the new image without actually changing anything on the phone.
Anyway, get those hex dumps, then we'll see where that leads...
Great work!
Alright - I'll get on that tonight when I get home (probably about another 2.5 hours from now including dinner).
The other thing that's been rattling around in my head, and I know I shouldn't be jumping this far ahead (nor do I want to derail this thread), is I (and the entire community) need to make some modifications to the android.policy.jar thus completing the migration from Bing on this phone. One string would make all the difference Unfortunately, it is odexed. I'm guessing this has many dependencies, and the best method to go about this would be to pretty much deodex the entire O.S.. Obviously, that's not something I feel comfortable with doing until we are completed with this, but my thought process is on track for what I need to do, right?
I also need to research if it is possible to dump my entire phone as an image as part of an Android AVM, so I don't end up bricking my phone. I had my entire phone lockup and go black last night. About had a heart attack.
Obviously, this takes precedence, but just wanted to throw all that out there while it was fresh in my mind (things get lost quickly - I have twenty browser windows open juggling about a dozen different thought processes).
Hex Dumps
P1:
Code:
0000000 dcd1 844b 1034 73d7 435a 7d0b ffff ffff
0000010 ffff ffff ffff ffff ffff ffff ffff ffff
0000020
P2:
Code:
0000000 000b 0000 0003 0000 0000 0000 0000 0450
0000010 31f8 0013 31f8 0013 31f8 0463 0000 0000
0000020
I'll have to do the fastboot install at home.
majorpay said:
Alright - I'll get on that tonight when I get home (probably about another 2.5 hours from now including dinner).
The other thing that's been rattling around in my head, and I know I shouldn't be jumping this far ahead (nor do I want to derail this thread), is I (and the entire community) need to make some modifications to the android.policy.jar thus completing the migration from Bing on this phone. One string would make all the difference Unfortunately, it is odexed. I'm guessing this has many dependencies, and the best method to go about this would be to pretty much deodex the entire O.S.. Obviously, that's not something I feel comfortable with doing until we are completed with this, but my thought process is on track for what I need to do, right?
I also need to research if it is possible to dump my entire phone as an image as part of an Android AVM, so I don't end up bricking my phone. I had my entire phone lockup and go black last night. About had a heart attack.
Obviously, this takes precedence, but just wanted to throw all that out there while it was fresh in my mind (things get lost quickly - I have twenty browser windows open juggling about a dozen different thought processes).
Click to expand...
Click to collapse
I believe I saw that it has been deodexed on stetsonaw's Twitter page. You may want to get in touch with him
Yeah, I saw he had claimed that over on androidforums. I should start checking that area more often. I put a post out to feel it out and see if he might be willing to throw it my way I think ultimately he is waiting patiently in the wings waiting for us to get done with this so he can release the ROM he is working on.
Just wanted to say keep up the good work. I plan to look into this more when I get home but sounds like you are definitely on the right track. Excited to see more progress soon.
I just got into the scene as this is my first droid phone but I have been reading up as quickly as possible to contribute to making roms.
OK, so I am back in the saddle.
I have run a ./fastboot reboot, and as expected, no response. (says waiting for device) I believe I still need to modify my hosts.
I expect you've seen my hex dumps. Any thoughts?
Edit: Phone went into "Download is in progress. Do not disconnect cable."
Real? I don't know, but this is hindering me from moving forward.
majorpay said:
P1:
Code:
0000000 dcd1 844b 1034 73d7 435a 7d0b ffff ffff
0000010 ffff ffff ffff ffff ffff ffff ffff ffff
0000020
P2:
Code:
0000000 000b 0000 0003 0000 0000 0000 0000 0450
0000010 31f8 0013 31f8 0013 31f8 0463 0000 0000
0000020
I'll have to do the fastboot install at home.
Click to expand...
Click to collapse
Great- now I just need hexdumps of the other partitions I listed: P3, P8, P9, and P14.
P1 and P2 are of little interest to us, we're looking for the one containing recovery and the main kernel+ramdisk.
As soon as we identify which is the recovery partition, we'll be super close to finding whether recovery is signed and one step closer to porting CWM.
PS: Fastboot reboot may have put your phone in download mode. If you're stuck in it, just try using "fastboot reboot recovery", then from there you should be able to select "reboot" and end up in Android again...
p3
Code:
0000000 ffff ffff ffff ffff ffff ffff ffff ffff
*
0000020
p8
Code:
0000000 0000 0000 0000 0000 0000 0000 0000 0000
*
0000020
p9
Code:
0000000 4e41 5244 494f 2144 66ac 0038 8000 0020
0000010 fb21 002f 0000 0120 0000 0000 0000 0110
0000020
p14
Code:
0000000 4e41 5244 494f 2144 66ac 0038 8000 0020
0000010 8cd9 0033 0000 0120 0000 0000 0000 0110
0000020
And ./fastboot devices consistently shows nothing. I added the device per Ubuntu guide, and restarted udev, but still nada.
Edit... I missed something on fastboot (I added the wrong device). I'll go back and recheck.
Edit 2: Still no luck.
As an update, it appears that holding the power button with the volume button up puts the device into what looks like a fastboot state (only when plugged into usb).
Edit: Maybe this is just a recovery mode / Emergency mode.
It is designated by a sign that reads: "Download is in progress. Do not disconnect cable."
According to my usb device information, it shows up as a LGE USB CDMA Modem.
Code:
lsusb
Bus 001 Device 025: ID 1004:6200 LG Electronics, Inc.
51-android.rules
Code:
SUBSYSTEM=="usb", SYSFS{idVendor}=="1004", MODE="0666", OWNER="<my username>"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1004",ATTR{idProduct}=="6200", OWNER="<my username>"
"./fastboot devices" shows nothing

[HW][OT] E:V:A's Discussion Thread

This is my own completely Off Topic Discussion thread.
A place where I will bring HW related discussions, that do not fit into
specific threads or discussions.
Please, do not post here with general questions or other junk that I have not initiated myself.
Also do not ask where to find files/programs mentioned in this thread, because if I have not linked to them, I don't know!
They will be removed. (Thanks for understanding.)
See you.
<< Better reserve for more dragons >>
Didn't see that anyone mentioned it and I'm not sure if the S4 modems are as well, but the initial container that the modems are in on the HTC used S3 chips is a fat16 format. I saw that with a simple hex editor showed it and I was able to see the modem file structure as well. I'll snag a few S4 modems later today and take a look. Couldn't unpack and repackaged though, which is probably the EFS formatting with it.
Off topic goes in off topic
Sorry it took so long
I had intended to do this at least a week ago, but had not the chance. Both the S3 HTC Radios and the S4 HTC Radios are fat 16 imgs.
As you see in the Rezound screenshot, in the first few lines of the HEX table in the bottom left mentions no volume label and a fat 16 label on the type. in addition when I use IMG viewers it shows the same with both the MDM9K image and the main IMG. This should theoretically enable us to possibly use amss imgs or other parts of the radios with other devices or even cross the modem over to other Samsung devices with the same modem chips.
In addition as per the Ville screenshot, this is the One S modem for one of the European basebands. Again the HEX shows Fat 16 as the file type, but the file structure and amount of files are much more plentiful. If this can become of any use, great. If not, oh well... but it is good food for thought either way.
On other notes, I did try to copy files from the LTE baseband (MDM9k) from the Vivid and move them to the MDM9k IMG for the rezound, but the IMG bloated. I haven't had enough time to try and mount the images in my Ubuntu environment, but doing it in Winblows caused the IMG to bloat up too much and caused radio issues and IMEI unknown blanks.
Happy perusing and happy hunting!
Very nice, but I doubt you'll be able to mix modem files (between different devices) unless you're absolutely sure that the device modem and AP HW is the same. Apparently from another recent conversation, it seem that HTC and Qualcomm are both moving to unified source code for their devices. So it can still be true that many of those files are the same across devices.
Could you write a few lines on how you go about this extraction and do it for the HTC One X (LTE)?
Also don't forget that US HTC One X (or S, or whatever) is not the same hardware and the European one!
On second thought, I think this is what you got..right?
Pretty much. Seems like another situation where I should have spoke up when I first saw it with Qualcomm S3 modems in May. On moving files though, I was planning to stay in family. S3 w/ S3 ect.
^^ BTW. Could you tell if there are any structural differences (content wise) between files of same prefix, but sequential postfix? What is strange is that they are all very different sizes, which indicate they probably have very different content...
If it was just one solid piece of firmware, it would just have been chopped up into equal sized pieces...
I'll look closer on that. I do remember that most of the sequential pieces were the same size minus either the first or the last, holding with your theory.
Maybe not the right place, but have you looked at the pit files?
COM_TAR2MSM8960
MODEM non-tlos.bin
sbl1.mbm
sbl2.mbm
sbl3.mbm
aboot.mbm
rpm.mbm
BOOT boot.img
TZ
PAD
PARAM
EFS efs.img (ext4)
MODEMST1 nvrebuild1.bin
MODEMST2 nvrebuild2.bin
system.img (ext4)
userdata.img (ext4)
persist.img (ext4)
cache.img (ext4)
recovery.img (ext4)
FOTA
BACKUP
FSG
SSD
GROW
PGPT pgpt.img
PIT MSM8960.pit
MD5 md5.img
SGPT sgpt.img
I know it is not really new, but I hadn't seen the img names.
The ones I took screenshots of were for 3rd and 4th Gen Snapdragon processors, radio.imgs for HTC devices. The Samsung pit files may give good cross references though. I'll re-unbox my Amaze this evening and check the mounts to see any information on the single file broken into pieces theory.
"eMMC Partition tools usage for msm7x30/msm8x60"
(A repost from Anyclub...)
In the eMMC boot, there are some changes in eMMC partitioning.
Code:
[SIZE=2]partition.xml - Everything begins with this file, which describes the number of
partitions desired, and how many sectors each one should be.
PartitioningTool.py - translates partition.xml into binary partitions
msp.exe - writes binary partitions to SD/eMMC cards using card reader
mjsdload.cmm - writes binary partitions to SD/eMMC cards using Trace32
msp.py - writes binary partitions to a single image file
QPST - writes binary partitions to SD/eMMC cards on Target
[/SIZE]
Helper /Debug Tools:
Code:
[SIZE=2]parseBinaryPartitionFile.pl - Decodes MBR partition tables. Run:
"Perl parseBinaryPartitionFile.pl partition.bin"
to generate the partition information
parseGPT.pl - Decodes GPT partition tables
[/SIZE]
partition.xml
These are the property entries that can be added in new partiton.xml to specify the configuration.
Code:
[SIZE=2]<parser_instructions>
WRITE_PROTECT_BOUNDARY_IN_KB = 0
GROW_LAST_PARTITION_TO_FILL_DISK = false
ALIGN_ALL_LOGICAL_PARTITIONS_TO_WP_BOUNDARY = false
</parser_instructions>[/SIZE]
WRITE_PROTECT_BOUNDARY_IN_KB: Typical boundaries are 64MB, i.e. 65536 KB. This
means that a 256MB eMMC card has 4 write protect boundaries. Any or all of
them can be marked as read-only. Different vendors allow for different sized
boundaries.
GROW_LAST_PARTITION_TO_FILL_DISK: In partition.xml the size of each partition
is specified. If this field is TRUE, then the last partition size is ignored
and set to 0. Then during patching this size is updated such that the last
partition extends to use all remaining space.
ALIGN_ALL_LOGICAL_PARTITIONS_TO_WP_BOUNDARY: To allow total flexibility, it
could be that a partition that is currently writeable might need to be marked
as read-only. This can only happen *if* that partition begins on a write
protect boundary (i.e. 64MB). Thus if this field is TRUE, then all logical
partitions are positioned such that they begin on a write protect boundary.
PartitioningTool.py
Is a new tool used to generate the the partition.xml
When run, it will output following 5 files:
1. emmc_lock_regions.xml
This hold the sector ranges that need to be marked as read-only by the
operating system (this is from readonly="true" in partition.xml) i.e. modem
code and boot images are typically on read-only partitions Typical
Write-Protect boundary is 64MB = 131072 sectors = 0x20000 sectors. The file
below is protecting the very first 64MB region of the card,
Boundary #0
Starting at sector 0
Ending at sector 131071 (for a total of 131072 sectors)
Code:
[SIZE=2]<?xml version="1.0" ?>
<protect>
<!-- NOTE: This is an ** Autogenerated file ** -->
<!-- NOTE: Sector size is 512bytes, WRITE_PROTECT_BOUNDARY_IN_KB=0, WRITE_PROTECT_BOUNDARY_IN_SECTORS=0 -->
<!-- NOTE: "num_sectors" in HEX "start_sector" in HEX, i.e. 10 really equals 16 !! -->
<program boundary_num="0" num_boundaries_covered="1"
num_sectors="20000" num_sectors_dec="131072" physical_partition_number="0"
start_sector="0" start_sector_dec="0"/>
<information WRITE_PROTECT_BOUNDARY_IN_KB="0"/>
</protect>
[/SIZE]
2. partition0.bin
This holds the partition tables, i.e. MBR followed by all EBRs. This is the
partition table in binary format. It is copied over to the storage device in a
1 to 1 manner. I.e. how it looks in partition0.bin is exactly how the
partition table will look on the storage device. partition0.bin is a "generic"
file meant to fit on *any* size SD/eMMC card, as a result, there are 0's that
need to be patched,such as EXT partition and last partition size.
3. patch0.xml
Contain the patching instructions to tailor each partition table
"partition0.bin" to a specific SD/eMMC card. I.e. the partition0.bin
partition tables can be applied to any size storage device As a result,
there are empty values (zeros) in the partition tables that must be filled
in with a specific cards sector size
There are two ways to apply this patch:
a) (patch before) When you patch the "zeros" in the partition tables held in the file partition0.bin, and then write it to the card
b) (patch after) When you write partition0.bin to the card (which still has "zeros" in it), and then patch the cards partition tables directly
4. rawprogram0.xml
precise sector details of all partitions and what files (if any) need to
be placed there. In addition to writing partition tables onto a device,
often times it is desired to write one or more files into the partition
area as well, The File has partition name (i.e. label), where it begins
(start_sector) and how big it is (num_partition_sectors). It also
describes what file(s) to write to this partition, as well as any
offsets.
Example:
Code:
[SIZE=2]<program file_sector_offset="0" filename="partition0.bin" label="MBR"
num_partition_sectors="1" physical_partition_number="0"
size_in_KB="0.5" start_sector="0"/>
<program file_sector_offset="1" filename="partition0.bin " label="EXT"
num_partition_sectors="2" physical_partition_number="0"
size_in_KB="1.0" start_sector="779"/>
[/SIZE]
The 1st line describes taking the 1st sector from partition0.bin, and writing it to sector 0 of the card.
The 2nd line describes taking the 2nd and 3rd sector from partition0.bin and writing it to sector 779 of the card.
I.e. file_sector_offset = 2 and num_partition_sectors=2
5. loadpt.cmm
This is used by the mjsdload.cmm to flash the image.
msp.exe
This is used to apply the patches
This program will program a memory card (SD/eMMC) attached to the PC as USB mass storage device
Use -d to detect the path of the memory card if you are unsure what to do first
Commands list:
Code:
[SIZE=2]-h (Print this help message) Ex. msp -h
-d (Detect which storage device ID is active) Ex. msp -d
-p (Print partition information) Ex. msp -p /dev/sdb
-pp (Print partition information - DETAILED) Ex. msp -pp /dev/sdb
-x (Write files as outlined in rawprogram.xml) Ex. msp -x rawprogram.xml /dev/sdb
-xx (Write files as outlined in rawprogram.xml - DETAILED) Ex. msp -xx rawprogram.xml /dev/sdb
-s (Write SINGLE IMAGE "singleimage.bin" as outlined in rawprogram.xml) Ex. msp -s rawprogram.xml 8192
-v (Verify file written correctly as outlined in rawprogram.xml) Ex. msp -v rawprogram.xml boot.img /dev/sdb
-f (Program single file as outlined in rawprogram.xml) Ex. msp -f rawprogram.xml boot.img /dev/sdb
[/SIZE]
To program the SD/eMMC with msp.exe in mass storage mode:
Code:
[SIZE=2]STEPS Complete example (patch after)
-------------------------------------------------------------
parse partition.xml python PartitioningTool.py partition.xml
Detect your device msp -d
Program your device msp -x rawprogram0.xml /dev/sdb
Patch your device msp -xx patch0.xml /dev/sdb
STEPS Complete example (patch before)
-------------------------------------------------------------
parse partition.xml python PartitioningTool.py partition.xml
Detect your device msp -d
Patch your files msp xx patch0.xml 15758336 (patch the 8GB card offline,this will change the partition0.bin)
Program your device msp x rawprogram0.xml /dev/sdb
[/SIZE]
The msp.py program can also used to patch the files.
For example:
python msp.py patch0.xml 15758336
This will patch the 8GB card offline, and change the partition0.bin.
Qualcomm DBL format (source Anyclub)
DBL is combined by three images.
dbl.bin - the raw DBL image
dbl.hd - the dbl header image
dbl_preamble.mbn - the preamble image with following format:
Code:
[SIZE=2]+------------+
|Dbl-preamble|
+------------+
|Dbl-header |
+------------+
|Dbl.bin |
+------------+
[/SIZE]
PBL is using the dbl_preamble to detect the NAND page size. The NAND controller
can detect 512 byte and 2 Kbyte page size automatically, but for NAND page size
more than 2K, PBL needs preamble to determine the page size, so for 512/2K
NAND,eMMC,eSD,oneNAND , the preamble is optional.
For the dbl_preamable, the first two words are same as dbl header, they are
codeword and magic,
ref image_header.c
Code:
data_ptr = autodetectpage;
*data_ptr = sbl_header.codeword;
data_ptr++;
*data_ptr = sbl_header.magic;
data_ptr++;
*data_ptr = AUTODETECT_PAGE_SIZE_MAGIC_NUM;
the third one is auto page size detection magic number.
The usage of the auto detection magic number is as below description To
understand this more clearly, for example ,if the dbl_preamble is 8KB. When we
detect the NAND page size > 2KB, we will set the default page size as 2K, then
try to read the preamble image from NAND flash, in case the page size is 4KB,
when read, can get 2 magic number in 8K size because page size will increase
with 4K byte steps, so page size is detected and that is 8K/2 = 4. For the 8K
page NAND, 1 magic number is read from the 8K size preamble image, so the page
size will be 8K/1 = 8K.
Dbl_preamble layout:
Code:
[SIZE=2]+-------------------------------------------------+
| codeword|magic|autodetection_ magic|............|
2K------------------------------------------------|
| codeword|magic|autodetection_ magic|............|
4K------------------------------------------------|
| codeword|magic|autodetection_ magic|............|
6K------------------------------------------------|
| codeword|magic|autodetection_ magic|............|
8K------------------------------------------------|
| codeword|magic|autodetection_ magic|............|
+-------------------------------------------------+
[/SIZE]
E:V:A said:
parse partition.xml python PartitioningTool.py partition.xml
Detect your device msp -d
Program your device msp -x rawprogram0.xml /dev/sdb
Patch your device msp -xx patch0.xml /dev/sdb
Click to expand...
Click to collapse
Hello, where i can find these files, i have qpst but there are no such files.
So does this explain why the pit references: pgpt.img, md5.img, sgpt.img but they aren't on any partition, (they should be after GROW blk0p23)
dviguha said:
Hello, where i can find these files, i have qpst but there are no such files.
Click to expand...
Click to collapse
I think it could be part of the Qualcomm Development Acceleration Resource Toolkit (QDART), as it supersedes QPST. But I'm not sure...
joederp said:
So does this explain why the pit references: pgpt.img, md5.img, sgpt.img but they aren't on any partition, (they should be after GROW blk0p23)
Click to expand...
Click to collapse
Where do you find these references?
I don't know, so if you find out let us know.
http://forum.xda-developers.com/showthread.php?t=1848267
If you dump the pit file you can see the references if you open in hex editor. Since it defines partition locations it appears they are either after last partition.. I haven't looked into technical pit stuff.
Sent from my SGH-T999 using xda app-developers app
Photo Place Holder Post
All images that I have not yet posted goes here...
Where can i find parseBinaryPartitionFile.pl or parseGPT.pl ?
vache said:
Where can i find parseBinaryPartitionFile.pl or parseGPT.pl ?
Click to expand...
Click to collapse
You tell me!

[ HOW-TO ] - Resizing partitions (Universal Mode)

I wrote this How-To several months ago and published in a spanish forum.
Now I've recovered to share here as it may interest someone.
This was originally written in spanish and now, our friendly companion @nachordez
has been kind enough to translate it to english. Thank you very much for your help. :good:
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
I'll try to explain here how to change the size of our device partitions.
Though the presented data are referred to a 16 GB, a p5110 in this case, they are easy to adapt to a 8 GB one, and/or any other model, with some light corrections.
There can be other ways, but this one has the advantage that depends only on not writing wrong data, and that's easily achieved with a little extra concentration during our work.
Anyway, it's needed to follow very strictly this how-to.
In case of total failure, we should restore the tab through the flashing of a Stock version using the pit file.
ALL the data not saved in the external MicroSD card WILL BE LOST, 'cause we'll delete the /system, /data and /cache partitions.
What is needed:
A computer.
A properly running adb program.
Recovery installed.
External MicroSD card installed and with available space.
Connection cable.
Full Battery.
For 3G (GSM) models, the original “modem.bin” file, obtained from a stock ROM.
The modem.bin file is not really needed as we can get it from our tablet with next command
dd count=40960 bs=512 if=/dev/block/mmcblk0p8 of=/external_sd/modem.bin​
All process is done from computer, except a short intervention at end, done from tablet.
This how-to is planned for a AOSP-like ROM, such as CyanogenMod (for example).
In the case of a Stock ROM, the partition sizes we are adjusting will be too short for it.
Before starting:
We have to check that there is enough free space in the MicroSD card, and we have to do a backup through recovery, choosing EXTERNAL SDcard.
If the internal one is used, IT WILL BE LOST DURING PROCESS.
This step is very important, to recover the ROM without re-install from zero.
So, let me say it again: EVERY USER DATA that has being not COPIED to the EXTERNAL SDcard, WILL BE LOST.
After next steps, ONLY the external MicroSD will be conserved without erasing.
So, we check once again that everything is saved, and copy to the external MicroSD (if our tab is a 3G model) the “modem.bin” file that will be needed afterwards.​
So... Let's start hacking!:
We always wrote in our PC.
We reboot our tab in recovery mode, and connect the cable.
To enter the tab from our computer:
> adb shell
Once entered correctly on the tablet, we like more clear ls command:
> alias ls='ls -an'
Now we access the partition table:
> parted /dev/block/mmcblk0
We'll get something like:
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)​
The command line for parted is (parted), so, every time a line starts so, that what follows this is a command.
We ask for information about current partitions:
(parted) p
Model: MMC MAG2GA (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.... 27.3MB....2097kB............................... SBL1
3........... 27.3MB.....29.4MB....2097kB............................... 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...789.0MB.. 734.0MB....... ext4................CACHE
8......... 789.0MB.. 810.0MB.... 21.0MB.............................. MODEM
9......... 810.0MB.., 2278MB... 1468MB....... ext4............... FACTORYFS
10........ 2278MB.... 15.2GB.... 12.9GB........ext4............... DATAFS
11......... 15.2GB..... 15.8GB.... 537MB....... ext4............... HIDDEN​
Comments:
Analizing the current partitions we can see this tablet is a 16 GB one:
/cache (CACHE) has 734 MB assigned
/system (FACTORYFS) has 1468 MB assigned
/data (DATAFS) has 12,9 GB assigned
There's also a funny 537 MB partition called HIDDEN: that's where the Samsung video, musical theme and demo pictures are stored.
If I don't mistake, I think I extracted them time ago, and they were just about 14 MB. In our case, we'll opt for destroying that!
In this how-to we'll assign:
/cache (CACHE) 400 MB
/system (FACTORYFS) 600 MB
/data (DATAFS) the sum of: its current size + 394 MB from CACHE + 868 MB from FACTORYFS + 536 MB from HIDDEN.
So, we'll grow our /DATAFS space in 1798 MB, which will mean more than 14 GB free space.
I use in this example 600 MB for /system was what I did in my tab.
In real world, 240 MB /cache and 500 MB /system are more than enough.
As we'll see later, all this numbers are just aproximations, not completely exact, and probably you're thinking: “My maths do not agree with this numbers”. Mine do not, also, as a fact.​
Let's see all that more slowly:
21+2+2+8+8+8+21+1 (for the 'hidden' partitions) give us 71 MB.
If we add 71 + 400 +600 we'll get 1071 MB.
If we have 16 GB and we use 1 GB, more than 15 GB should rest.
On one hand: 1 GB are 1048 MB. So, 16 GB should be 16768 MB, but we have just 15709.
That has a easy explanation: The hard disk makers started to measure 1 GB as 1000 MB (kind of a commercial trick). So, just beginning with that, 768 MB have disappeared in thin air.
On the other hand, we have 34 initial sectors to sustain the partition table, alternative sectors for errors recovering, rounding of numbers in sectors to partitions assignations, etc.
We have 11 partitions just now:.............................................. And they should get like that:
01 00021 MB...........................................................................01 00021 MB
02 00002 MB...........................................................................02 00002 MB
03 00002 MB...........................................................................03 00002 MB
04 00008 MB...........................................................................04 00008 MB
05 00008 MB...........................................................................05 00008 MB
06 00008 MB...........................................................................06 00008 MB
07 00734 MB...........................................................................07 00400 MB *
08 00021 MB...........................................................................08 00021 MB
09 01468 MB...........................................................................09 00600 MB *
10 12900 MB...........................................................................10 14638 MB *
11 00537 MB...........................................................................11 00537 MB
.....15709 MB................................................................................15709 MB​
The difference can seem small compared to the original partitioning, nevertheless will allow us to get all our usual apps installed and, even so, preserve a free space higher than we had previously, even before than start to install anything. That's saying: even more than with a pure CM just installed and not even configured.
Obviously, if we translate all that to a 8 GB model, the proportional gain is much higher.
Also, consider that an AOSP rom like CM is not bigger than 460 MB in /system, and that cache will need just 60 MB for dalvik and what we can download from google-play at a certain time. 170 MB should be enough, unless we want to download an app bigger than 100 MB. The bigger ones I've saw are around 90-105 MB.
In this moment, we'll have to decide if we want to follow on or not.
Till now, I was just fun, but nothing has being 'broken'.
Disclaimer: If you continue reading next post, and you do what's there exposed, it will be ONLY under YOUR RESPONSIBILITY. You've being warned...
CopyRight Tuxafgmur - Dhollmen 2013-2014. You can copy and distribute this post only if you mentions Author and references this XDA theread.
:
You have chosen to continue (you're a risky guy...)
We change the info into number of sectors (512 byts each one)
(parted) u s
(parted) p
Model: MMC MAG2GA (sd/mmc)
Disk /dev/block/mmcblk0: 30777344s
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Num... Start................ End............ Size........ Fs....... Name
1............ 8192s.......... 49151s....... 40960s... ext4....EFS
2.......... 49152s.......... 53247s......... 4096s............... SBL1
3.......... 53248s.......... 57343s......... 4096s............... SBL2
4.......... 57344s.......... 73727s....... 16384s............... PARAM
5.......... 73728s.......... 90111s....... 16384s............... KERNEL
6.......... 90112s........ 106495s....... 16384s............... RECOVERY
7........ 106496s...... 1540095s... 1433600s.... ext4... CACHE
8...... 1540096s...... 1581055s....... 40960s................MODEM
9...... 1581056s...... 4448255s... 2867200s.... ext4... FACTORYFS
10.... 4448256s.... 29728733s..25280478s.... ext4... DATAFS
11...29728734s.... 30777309s... 1048576s.... ext4... HIDDEN​
(From here onwards, I'll omit the heading, so that it's always the same)
We can see easily the ratio between MB and sectors: 4096 sectors equal 2 MB, so 1 MB are 2048 sectors.
Now, we'll delete the last partition, 'cause starting with it will make work easier at end.
(parted) rm 11​Now, we create it again, but with different data, specifying the sector where it begins (30775263) and sector where it finishes (30777310)
(parted) mkpart 11 30775263 30777310
(parted) p
Num...... Start................ End............ Size..... Fs....... Name
1............ 8192s.......... 49151s....... 40960s... ext4......EFS
2.......... 49152s.......... 53247s......... 4096s............... SBL1
3.......... 53248s.......... 57343s......... 4096s............... SBL2
4.......... 57344s.......... 73727s....... 16384s............... PARAM
5.......... 73728s.......... 90111s....... 16384s............... KERNEL
6.......... 90112s........ 106495s....... 16384s............... RECOVERY
7........ 106496s...... 1540095s... 1433600s.... ext4...CACHE
8...... 1540096s...... 1581055s....... 40960s................MODEM
9...... 1581056s...... 4448255s... 2867200s.... ext4... FACTORYFS
10.... 4448256s.... 29728733s..25280478s.... ext4... DATAFS
11... 30775263s... 30777310s......... 2048s​
So, we have a 1 MB partition that previously was a 537 MB one
Yes, you're right. I've changed last sector from 30777309 into 30777310. I haven't added one new sector to disk, it was yet there, but unassigned.
This is so 'cause I want the total to be an even number of sectors, and also this partition sectors number has to be even.
Previously, this partition had a name. So, let's be polite with it:
(parted) name 11 HIDDEN
(parted) p
Num...... Start................ End............ Size..... Fs....... Name
1............ 8192s.......... 49151s....... 40960s... ext4.....EFS
2.......... 49152s.......... 53247s......... 4096s............... SBL1
3.......... 53248s.......... 57343s......... 4096s............... SBL2
4.......... 57344s.......... 73727s....... 16384s............... PARAM
5.......... 73728s.......... 90111s....... 16384s............... KERNEL
6.......... 90112s........ 106495s....... 16384s............... RECOVERY
7........ 106496s...... 1540095s... 1433600s.... ext4....CACHE
8...... 1540096s...... 1581055s....... 40960s................MODEM
9...... 1581056s...... 4448255s... 2867200s.... ext4... FACTORYFS
10.... 4448256s.... 29728733s..25280478s.... ext4... DATAFS
11... 30775263s... 30777310s......... 2048s............... HIDDEN​
Done. Now, we can forget it, and not even format it.
So that it is the last partition, and will not be used, all this work was really unnecessary, but, preventing the case that any process could count partitions, we keep home tidy.
OK. By now we have:
Deleted partition
Created partition
Named partition
If we have a previously calculated chart, we'll just have to do next steps for each partition and we don't need even to look at it, just to check at end if the obtained result was the one expected.
Anyway, in this How-To we'll do things one by one.
We shrink the CACHE partition
We calculate: 400 x 2048 = 819200 (400 MB x 2048 sectors = 819200 sectors)
106496 + 819200 = 925696 -1 = 925695
Our new partition starts in sector 106496 and finishes in sector 925695
(parted) rm 7
(parted) mkpart 7 106496 925695
(parted) name 7 CACHE
(parted) p
Num...... Start................ End............ Size..... Fs....... Name
1............ 8192s.......... 49151s....... 40960s... ext4.....EFS
2.......... 49152s.......... 53247s......... 4096s............... SBL1
3.......... 53248s.......... 57343s......... 4096s............... SBL2
4.......... 57344s.......... 73727s....... 16384s............... PARAM
5.......... 73728s.......... 90111s....... 16384s............... KERNEL
6.......... 90112s........ 106495s....... 16384s............... RECOVERY
7........ 106496s........ 925695s..... 819200s.... ext4... CACHE
8...... 1540096s...... 1581055s....... 40960s................MODEM
9...... 1581056s...... 4448255s... 2867200s.... ext4... FACTORYFS
10.... 4448256s.... 29728733s..25280478s.... ext4... DATAFS
11... 30775263s... 30777310s......... 2048s............... HIDDEN
​We just move the MODEM partition : 925696 + 40960 -1 = 966655
(parted) rm 8
(parted) mkpart 8 925696 966655
(parted) name 8 MODEM​
Now, let's go for the FACTORYFS one
(parted) rm 9
(parted) mkpart 9 966656 2195455
(parted) name 9 FACTORYFS
(parted) p
Num...... Start................ End............ Size..... Fs....... Name
1............ 8192s.......... 49151s....... 40960s... ext4.....EFS
2.......... 49152s.......... 53247s......... 4096s............... SBL1
3.......... 53248s.......... 57343s......... 4096s............... SBL2
4.......... 57344s.......... 73727s....... 16384s............... PARAM
5.......... 73728s.......... 90111s....... 16384s............... KERNEL
6.......... 90112s........ 106495s....... 16384s............... RECOVERY
7........ 106496s........ 925695s..... 819200s.... ext4... CACHE
8........ 925696s...... . 966655s....... 40960s................MODEM
9........ 966656s.......2195455s....1228800s................FACTORYFS
10.... 4448256s.... 29728733s..25280478s.....ext4....DATAFS
11.. 30775263s.... 30777310s..........2048s................HIDDEN
​
There only rest DATAFS.
For it, no calculations are needed: it starts in the sector following FACTORYFS and ends in the previous to HIDDEN.
(parted) rm 10
(parted) mkpart 10 2195456 30775262
(parted) name 10 DATAFS
(parted) p
Num...... Start................ End............ Size..... Fs....... Name
1............ 8192s.......... 49151s....... 40960s... ext4.....EFS
2.......... 49152s.......... 53247s......... 4096s............... SBL1
3.......... 53248s.......... 57343s......... 4096s............... SBL2
4.......... 57344s.......... 73727s....... 16384s............... PARAM
5.......... 73728s.......... 90111s....... 16384s............... KERNEL
6.......... 90112s........ 106495s....... 16384s............... RECOVERY
7........ 106496s........ 925695s..... 819200s.... ext4... CACHE
8........ 925696s...... . 966655s....... 40960s................MODEM
9........ 966656s...... 2195455s....1228800s................FACTORYFS
10.... 2195456s.... 30775262s..28579807s................DATAFS
11.. 30775263s.... 30777310s......... 2048s............... HIDDEN
​
So, that's what we got. It seemed difficult, but it's done!
Finishing:
We exit parted, for the end of feast using quit command
(parted) q​
In this moment, we've returned to recovery.
Now, and only if our tab is a 3G/GSM one, we have to recover the modem:
dd count=40960 bs=512 if=/external_sd/modem.bin of=/dev/block/mmcblk0p8​
Format:
Remember that we are in recovery. So, let's go to tablet and we select:
- mounts and storage
Search for and click on:
- format system
- format cache
- format /data and /data/media (/sdcard)
Just and only this options.
To check, now click on:
- mount /system
- mount /cache
- mount /data
If everything is OK, each one of the 3 options will change into unmount​
If you are an expert user, surely you know how to format from shell, without using recovery options.
WE HAVE FINISHED. HURRAY!
Now, we have two options to reinitialize:
We install our favourite Rom, boot, configure, restore data, etc.
Or we restore the backup we did with the recovery in the external MicroSD card and we remain as if nothing had happened (but with lot more free space).
NOTE: I've wrote this how-to using CWM recovery, On others recovery, mount options can be slightly different
Disclaimer: If you have read this post, and did what is told in it, it will be ONLY under YOUR RESPONSIBILITY. You've being warned...
CopyRight Tuxafgmur - Dhollmen 2013-2014. You can copy and distribute this post only if you mentions Author and references this XDA theread.
I insert below partitions data from a p3110 tablet.
This data was attached by the user Saitoh00 from spanish HTCmania forum. This user resized partitions following this How-To.
Model: MMC M8G2FB (sd/mmc)
Disk /dev/block/mmcblk0: 7818MB
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..........27.3MB...........2097kB......................SBL1
3.........27.3MB..........29.4MB...........2097kB..................... 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...........474MB............419MB.......ext4........CACHE
8..........474MB...........495MB...........21.0MB......................MODEM
9..........495MB...........914MB............419MB.......ext4........FACTORYFS
10........914MB.........7817MB..........6903MB.......ext4........DATAFS
11......7817MB.........7818MB...........1049kB......................HIDDEN
​
Model: MMC M8G2FB (sd/mmc)
Disk /dev/block/mmcblk0: 15269888s
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1............8192s..........49151s.........40960s.........ext4......EFS
2..........49152s..........53247s...........4096s......................SBL1
3..........53248s..........57343s...........4096s......................SBL2
4..........57344s..........73727s.........16384s......................PARAM
5..........73728s..........90111s.........16384s......................KERNEL
6..........90112s........106495s.........16384s......................RECOVERY
7........106496s........925695s.......819200s.........ext4......CACHE
8........925696s........966655s.........40960s......................MODEM
9........966656s........785855s.......819200s.........ext4......FACTORYFS
10....1785856s....15267806s...13481951s.........ext4......DATAFS
11..15267807s....15269854s...........2048s......................HIDDE
​
I have cyanogenmod installed over tab 2 7 inches 16 gb which I want to change but flashing stock firmware is not possible as it gives error....I feel something is wrong at partition table. I want to repartition for stock rom. ...can u guide
Sent from my SM-A500H using XDA Free mobile app
Did you ever edit partition table of your tab? If you haven't, then nothing is wrong with partition table and no need to repartition it. Installing custom roms don't change partition structure.
You should start a new thread and post exact problem there only.
If we resized the partitions, maybe all custom rom would not boots?
Sent from my GT-I9300 using XDA Premium 4 mobile app
bangdes said:
If we resized the partitions, maybe all custom rom would not boots?
Sent from my GT-I9300 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
Don't worry, as long as the rom sticks on the partition (specially system partition)
bangdes said:
If we resized the partitions, maybe all custom rom would not boots?
Sent from my GT-I9300 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
If you set the correct path for Partitions and available space/filesystem is correct, you can play with partition table as long as you want.
Deleted
@prav3955 what does it has to do with this thread? Use the Q&A section please.
Send from OnePlus One using Tapatalk
I request moderator to remove this post plz....
Sent from my SM-A500H using XDA Free mobile app
Not exactly, just move to 'hardware hacking' thread. This is a bleeding edge and too highrisk for newbie like me
Sent from my GT-I9300 using XDA Premium 4 mobile app
hooray! I've made it on my 8gb p3110 Here is my table if you want:
Number Start End Size File system Name Flags
1 8192s 49151s 40960s ext4 EFS
2 49152s 53247s 4096s SBL1
3 53248s 57343s 4096s SBL2
4 57344s 73727s 16384s PARAM
5 73728s 90111s 16384s KERNEL
6 90112s 106495s 16384s RECOVERY
7 106496s 925695s 819200s ext4 CACHE
8 925696s 966655s 40960s MODEM
9 966656s 2195455s 1228800s FACTORYFS
10 2195456s 15267806s 13072351s DATAFS
11 15267807s 15269854s 2048s HIDDEN
Click to expand...
Click to collapse
but it's nothing special, it uses OP's values adapted to 8gb model. I'm very happy with results: https://www.dropbox.com/s/haq4j16shfcdf9q/Screenshot_2015-04-27-21-46-12.png?dl=0
btw I had strage issue. After whole process I couldn't format my cache partition. I tried to remove it and add again but it didn't help. Hopefully solution was easy: I had to reboot my recovery. Now everything is fine
Thanks for great guide
p.s.
repartitionig is preatty easy but i've spent more than hour trying to fix adb drivers
btw some ot
If you repartitioned your galaxy tab it doesn't mean that you can repartition every other android device. I made that mistake and I've just hardbricked my xperia phone trying to repartition it (I belive it's somehow protected). My bootloader died so it's impossible to fix it at home. Keep it in mind before you try to repartition your other device.
Repartition system might cause issue flashing some/most lollipop roms because of blockbased implementation.
Android-Andi said:
Repartition system might cause issue flashing some/most lollipop roms because of blockbased implementation.
Click to expand...
Click to collapse
So, how to revert. I want to flash your rom and I cannot.
Do I have to revert to stock? Or is someone having the original partition?
cantabro said:
So, how to revert. I want to flash your rom and I cannot.
Do I have to revert to stock? Or is someone having the original partition?
Click to expand...
Click to collapse
Omni 5.1 and AOSP 5.1 should work i think. Or stay on KK.
Theres a different way too, let me see if i find it.
---------- Post added at 03:26 PM ---------- Previous post was at 03:19 PM ----------
cantabro said:
So, how to revert. I want to flash your rom and I cannot.
Do I have to revert to stock? Or is someone having the original partition?
Click to expand...
Click to collapse
Start Reading here on page 69 (and the following Pages) http://forum.xda-developers.com/showthread.php?t=3060319
They had same issue on ZMod rom and solved it.
Android-Andi said:
Omni 5.1 and AOSP 5.1 should work i think. Or stay on KK.
Theres a different way too, let me see if i find it.
---------- Post added at 03:26 PM ---------- Previous post was at 03:19 PM ----------
Start Reading here on page 69 (and the following Pages) http://forum.xda-developers.com/showthread.php?t=3060319
They had same issue on ZMod rom and solved it.
Click to expand...
Click to collapse
Thanks. But where can I find the system.tar for this?
And the last Omni founds no mirrors for download on your AndroidFileHost
I do like Lollipop
I flased omni 5.1 on my repartitoned tab and it works but 600 mb system partiton is too small for heavy lp rom and some of my favourite gapps so I decided to change partition layout again. I think that 400mb for cache it too much, my new moto e has 8 gb of storage too and only 256 mb of cache. So I changed my layout to: 256mb cache, 800mb system and rest for data. So I lost only 56mb of my data partiton while boosted by system by 200 mb so I think it is worth. Here are my commands (I think that they looks more clear than table):
I have 7'' 8 gb model
Code:
(parted) rm 7
(parted) mkpart 7 106496 630783
(parted) name 7 CACHE
(parted) rm 8
(parted) mkpart 8 630784 671743
(parted) name 8 MODEM
(parted) rm 9
(parted) mkpart 9 671744 2310143
(parted) name 9 FACTORYFS
(parted) rm 10
(parted) mkpart 10 2310144 15267806
(parted) name 10 DATAFS
It looks like that: https://dl.dropboxusercontent.com/u/37270614/Screenshot_2015-07-11-13-16-54.png
cantabro said:
So, how to revert. I want to flash your rom and I cannot.
Do I have to revert to stock? Or is someone having the original partition?
Click to expand...
Click to collapse
I solved the very same problem by flashing stock AND the special .PIT file for my version (beware: there are a 8GB and a 16GB pit files)

[Q] How do I edit/restore the mmcblk0 partition.

I have used esfdisk and fdisk and determined my boot loops are caused by a corrupted partition: mmcblk0. The size is incorrect, 30539776 and should be 30535680. As a result other partitions are overlapped, e.i: e2fsck:
* Device or resource busy while trying to open /dev/block/mmcblk0p37
Filesystem mounted or opened exclusively by another program?
* e2fsck: Superblock invalid, trying backup blocks...
2fsck: Bad magic number in super-block while trying to open /dev/block/mmcblk0p24
The size of all other partitions are correct but maligned. I believe if I can correct partition mmcblk0, the others will not overlap. Does anyone have the savvy to show me how? I've tried sdparted with no success. Thanks
davidrol said:
I have used esfdisk and fdisk and determined my boot loops are caused by a corrupted partition: mmcblk0. The size is incorrect, 30539776 and should be 30535680. As a result other partitions are overlapped, e.i: e2fsck:
* Device or resource busy while trying to open /dev/block/mmcblk0p37
Filesystem mounted or opened exclusively by another program?
* e2fsck: Superblock invalid, trying backup blocks...
2fsck: Bad magic number in super-block while trying to open /dev/block/mmcblk0p24
The size of all other partitions are correct but maligned. I believe if I can correct partition mmcblk0, the others will not overlap. Does anyone have the savvy to show me how? I've tried sdparted with no success. Thanks
Click to expand...
Click to collapse
I think you need to be s-off in order to edit mmcblk artitions. If you are s-off you can push the partition with dd comand in fastboot but but you need non corrupted one
Seems logical. I've been trying to gain S-OFF for days, but on my mac, adb recognizes the device as offline, using various roms. I'm going to use a pc today and attempt to apply firewater or rumrunner. I suppose getting an uncorrupted partition wouldn't be difficult if I could get one donated here. Otherwise, a disk editor (sdparted) might also work.
Thanks for your interest.
davidrol said:
Seems logical. I've been trying to gain S-OFF for days, but on my mac, adb recognizes the device as offline, using various roms. I'm going to use a pc today and attempt to apply firewater or rumrunner. I suppose getting an uncorrupted partition wouldn't be difficult if I could get one donated here. Otherwise, a disk editor (sdparted) might also work.
Thanks for your interest.
Click to expand...
Click to collapse
I could send you my partition, that's the least of your priblems. I had corrupted mmcblk09 and it took me around 1 minute to flash a good one with dd. But I'm s-off
Yes you can! Ican probably install it using sdparted without gaining s-off. If you could provide the mmcblk0, I'll at least have that to work with. I've installed mmcblk0p27 using sdparted with success. Thanks!
Here's the code from user harshdev in another forum: while in custom recovery:
Code:
adb push mmcblk0p19_repaired.img /tmp/
adb shell dd if=/tmp/mmcblk0p19_repaired.img of=/dev/block/mmcblk0p19
adb reboot bootloader
@donkeykong1
Here's my fdisk readout on mmcblk0. How does this compare to yours:
~ # fdisk /dev/block/mmcblk0
The number of cylinders for this disk is set to 3817472.
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)
Warning: deleting partitions after 60
Command (m for help): u
Changing display/entry units to sectors
Command (m for help): p
Disk /dev/block/mmcblk0: 31.2 GB, 31272730624 bytes
1 heads, 16 sectors/track, 3817472 cylinders, total 61079552 sectors
Units = sectors of 1 * 512 = 512 bytes
isk /dev/block/mmcblk0: 31.2 GB, 31272730624 bytes
1 heads, 16 sectors/track, 3817472 cylinders, total 61079552 sectors
Units = sectors of 1 * 512 = 512 bytes
Device Boot Start End Blocks Id System
/dev/block/mmcblk0p1 * 1 256 128 4d Unknown
Partition 1 does not end on cylinder boundary
/dev/block/mmcblk0p2 257 768 256 51 Unknown
Partition 2 does not end on cylinder boundary
/dev/block/mmcblk0p3 769 262110 130671 5d Unknown
Partition 3 does not end on cylinder boundary
/dev/block/mmcblk0p4 262111 61079550 30408720 5 Extended ------------------------------> should be 1mb
Partition 4 does not end on cylinder boundary
/dev/block/mmcblk0p5 262112 262143 16 5a Unknown
/dev/block/mmcblk0p6 262145 262656 256 73 Unknown
/dev/block/mmcblk0p7 262658 293812 15577+ 5b Unknown
/dev/block/mmcblk0p8 293814 294325 256 5c Unknown
/dev/block/mmcblk0p9 294327 296374 1024 45 Unknown
/dev/block/mmcblk0p10 296376 296887 256 47 Unknown
/dev/block/mmcblk0p11 296889 300984 2048 46 Unknown
/dev/block/mmcblk0p12 300986 305146 2080+ 4c Unknown
/dev/block/mmcblk0p13 305148 315387 5120 34 Unknown
/dev/block/mmcblk0p14 315389 317436 1024 36 Unknown
/dev/block/mmcblk0p15 317438 319485 1024 0 Empty
/dev/block/mmcblk0p16 319487 442368 61441 50 Unknown
/dev/block/mmcblk0p17 442370 458750 8190+ 74 Unknown
/dev/block/mmcblk0p18 458752 524287 32768 0 Empty
/dev/block/mmcblk0p19 524289 526333 1022+ 76 Unknown
/dev/block/mmcblk0p20 526335 534526 4096 4a Unknown
/dev/block/mmcblk0p21 534528 542719 4096 4b Unknown
/dev/block/mmcblk0p22 542721 583680 20480 19 Unknown
/dev/block/mmcblk0p23 583682 583689 4 0 Empty
/dev/block/mmcblk0p24 583691 584202 256 23 Unknown
/dev/block/mmcblk0p25 584204 584235 16 0 Empty
/dev/block/mmcblk0p26 584237 586797 1280+ 0 Empty
/dev/block/mmcblk0p27 586799 586926 64 0 Empty
/dev/block/mmcblk0p28 586928 588975 1024 0 Empty
/dev/block/mmcblk0p29 588977 786431 98727+ 0 Empty
/dev/block/mmcblk0p30 786433 894973 54270+ 0 Empty
/dev/block/mmcblk0p31 894975 1048575 76800+ 77 Unknown
/dev/block/mmcblk0p32 1048577 1245182 98303 0 Empty
/dev/block/mmcblk0p33 1245184 1277951 16384 48 Unknown
/dev/block/mmcblk0p34 1277953 1310719 16383+ 71 Unknown
/dev/block/mmcblk0p35 1310721 5111806 1900543 83 Linux
/dev/block/mmcblk0p36 5111808 6422526 655359+ 83 Linux
/dev/block/mmcblk0p37 6422528 60948479 27262976 83 Linux
No luck editing the size of mmcblk0p4. Edits won't stay and reverts back.
Anyone know how to do this?
davidrol said:
No luck editing the size of mmcblk0p4. Edits won't stay and reverts back.
Anyone know how to do this?
Click to expand...
Click to collapse
I'm pretty sure you won't be able to change your partition layout without S-OFF, but aren't you jumping the gun a little? (and potentially bricking your device completely!!)
Why don't you first explain what the problem is.
BTW, on the m7_u/ul the only EXT partitions are
/dev/block/mmcblk0p35 /system
/dev/block/mmcblk0p36 /cache
/dev/block/mmcblk0p37 /data
so you can only use e2fsck on these partitions, all the others are RAW partitions.
please post a
1) "fastboot getvar all" (excluding IMEI and s/n)
2) what custom recovery (and version) you are using (cause looks like you're on CWM, and you should probably be using TWRP)
3) what ROM are you using/want to use
4) what is the problem
Right! I need to gain s-off for this to stick. The device was soft bricked when I acquired it and is unable to run sense and cm10.1 without boot looping. I have gained a only slight improvements. I've installed an original/compatible RUU sense and it boot loops like the others. Only cm11 (aosb_kk_1.3.6_m7) runs but with crippled resources, i.e., no gps, no phone radio, no google sync or location sync, widget won't stay after reboot, etc, etc. The version main: is not shown, the imei or phone hardversion is not present in phone info. I'm using the latest TWRP.
There are overlapping partitions in 1,2,3 and 4. I had hoped that parted would repair this, but returns the error: You can't have overlapping partitions.
Partition 1 does not end on cylinder boundary
Partition 1: sector 0 greater than maximum 16
Partition 2 does not end on cylinder boundary
Partition 2: sector 0 greater than maximum 16
Partition 3 does not end on cylinder boundary
Partition 3: sector 0 greater than maximum 16
Partition 5: sector 0 greater than maximum 16
Partition 6: sector 0 greater than maximum 16
Partition 7: sector 0 greater than maximum 16
Partition 8: sector 0 greater than maximum 16
Partition 9: sector 0 greater than maximum 16
Partition 10: sector 0 greater than maximum 16
Partition 11: sector 0 greater than maximum 16
Partition 12: sector 0 greater than maximum 16
Partition 13: sector 0 greater than maximum 16
Partition 14: sector 0 greater than maximum 16
Partition 16: sector 0 greater than maximum 16
Partition 17: sector 0 greater than maximum 16
Partition 19: sector 0 greater than maximum 16
Partition 20: sector 0 greater than maximum 16
Partition 21: sector 0 greater than maximum 16
Partition 22: sector 0 greater than maximum 16
Partition 24: sector 0 greater than maximum 16
Partition 31: sector 0 greater than maximum 16
Partition 33: sector 0 greater than maximum 16
Partition 34: sector 0 greater than maximum 16
Partition 35: sector 0 greater than maximum 16
Partition 36: sector 0 greater than maximum 16
Partition 37: sector 0 greater than maximum 16
Partition 38: sector 0 greater than maximum 16
Warning: partition 5 overlaps partition 38
Partition 39: sector 0 greater than maximum 16
Warning: partition 6 overlaps partition 39
Partition 40: sector 0 greater than maximum 16
Warning: partition 7 overlaps partition 40
Partition 41: sector 0 greater than maximum 16
Warning: partition 8 overlaps partition 41
Partition 42: sector 0 greater than maximum 16
Warning: partition 9 overlaps partition 42
Partition 43: sector 0 greater than maximum 16
Warning: partition 10 overlaps partition 43
Partition 44: sector 0 greater than maximum 16
Warning: partition 11 overlaps partition 44
Partition 45: sector 0 greater than maximum 16
Warning: partition 12 overlaps partition 45
Partition 46: sector 0 greater than maximum 16
Warning: partition 13 overlaps partition 46
Partition 47: sector 0 greater than maximum 16
Warning: partition 14 overlaps partition 47
Partition 49: sector 0 greater than maximum 16
Warning: partition 16 overlaps partition 49
Partition 50: sector 0 greater than maximum 16
Warning: partition 17 overlaps partition 50
Partition 52: sector 0 greater than maximum 16
Warning: partition 19 overlaps partition 52
Partition 53: sector 0 greater than maximum 16
Warning: partition 20 overlaps partition 53
Partition 54: sector 0 greater than maximum 16
Warning: partition 21 overlaps partition 54
Partition 55: sector 0 greater than maximum 16
Warning: partition 22 overlaps partition 55
Partition 57: sector 0 greater than maximum 16
Warning: partition 24 overlaps partition 57
~ # cat /proc/partitions
major minor #blocks name
179 0 30539776 mmcblk0
179 1 128 mmcblk0p1
179 2 256 mmcblk0p2
179 3 130671 mmcblk0p3
179 4 1 mmcblk0p4
These are stock values:
179 0 30535680 mmcblk0
179 1 128 mmcblk0p1 sbl1
179 2 256 mmcblk0p2 sbl2
179 3 130671 mmcblk0p3 pg1fs
179 4 1 mmcblk0p4 ?
179 5 16 mmcblk0p5 board_info
I've managed to recover mmcblk0p4 since my previous posts. Here's my getvar:
INFOversion: 0.5
INFOversion-bootloader: 1.55.0000
INFOversion-baseband: 4A.19.3263.13
INFOversion-cpld: None
INFOversion-microp: None
INFOversion-main:
INFOversion-misc: PVT SHIP S-ON
INFOserialno: XXXXXXXXXX
INFOimei: XXXXXXXXXXXX
INFOmeid: 00000000000000
INFOproduct: m7_ul
INFOplatform: HBOOT-8064
INFOmodelid: PN0712000
INFOcidnum: CWS__001
INFObattery-status: good
INFObattery-voltage: 4323mV
INFOpartition-layout: Generic
INFOsecurity: on
INFObuild-mode: SHIP
INFOboot-mode: FASTBOOT
INFOcommitno-bootloader: dirty-2da61e5e88
INFOhbootpreupdate: 11
INFOgencheckpt: 0
Thanks for your reply. Admittedly, I'm no dev and I sometimes get lost trying to wrap my head around all this!
davidrol said:
INFOversion-bootloader: 1.55.0000
INFOversion-baseband: 4A.19.3263.13
INFOversion-main:
INFOversion-misc: PVT SHIP S-ON
INFOproduct: m7_ul
INFOmodelid: PN0712000
INFOcidnum: CWS__001
Click to expand...
Click to collapse
well, i haven't run parted/gparted/etc. too risky, way too easy to fully brick your device, but i can tell you that the Start/End/Size/Id of all your partitions are exactly the same as mine, except p4, which was due to the overall size difference (but which didn't affect all the other partitions!!!)
Have you tried this ruu: http://androidruu.com/getdownload.p...13_10.38j.1157.04_release_334235_signed_2.exe
Have to agree with nkk71 here. You have a normal AT&T phone, it should be easy to RUU back to stock from your current settings.
relock bootloader
fastboot oem lock
Run the 3.17.502.3 RUU and you should be all set
Installing an RUU didn't solve restoring all partitions, only a small portion. The upper (1-5) is where the overlap occurred and RUU's dont' effect those partitions, at all. I deleted mmcblk0p4, because it was way too large and should be 1MB. After, a few restarts and 3 attempts at gaining s-off with firewater, the phone now functions correctly! I have tested and confirm a working GPS, phone radio recognizing sim, google sync, etc, etc. The imei and broadband version show correctly in phone info. I cant explain or fully understand why it's fully working. I will examine the partitions again and post the results.
BTW, I haven't tried installing a sense rom (current Android Revolution) to check for the constant boot loops I was getting.
Next step would be to sim unlock and test phone reception and signal strength.
I thank you all for your assistance.
davidrol said:
Installing an RUU didn't solve restoring all partitions, only a small portion. The upper (1-5) is where the overlap occurred and RUU's dont' effect those partitions, at all. I deleted mmcblk0p4, because it was way too large and should be 1MB. After, a few restarts and 3 attempts at gaining s-off with firewater, the phone now functions correctly! I have tested and confirm a working GPS, phone radio recognizing sim, google sync, etc, etc. The imei and broadband version show correctly in phone info. I cant explain or fully understand why it's fully working. I will examine the partitions again and post the results.
BTW, I haven't tried installing a sense rom (current Android Revolution) to check for the constant boot loops I was getting.
Next step would be to sim unlock and test phone reception and signal strength.
I thank you all for your assistance.
Click to expand...
Click to collapse
hmm, interesting, I've never seen that done before, but just for info:
fdisk -ul
Code:
...
/dev/block/mmcblk0p4 262111 61071358 30404624 5 Extended
...
the rest are exactly like the ones you posted earlier.
but if you actually "dd" the partition, you'll get a 1KB (not MB) file, which starting ot offset 0x200 (ie 1 block) shows the HTC-BOARD-INFO from p5
so seems p4 is only 1 block plus some kind of container for the rest of the partitions.
Anyway, very glad that worked out for :good:
PS: and you were able to change the partition layout with S-ON.... didn't / don't think that's possible

[Q] Bricked or not bricked? That is the question!

I got one of those original HP 16GB WIFI TouchPad. I had the famous too-discharged-won't-boot-anymore ( question-mark-battery-logo issue ) 3 times which I managed to resolve through usage of this forum ( Thank you! ) This time, I don't know what to do. Nothing on screen at all, I can only 'see' something through looking at what device the TouchPad appears as on the USB port:
Palm:
Product ID: 0x8070
Vendor ID: 0x0830 (Palm Inc.)
Version: 10.00
Speed: Up to 480 Mb/sec
Manufacturer: bootie
Location ID: 0xfa140000 / 6
Current Available (mA): 500
Current Required (mA): 500
The other mode I can start the TouchPad in is the 'QHSUSB_DLOAD'
QHSUSB_DLOAD:
Product ID: 0x9008
Vendor ID: 0x05c6 (Qualcomm, Inc)
Version: 0.00
Speed: Up to 480 Mb/sec
Manufacturer: Qualcomm CDMA Technologies MSM
Location ID: 0xfa140000 / 6
Current Available (mA): 500
Current Required (mA): 2
Taken from @jcsullins toolbox script, with the TouchPad booted in 'Palm' mode I can enter a few commands and eventually able to establish a SSH connection with my TouchPad.
$ dfu-util -d 0830:8070 -R -D ./tpdebrick-v004/moboot-dfu-v004
$ fastboot flash bootmem ./tpdebrick-v004/TPToolbox-Headless-v004
$ ssh -i ssh-key [email protected]
I can connect to the TouchPad, I have access to pretty all devices ( although screen is still blank ). I've even backed up the entire 16GB flash ( as it is now )
[email protected](none):/mnt# dd if=/dev/mmcblk0 | gzip -c | ssh [email protected] 'dd of=/Volumes/BACKUP_80GB/touchpad_full_image_backup20150124.gz'
Below is just ( for reference the list of the many parititions )
[email protected](none):/mnt# fdisk /dev/mmcblk0
Disk /dev/mmcblk0: 15.9 GB, 15923675136 bytes
1 heads, 16 sectors/track, 1943808 cylinders, total 31100928 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: 0x6d6c6150
Device Boot Start End Blocks Id System
/dev/mmcblk0p1 1 204800 102400 c W95 FAT32 (LBA)
/dev/mmcblk0p2 * 204801 205800 500 4d QNX4.x
/dev/mmcblk0p3 205801 208800 1500 51 OnTrack DM6 Aux1
/dev/mmcblk0p4 208801 30969855 15380527+ 5 Extended
/dev/mmcblk0p5 262144 263143 500 47 Unknown
/dev/mmcblk0p6 393216 394715 750 45 Unknown
/dev/mmcblk0p7 524288 529287 2500 4c Unknown
/dev/mmcblk0p8 655360 675839 10240 48 Unknown
/dev/mmcblk0p9 786432 789431 1500 46 Unknown
/dev/mmcblk0p10 917504 923647 3072 4a Unknown
/dev/mmcblk0p11 1048576 1054719 3072 4b Unknown
/dev/mmcblk0p12 1054720 1062911 4096 f0 Linux/PA-RISC boot
/dev/mmcblk0p13 1062912 1128447 32768 83 Linux
/dev/mmcblk0p14 1179648 30969855 14895104 8e Linux LVM
That great! Now what?
Is my TouchPad really dead?
Can I use it still for Android?
How can I reflash or put back 'Web OS Recovery' ?
With all of the access I feel I have, do I need 'WebOS Recovery' at all?
Can't I just 'DD' one or more of the 14 partitions ?
Rastikan said:
I got one of those original HP 16GB WIFI TouchPad. I had the famous too-discharged-won't-boot-anymore ( question-mark-battery-logo issue ) 3 times which I managed to resolve through usage of this forum ( Thank you! ) This time, I don't know what to do. Nothing on screen at all, I can only 'see' something through looking at what device the TouchPad appears as on the USB port:
Palm:
Product ID: 0x8070
Vendor ID: 0x0830 (Palm Inc.)
Version: 10.00
Speed: Up to 480 Mb/sec
Manufacturer: bootie
Location ID: 0xfa140000 / 6
Current Available (mA): 500
Current Required (mA): 500
The other mode I can start the TouchPad in is the 'QHSUSB_DLOAD'
QHSUSB_DLOAD:
Product ID: 0x9008
Vendor ID: 0x05c6 (Qualcomm, Inc)
Version: 0.00
Speed: Up to 480 Mb/sec
Manufacturer: Qualcomm CDMA Technologies MSM
Location ID: 0xfa140000 / 6
Current Available (mA): 500
Current Required (mA): 2
Taken from @jcsullins toolbox script, with the TouchPad booted in 'Palm' mode I can enter a few commands and eventually able to establish a SSH connection with my TouchPad.
$ dfu-util -d 0830:8070 -R -D ./tpdebrick-v004/moboot-dfu-v004
$ fastboot flash bootmem ./tpdebrick-v004/TPToolbox-Headless-v004
$ ssh -i ssh-key [email protected]
I can connect to the TouchPad, I have access to pretty all devices ( although screen is still blank ). I've even backed up the entire 16GB flash ( as it is now )
[email protected](none):/mnt# dd if=/dev/mmcblk0 | gzip -c | ssh [email protected] 'dd of=/Volumes/BACKUP_80GB/touchpad_full_image_backup20150124.gz'
Below is just ( for reference the list of the many parititions )
[email protected](none):/mnt# fdisk /dev/mmcblk0
Disk /dev/mmcblk0: 15.9 GB, 15923675136 bytes
1 heads, 16 sectors/track, 1943808 cylinders, total 31100928 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: 0x6d6c6150
Device Boot Start End Blocks Id System
/dev/mmcblk0p1 1 204800 102400 c W95 FAT32 (LBA)
/dev/mmcblk0p2 * 204801 205800 500 4d QNX4.x
/dev/mmcblk0p3 205801 208800 1500 51 OnTrack DM6 Aux1
/dev/mmcblk0p4 208801 30969855 15380527+ 5 Extended
/dev/mmcblk0p5 262144 263143 500 47 Unknown
/dev/mmcblk0p6 393216 394715 750 45 Unknown
/dev/mmcblk0p7 524288 529287 2500 4c Unknown
/dev/mmcblk0p8 655360 675839 10240 48 Unknown
/dev/mmcblk0p9 786432 789431 1500 46 Unknown
/dev/mmcblk0p10 917504 923647 3072 4a Unknown
/dev/mmcblk0p11 1048576 1054719 3072 4b Unknown
/dev/mmcblk0p12 1054720 1062911 4096 f0 Linux/PA-RISC boot
/dev/mmcblk0p13 1062912 1128447 32768 83 Linux
/dev/mmcblk0p14 1179648 30969855 14895104 8e Linux LVM
That great! Now what?
Is my TouchPad really dead?
Can I use it still for Android?
How can I reflash or put back 'Web OS Recovery' ?
With all of the access I feel I have, do I need 'WebOS Recovery' at all?
Can't I just 'DD' one or more of the 14 partitions ?
Click to expand...
Click to collapse
Try to (just) load this version of moboot-dfu instead:
https://goo.im/devs/jcsullins/tpdebrick/moboot-dfu-20150128
Do you see small text appear on the screen after loading it?
If so, are there two lines with "a6_test"? If so, what do they say. If not, what does it say on the screen.
If nothing appears on screen, does it show up when you run "fastboot devices" ?
If so, does it allow you to run "fastboot oem klogs 2>&1"? If so, upload the output and give link here.
jcsullins said:
Try to (just) load this version of moboot-dfu instead:
https://goo.im/devs/jcsullins/tpdebrick/moboot-dfu-20150128
Click to expand...
Click to collapse
Ok, from the 'Palm mode' ( POWER + HOME + VOLUME-UP ) for about 30 seconds ...
Code:
dfu-util -d 0830:8070 -R -D moboot-dfu-20150128
jcsullins said:
Do you see small text appear on the screen after loading it?
Click to expand...
Click to collapse
Yes!!! Thank you! I was beginning to think something was damaged as I didn't see anything on screen for long time ( although I was getting some access through SSH )
jcsullins said:
If so, are there two lines with "a6_test"? If so, what do they say. If not, what does it say on the screen.
Click to expand...
Click to collapse
Code:
(bootloader) [2100] a6_test: batt valid=1 percent=0 voltage=3225680
(bootloader) [2110] a6_test: batt temp=19 current=-312 coulombs=0
Although it does says 0 percent, I did let it charge the whole night ( as your tpdebrick tool suggests )
jcsullins said:
If nothing appears on screen, does it show up when you run "fastboot devices" ?
If so, does it allow you to run "fastboot oem klogs 2>&1"? If so, upload the output and give link here.
Click to expand...
Click to collapse
Yes, I see ( finally) stuff on the screen! Again, Thank you! I was beginning to think something was damaged as I didn't see anything on screen for long time.
http://forum.xda-developers.com/attachment.php?attachmentid=3139872&stc=1&d=1422547266
Now can I go ahead and load-up or run your full toolbox software and reformat/setup the entire flash device for Android ?

Categories

Resources