[Q] Partiion table - Transformer TF300T Q&A, Help & Troubleshooting

What partitions there are in out tablet?
"fastboot getvar all" gets this:
bootloader
recovery
boot
system
cache
userdata
Also i can find such list:
mmcblk0boot0
mmcblk0boot1
mmcblk0 ... 8
(and mmcblk1 is external uSD card)
What is tre partition table (and its sizes, for 32G model), and what is function (and content) of these partitions?

tijl-comdor said:
What partitions there are in out tablet?
"fastboot getvar all" gets this:
bootloader
recovery
boot
system
cache
userdata
Also i can find such list:
mmcblk0boot0
mmcblk0boot1
mmcblk0 ... 8
(and mmcblk1 is external uSD card)
What is tre partition table (and its sizes, for 32G model), and what is function (and content) of these partitions?
Click to expand...
Click to collapse
mmcblk0 layout
All dumps were done on Asus Eee Pad Transformer Infinity TF700T, 64GB version, firmware 9.4.5.26, locked
mmcblk0 off-partition section
Offset: 0 (0x0)
Size: 38273024 (0x2480000)
Read command: busybox dd if=/dev/block/mmcblk0 of=/mnt/sdcard/mmcblk0pre1.img bs=524288 count=73
Offset: 0 (0x0)
Size: 3670016 (0x380000)
Contains: Zeroes
Purpose: Unknown
Extract command: dd if=mmcblk0pre1.img of=mmcblk0pre1s1.img bs=3670016 count=1
Process command: tr -d '\0' <mmcblk0pre1s1.img >mmcblk0pre1s1nz.img # mmcblk0pre1s1nz.img must be empty file
Offset: 3670016 (0x380000)
Contains: Recovery kernel image followed by zeroes
Size: 8388608 (0x800000)
Extract command: dd if=mmcblk0pre1.img of=mmcblk0pre1s2.img bs=524288 skip=7 count=16
Process commands:
perl split_bootimg.pl mmcblk0pre1s2.img
mkdir mmcblk0pre1s2.img-ramdisk
cd mmcblk0pre1s2.img-ramdisk
zcat ../mmcblk0pre1s2.img-ramdisk.gz | cpio -i
cd ..
# end Process commands
Offset: 12058624 (0xb80000)
Contains: Regular boot kernel image followed by zeroes
Size: 8388608 (0x800000)
Extract command: dd if=mmcblk0pre1.img of=mmcblk0pre1s3.img bs=524288 skip=23 count=16
Process commands:
perl split_bootimg.pl mmcblk0pre1s3.img
mkdir mmcblk0pre1s3.img-ramdisk
cd mmcblk0pre1s3.img-ramdisk
zcat ../mmcblk0pre1s3.img-ramdisk.gz | cpio -i
cd ..
# end Process commands
Offset: 20447232 (0x1380000)
Contains: Block of 16 bytes followed by 0x2de0 hexadecimal numbers followed by FF
Size: 12288 (0x3000)
Extract command: dd if=mmcblk0pre1.img of=mmcblk0pre1s4.img bs=524288 skip=39
Vital data:
Extract command: dd if=mmcblk0pre1s4.img of=mmcblk0pre1s4ss2.img bs=4096 skip=3
Binary part of vital data:
Extract command: dd if=mmcblk0pre1s4ss1.img of=mmcblk0pre1s4ss1ch1.img bs=16 count=1
Hexadecimal part of vital data:
Extract command: dd if=mmcblk0pre1s4ss1.img of=mmcblk0pre1s4ss1ch2.img bs=16 count=734 skip=1
Process command: unhex <mmcblk0pre1s4ss1ch2.img >mmcblk0pre1s4ss1ch2bin.img
FF part of vital data:
Extract command: dd if=mmcblk0pre1s4ss1.img of=mmcblk0pre1s4ss1ch3.img bs=16 skip=735
Process command: tr -d '\377' <mmcblk0pre1s4ss1ch3.img >mmcblk0pre1s4ss1ch3nff.img # mmcblk0pre1s4ss1ch3nff.img must be empty file
Zeroes:
Extract command: dd if=mmcblk0pre1s4.img of=mmcblk0pre1s4ss1.img bs=4096 count=3
Process command: tr -d '\0' <mmcblk0pre1s4ss2.img >mmcblk0pre1s4ss2nz.img # mmcblk0pre1s4ss2nz.img must be empty file
Purpose: Probably encrypted bootloader
mmcblk0p1
Offset: 38273024 (0x2480000)
Size: 805306368 (0x30000000)
File system size: 196608 * 4096 = 805306368 (fully occupies partition)
Format: Linux ext4 filesystem
Mounted at: /system
Mount options: read only, extended attributes, ACL
Permissions: only root can manipulate
Contains: Base system and embedded applications
Purpose: Base system
mmcblk0p2
Offset: 843579392 (0x32480000)
Size: 448790528 (0x1ac00000)
File system size: 109568 * 4096 = 448790528 (fully occupies partition)
Format: Linux ext4 filesystem
Mounted at: /cache
Mount options: read/write, no SUID, no device nodes, no atime
Permissions: only root can manipulate, UID system and GID cache can read and write
Contains: Cache
Purpose: Application cache
Note: The volume has the same UUID as mmcblk0p1
mmcblk0p3
Offset: 1292369920 (0x4d080000)
Size: 2097152 (0x200000)
File system size: 512 * 4096 = 2097152 (fully occupies partition)
Linux rev 1.0 ext3 filesystem
Not mounted
Permissions: GID system can manipulate
Contains: Empty file system
Purpose: Recovery /misc
Referenced by: /system/lib/libandroid_runtime.so recovery ramdisk: /etc/recovery.fstab
Note: File system is referenced in recovery as emmc, not ext3!
mmcblk0p4
Offset: 1294467072 (0x4d280000)
Size: 855638016 (0x33000000)
File system size: 208896 * 4096 = 855638016
Linux rev 1.0 ext3 filesystem
Not mounted
Permissions: GID system can manipulate
Contains: Empty file system
Purpose: Recovery /staging
Referenced by: recovery ramdisk: init.rc /etc/recovery.fstab
mmcblk0p5
Offset: 2150105088 (0x80280000)
Size: 5242880 (0x500000)
File system size: 5092 * 1024 = 5147488
Format: FAT32 file system, no partition table, MS-DOS "Non-system disk" boot block
Not mounted
Permissions: only root can manipulate
Contains: File system with files:
Serial numbers (ISN, PPID, SSN, UUID)
Calibration data (AL3010 light sensor, AMI304 magnetic sensor, KXTF9 motion sensor)
Purpose: Device specific unique system data, mounted as /btmac during Android boot
Referenced by: /system/bin/wifimacwriter /system/bin/brcm_patchram_plus /system/bin/sensors-config /system/bin/sixpair ramdisk: /init recovery ramdisk: /etc/recovery.fstab /init
mmcblk0p5 off file-system area
Offset in section: 5147488 (0x4e8b60)
Size: 28672 (0x7000)
Read command: busybox dd if=/dev/block/mmcblk0p5 of=/mnt/sdcard/mmcblk0p5s2.img bs=1024 skip=5092
Process command: tr -d '\0' <mmcblk0p5s2.img >mmcblk0p5s2nz.img # mmcblk0p5s2nz.img must be empty file
mmcblk0p6
Offset: 2155347968 (0x80780000)
Size: 524288 (0x80000)
Format: binary data
Permissions: UID drm can manipulate
Contains: 208 bytes of binary data, the rest are zeroes
Purpose: DRM, probably contains encrypted DRM key
Referenced by: /system/bin/wvdrmserver /system/vendor/lib/drm/libdrmwvmplugin.so
mmcblk0p7
Offset: 2155872256 (0x80800000)
Size: 5242880 (0x500000)
Format: empty
Contains: Zeroes
Purpose: Unknown
mmcblk0p8
Offset: 2161115136 (0x80d00000)
Size: 61415620608 (0xe4ca80000)
File system size: 14994040 * 4096 = 61415587840
Format: Linux ext4 filesystem
Mounted at: /data
Mount options: read/write, no SUID, no device nodes, no atime
Permissions: only root can manipulate, read and write are directory specific
Contains: User applications, user data, and virtual internal SD card
Note: /data/media is mounted via UID/GID stripping FUSE as /mnt/sdcard
mmcblk0p8 off file-system area
Offset in section: 61415587840 (0xe4ca78000)
Size: 32768 (0x8000)
Read command: busybox dd if=/dev/block/mmcblk0p8 of=/mnt/sdcard/mmcblk0p8s2.img bs=4096 skip=14994040
mmcblk0 off-partition section
Offset: 63576735744 (0xecd780000)
Size: 524288 (0x80000)
Read command: busybox dd if=/dev/block/mmcblk0 of=/mnt/sdcard/mmcblk0post8.img bs=524288 skip=121263
Process command: tr -d '\0' <mmcblk0p8s2.img >mmcblk0p8s2nz.img # mmcblk0p8s2nz.img must be empty file
Offset: 63576735744 (0xecd780000)
Offset in section: 0 (0x0)
Size: 507392 (0x7be00)
Contains: Zeroes
Purpose: Unknown
Extract command: dd if=mmcblk0post8.img of=mmcblk0post8s1.img bs=507392 count=1
Process command: tr -d '\0' <mmcblk0post8s1.img >mmcblk0post8s1nz.img # mmcblk0post8s1nz.img must be empty file
Offset: 63577243136 (0xecd7fbe00)
Offset in section: 507392 (0x7be00)
Size: 16896 (0x4200)
Contains: EFI Partition table (partition names: APP, CAC, MSC, USP, PER, YTU, CRA, UDA)
Extract command: dd if=mmcblk0post8.img of=mmcblk0post8s2.img bs=512 skip=991
Purpose: Partition table
Total size of mmcblk0: 63577260032 (0xecd800000)
Notes:
can manipulate = can read, write partition vital data, only root can mount
can read, write = can read, write partition file system contents
Read commands are ran on the Transformer
Extract and process commands are run anywhere, with pre-read image file in the current directory.
You need dd with large files support. Vanilla dd on TF700T does not support large files. Busybox dd does.

Related

TF700T complete flash layout

I spent some time in analyzing of flash layout. The comprehensive description below attempts to map each byte of the flash and describes way to extract it.
I would be glad if somebody could provide more detailed info about bootloader, signatures, DRM etc.
Patches are welcome.
Code:
mmcblk0 layout
All dumps were done on Asus Eee Pad Transformer Infinity TF700T, 64GB version, firmware 9.4.5.26, locked
mmcblk0 off-partition section
Offset: 0 (0x0)
Size: 38273024 (0x2480000)
Read command: busybox dd if=/dev/block/mmcblk0 of=/mnt/sdcard/mmcblk0pre1.img bs=524288 count=73
Offset: 0 (0x0)
Size: 3670016 (0x380000)
Contains: Zeroes
Purpose: Unknown
Extract command: dd if=mmcblk0pre1.img of=mmcblk0pre1s1.img bs=3670016 count=1
Process command: tr -d '\0' <mmcblk0pre1s1.img >mmcblk0pre1s1nz.img # mmcblk0pre1s1nz.img must be empty file
Offset: 3670016 (0x380000)
Contains: Recovery kernel image followed by zeroes
Size: 8388608 (0x800000)
Extract command: dd if=mmcblk0pre1.img of=mmcblk0pre1s2.img bs=524288 skip=7 count=16
Process commands:
perl split_bootimg.pl mmcblk0pre1s2.img
mkdir mmcblk0pre1s2.img-ramdisk
cd mmcblk0pre1s2.img-ramdisk
zcat ../mmcblk0pre1s2.img-ramdisk.gz | cpio -i
cd ..
# end Process commands
Offset: 12058624 (0xb80000)
Contains: Regular boot kernel image followed by zeroes
Size: 8388608 (0x800000)
Extract command: dd if=mmcblk0pre1.img of=mmcblk0pre1s3.img bs=524288 skip=23 count=16
Process commands:
perl split_bootimg.pl mmcblk0pre1s3.img
mkdir mmcblk0pre1s3.img-ramdisk
cd mmcblk0pre1s3.img-ramdisk
zcat ../mmcblk0pre1s3.img-ramdisk.gz | cpio -i
cd ..
# end Process commands
Offset: 20447232 (0x1380000)
Contains: Block of 16 bytes followed by 0x2de0 hexadecimal numbers followed by FF
Size: 12288 (0x3000)
Extract command: dd if=mmcblk0pre1.img of=mmcblk0pre1s4.img bs=524288 skip=39
Vital data:
Extract command: dd if=mmcblk0pre1s4.img of=mmcblk0pre1s4ss2.img bs=4096 skip=3
Binary part of vital data:
Extract command: dd if=mmcblk0pre1s4ss1.img of=mmcblk0pre1s4ss1ch1.img bs=16 count=1
Hexadecimal part of vital data:
Extract command: dd if=mmcblk0pre1s4ss1.img of=mmcblk0pre1s4ss1ch2.img bs=16 count=734 skip=1
Process command: unhex <mmcblk0pre1s4ss1ch2.img >mmcblk0pre1s4ss1ch2bin.img
FF part of vital data:
Extract command: dd if=mmcblk0pre1s4ss1.img of=mmcblk0pre1s4ss1ch3.img bs=16 skip=735
Process command: tr -d '\377' <mmcblk0pre1s4ss1ch3.img >mmcblk0pre1s4ss1ch3nff.img # mmcblk0pre1s4ss1ch3nff.img must be empty file
Zeroes:
Extract command: dd if=mmcblk0pre1s4.img of=mmcblk0pre1s4ss1.img bs=4096 count=3
Process command: tr -d '\0' <mmcblk0pre1s4ss2.img >mmcblk0pre1s4ss2nz.img # mmcblk0pre1s4ss2nz.img must be empty file
Purpose: Probably encrypted bootloader
mmcblk0p1
Offset: 38273024 (0x2480000)
Size: 805306368 (0x30000000)
File system size: 196608 * 4096 = 805306368 (fully occupies partition)
Format: Linux ext4 filesystem
Mounted at: /system
Mount options: read only, extended attributes, ACL
Permissions: only root can manipulate
Contains: Base system and embedded applications
Purpose: Base system
mmcblk0p2
Offset: 843579392 (0x32480000)
Size: 448790528 (0x1ac00000)
File system size: 109568 * 4096 = 448790528 (fully occupies partition)
Format: Linux ext4 filesystem
Mounted at: /cache
Mount options: read/write, no SUID, no device nodes, no atime
Permissions: only root can manipulate, UID system and GID cache can read and write
Contains: Cache
Purpose: Application cache
Note: The volume has the same UUID as mmcblk0p1
mmcblk0p3
Offset: 1292369920 (0x4d080000)
Size: 2097152 (0x200000)
File system size: 512 * 4096 = 2097152 (fully occupies partition)
Linux rev 1.0 ext3 filesystem
Not mounted
Permissions: GID system can manipulate
Contains: Empty file system
Purpose: Recovery /misc
Referenced by: /system/lib/libandroid_runtime.so recovery ramdisk: /etc/recovery.fstab
Note: File system is referenced in recovery as emmc, not ext3!
mmcblk0p4
Offset: 1294467072 (0x4d280000)
Size: 855638016 (0x33000000)
File system size: 208896 * 4096 = 855638016
Linux rev 1.0 ext3 filesystem
Not mounted
Permissions: GID system can manipulate
Contains: Empty file system
Purpose: Recovery /staging
Referenced by: recovery ramdisk: init.rc /etc/recovery.fstab
mmcblk0p5
Offset: 2150105088 (0x80280000)
Size: 5242880 (0x500000)
File system size: 5092 * 1024 = 5147488
Format: FAT32 file system, no partition table, MS-DOS "Non-system disk" boot block
Not mounted
Permissions: only root can manipulate
Contains: File system with files:
Serial numbers (ISN, PPID, SSN, UUID)
Calibration data (AL3010 light sensor, AMI304 magnetic sensor, KXTF9 motion sensor)
Purpose: Device specific unique system data, mounted as /btmac during Android boot
Referenced by: /system/bin/wifimacwriter /system/bin/brcm_patchram_plus /system/bin/sensors-config /system/bin/sixpair ramdisk: /init recovery ramdisk: /etc/recovery.fstab /init
mmcblk0p5 off file-system area
Offset in section: 5147488 (0x4e8b60)
Size: 28672 (0x7000)
Read command: busybox dd if=/dev/block/mmcblk0p5 of=/mnt/sdcard/mmcblk0p5s2.img bs=1024 skip=5092
Process command: tr -d '\0' <mmcblk0p5s2.img >mmcblk0p5s2nz.img # mmcblk0p5s2nz.img must be empty file
mmcblk0p6
Offset: 2155347968 (0x80780000)
Size: 524288 (0x80000)
Format: binary data
Permissions: UID drm can manipulate
Contains: 208 bytes of binary data, the rest are zeroes
Purpose: DRM, probably contains encrypted DRM key
Referenced by: /system/bin/wvdrmserver /system/vendor/lib/drm/libdrmwvmplugin.so
mmcblk0p7
Offset: 2155872256 (0x80800000)
Size: 5242880 (0x500000)
Format: empty
Contains: Zeroes
Purpose: Unknown
mmcblk0p8
Offset: 2161115136 (0x80d00000)
Size: 61415620608 (0xe4ca80000)
File system size: 14994040 * 4096 = 61415587840
Format: Linux ext4 filesystem
Mounted at: /data
Mount options: read/write, no SUID, no device nodes, no atime
Permissions: only root can manipulate, read and write are directory specific
Contains: User applications, user data, and virtual internal SD card
Note: /data/media is mounted via UID/GID stripping FUSE as /mnt/sdcard
mmcblk0p8 off file-system area
Offset in section: 61415587840 (0xe4ca78000)
Size: 32768 (0x8000)
Read command: busybox dd if=/dev/block/mmcblk0p8 of=/mnt/sdcard/mmcblk0p8s2.img bs=4096 skip=14994040
mmcblk0 off-partition section
Offset: 63576735744 (0xecd780000)
Size: 524288 (0x80000)
Read command: busybox dd if=/dev/block/mmcblk0 of=/mnt/sdcard/mmcblk0post8.img bs=524288 skip=121263
Process command: tr -d '\0' <mmcblk0p8s2.img >mmcblk0p8s2nz.img # mmcblk0p8s2nz.img must be empty file
Offset: 63576735744 (0xecd780000)
Offset in section: 0 (0x0)
Size: 507392 (0x7be00)
Contains: Zeroes
Purpose: Unknown
Extract command: dd if=mmcblk0post8.img of=mmcblk0post8s1.img bs=507392 count=1
Process command: tr -d '\0' <mmcblk0post8s1.img >mmcblk0post8s1nz.img # mmcblk0post8s1nz.img must be empty file
Offset: 63577243136 (0xecd7fbe00)
Offset in section: 507392 (0x7be00)
Size: 16896 (0x4200)
Contains: EFI Partition table (partition names: APP, CAC, MSC, USP, PER, YTU, CRA, UDA)
Extract command: dd if=mmcblk0post8.img of=mmcblk0post8s2.img bs=512 skip=991
Purpose: Partition table
Total size of mmcblk0: 63577260032 (0xecd800000)
Notes:
can manipulate = can read, write partition vital data, only root can mount
can read, write = can read, write partition file system contents
Read commands are ran on the Transformer
Extract and process commands are run anywhere, with pre-read image file in the current directory.
You need dd with large files support. Vanilla dd on TF700T does not support large files. Busybox dd does.
Dropbox link to Asus_Transformer_Infinity_TF700T/flash_layout.txt
Wow, thanks for this detailed analysis - much more detailed than mine.
So what can I add to your research?
Tegra-based systems have another partition table, which has a proprietary layout and an unknown purpose (maybe just important for NVFlash and for flashing blobs?). Looking at the flash.cfg in the NVFlash package from AndroidRoot.mobi, we can get the Tegra partition layout and partition names:
Partition number 1 is missing in the list, maybe it contains the extremely well-hidden APX mode recovery code or even the answer to life, the universe and everything.
The following 3 partitions are located at the beginning of mmcblk0 and their contents are apparently encrypted with a device-specific key. For some reason, with ICS-based ROMs it reads as all zeros; in JB-based ROMs additional mmcblk0boot0 and mmcblk0boot1 partitions appear which together cover this area. The "bricksafe.img" in the nvflash guide covers these 3 partitions.
2 BCT: Tegra Boot Configuration Table - 3145728 bytes
3 PT: Tegra Partition Table - 524288 bytes
4 EBT: Bootloader - 8388608 bytes
You already know the following 2:
5 SOS: Recovery kernel - 8388608 bytes
6 LNX: Linux kernel - 8388608 bytes
Then some more funny ones:
7 CER: I think this stands for "Certificate" and contains the bootloader unlock token. - 8388608 bytes. If I calculated correctly, this is at 0x1380000 into mmcblk0. Saved as "unlock-token.img" in the nvflash guide.
8 IMG: no idea what this is for - 8388608 bytes
9 GP1: space for a GPT partition table, maybe unused - 1048576 bytes
Now the regular partitions follow (p1 to p8):
10 APP: p1 = /system (Android OS)
11 CAC: p2 = /cache (for communication between Android and recovery)
12 MSC: p3 ="misc", whatever that is. On the TF101 it was used for bootloader commands.
13 USP: p4 = The update staging partition. Update blobs are copied here and flashed to the correct partition by the bootloader.
14 PER: p5 = device-specific config in a FAT filesystem
15 YTU: p6 = Apparently the DRM key. Confirmed to be overwritten with 0 by the unlocking process.
16 CRA: p7 = unknown (reserved for crash dumps?)
17 UDA: p8 = /data (Android user data)
And finally:
18 GPT: the EFI partition table that is actually used by the kernel
Well, it seems, that something (ICS stock kernel, hardware) hides contents of the first (at most) 0x380000 bytes of flash.
I am locked, and I have some token at 0x1380000 as well.
I am still thinking about a way to unlock, keep access to nvflash, and upgrade to JB keeping DRM working, even at cost of using stock system. That is why I wanted to backup and analyze everything and find all keys and signatures.
It would be also nice to know, whether there are areas of flash with hardware or kernel write lock.
utx said:
Well, it seems, that something (ICS stock kernel, hardware) hides contents of the first (at most) 0x380000 bytes of flash.
I am locked, and I have some token at 0x1380000 as well.
Click to expand...
Click to collapse
Yes, before unlocking I had something very similar to you there - a 16 byte header followed by some hexdump. I don't know what it was. It was overwritten by the unlock process with a 4 byte data block prefixed with a "-SIGNED-BY-SIGNBLOB-" header and followed by 256 bytes of what looks like a digital signature, very similar to the signed update blobs.
utx said:
I am still thinking about a way to unlock, keep access to nvflash, and upgrade to JB keeping DRM working, even at cost of using stock system. That is why I wanted to backup and analyze everything and find all keys and signatures.
Click to expand...
Click to collapse
Definitely back up the YTU partition before unlocking (p6) and then make the nvflash backups - but maybe the key must match something that is broken by the unlocking process, or it is renewed periodically, etc., so it might not help. Maybe try using DRM before unlocking and watch if the content of the partition changes over time.
utx said:
It would be also nice to know, whether there are areas of flash with hardware or kernel write lock.
Click to expand...
Click to collapse
Never tried to write directly to the block device - too scared to break something.
---------- Post added at 09:32 PM ---------- Previous post was at 09:28 PM ----------
Another small addition:
Note: /data/media is mounted via UID/GID stripping FUSE as /mnt/sdcard
Click to expand...
Click to collapse
This FUSE trick also makes /mnt/sdcard case-insensitive.
I just thought of something. What if you launched a data recovery process and recovered the DRM keys for the device?
ostar2 said:
I just thought of something. What if you launched a data recovery process and recovered the DRM keys for the device?
Click to expand...
Click to collapse
How do you define "data recovery process"? You cannot recover data that has been overwritten.
_that said:
How do you define "data recovery process"? You cannot recover data that has been overwritten.
Click to expand...
Click to collapse
Well, if the DRM partition is write enabled, it may be possible to restore its contents, if you backed it up before unlock (it is probably per-device unique). But it could be insufficient. Locked bootloader can be different than unlocked bootloader, and may drop cipher needed for DRM decihering. It is just a theory. Somebody could proof it or falsify, if:
1) Backed all accessible data before unlock.
2) Unlocked (and to be safe, also made brickproof image).
3) Recovered the data creates in step 1.
Will DRM work then? Or did we need the contents of (currently inaccessible) locked stock data of the first megabytes?
But I see no way, how to back-up first megabytes of locked device (on ICS; JB is not as interesting for us, once you upgrade to JB, you cannot create brickproof image for nvflash).
I even don't know, which part of the subsystem causes these megabytes being reported as zeroes. Is it stock Asus ICS kernel? Is it bootloader? Is it a hardware lock on the flash device?
Good idea, but what I meant by "Data Recovey". Is restoring the deleted data from that filesystem/partition.
ostar2 said:
Good idea, but what I meant by "Data Recovey". Is restoring the deleted data from that filesystem/partition.
Click to expand...
Click to collapse
I see, so I assume you assume you had a backup before.
Somebody (maybe you?) could try roughly the following sequence:
- get new TF700
- update to 9.4.5.26. if it's already newer, forget nvflash, but the rest could still work.
- root it using debugfs
- make a backup of /dev/block/mmcblk0p6
- do some DRM-dependent stuff and check that it works
- after some days, make another backup of /dev/block/mmcblk0p6 and compare if anything has changed. If the key is static, maybe restoring after unlocking could work. If not, chances are high that it doesn't work.
- unlock (this erases mmcblk06 and voids warranty)
- optional, but very useful: install AndroidRoot hacked bootloader to make blobs for nvflash, then use nvflash to backup all partitions
- restore backup of /dev/block/mmcblk0p6
- try if DRM still works
_that said:
I see, so I assume you assume you had a backup before.
Somebody (maybe you?) could try roughly the following sequence:
- get new TF700
- update to 9.4.5.26. if it's already newer, forget nvflash, but the rest could still work.
- root it using debugfs
- make a backup of /dev/block/mmcblk0p6
- optional, but very useful: install AndroidRoot hacked bootloader to make blobs for nvflash, then use nvflash to backup all partitions
- do some DRM-dependent stuff and check that it works
- after some days, make another backup of /dev/block/mmcblk0p6 and compare if anything has changed. If the key is static, maybe restoring after unlocking could work. If not, chances are high that it doesn't work.
- unlock (this erases mmcblk06 and voids warranty)
- restore backup of /dev/block/mmcblk0p6
- try if DRM still works
Click to expand...
Click to collapse
To install AndroidRoot bootloader and by that getting nvflash blobs, you have to unlock first... The order of your steps is therefore wrong.
firetech said:
To install AndroidRoot bootloader and by that getting nvflash blobs, you have to unlock first... The order of your steps is therefore wrong.
Click to expand...
Click to collapse
Oops, thanks for noticing. I edited my post.
what if we were to read from the NAND externally (RAW)....xbox 360 style...wouldn't that be the same as nvflash....
except that the three partitions in question are encrypted with a key that is probably unique per Tegra...
2 BCT: Tegra Boot Configuration Table - 3145728 bytes
3 PT: Tegra Partition Table - 524288 bytes
4 EBT: Bootloader - 8388608 bytes
but I would suppose it wouldn't be a problem since a raw flash would restore everything back to normal...even if we can't read it..the CPU can..and that's all that matters.
---------- Post added at 11:21 AM ---------- Previous post was at 11:13 AM ----------
never mind...its a BGA
_that said:
I see, so I assume you assume you had a backup before.
Somebody (maybe you?) could try roughly the following sequence:
- get new TF700
- update to 9.4.5.26. if it's already newer, forget nvflash, but the rest could still work.
- root it using debugfs
- make a backup of /dev/block/mmcblk0p6
- do some DRM-dependent stuff and check that it works
- after some days, make another backup of /dev/block/mmcblk0p6 and compare if anything has changed. If the key is static, maybe restoring after unlocking could work. If not, chances are high that it doesn't work.
- unlock (this erases mmcblk06 and voids warranty)
- optional, but very useful: install AndroidRoot hacked bootloader to make blobs for nvflash, then use nvflash to backup all partitions
- restore backup of /dev/block/mmcblk0p6
- try if DRM still works
Click to expand...
Click to collapse
Correct order maybe.
- get new TF700
- update to 9.4.5.26.
- root it using debugfs
- make a backup of /dev/block/*.*
- unlock (this erases mmcblk06 and voids warranty)
- install AndroidRoot hacked bootloader to make blobs for nvflash
- restore backup of /dev/block/mmcblk0p6
- try if DRM still works
Q1:If i backed up 9.4.5.26 all block image.After i updated 9.4.5.30 can i get the nvflash blob from backed up images?No way to dig out the blob key from the backup?
W3ber said:
Q1:If i backed up 9.4.5.26 all block image.After i updated 9.4.5.30 can i get the nvflash blob from backed up images?No way to dig out the blob key from the backup?
Click to expand...
Click to collapse
No way - the BCT, bootloader, etc. is not visible to the kernel at all (so it's not included in your images), and I don't know which kind of magic the blob creation tool uses, but I assume it's more than reading stuff from the nand.

[Q] How to repair partition on internal storage?

I was trying to get 4.4.2 (Omnirom / CM11.1) on my Xoom.
The only problem I facing is TWRP is asking for password or else it will have problem mounting to cache.
This lead to cannot wipe cache and cannot wipe cache\dalvik.
I search the forum up and down and people comment that the partition is corrupt that TWRP trying to recover it.
So my question is how can I repair or recreate the partition.
What tool should I use?
Even if it is using adb shell, what kind of program I need to push into the phone.
Hope someone can help me out.
I did try to play around like 5 hours.
At first TWRP complaint that cannot mount /cache
Then I try use CWM recovery to wipe cache and dalvik. Then only install TWRP (without big part). Again I wipe cache and dalvik.
Then when I install TWRP (with big part) and no longer complaint cannot mount cache.
But it keep showing update partition details.
When I try to wipe data it will be unsuccessful.
Hope experience people can guide me. Really want to see my motorola xoom (everest) to be on kit kat.
kblade29m said:
I was trying to get 4.4.2 (Omnirom / CM11.1) on my Xoom.
The only problem I facing is TWRP is asking for password or else it will have problem mounting to cache.
This lead to cannot wipe cache and cannot wipe cache\dalvik.
I search the forum up and down and people comment that the partition is corrupt that TWRP trying to recover it.
So my question is how can I repair or recreate the partition.
What tool should I use?
Even if it is using adb shell, what kind of program I need to push into the phone.
Hope someone can help me out.
I did try to play around like 5 hours.
At first TWRP complaint that cannot mount /cache
Then I try use CWM recovery to wipe cache and dalvik. Then only install TWRP (without big part). Again I wipe cache and dalvik.
Then when I install TWRP (with big part) and no longer complaint cannot mount cache.
But it keep showing update partition details.
When I try to wipe data it will be unsuccessful.
Hope experience people can guide me. Really want to see my motorola xoom (everest) to be on kit kat.
Click to expand...
Click to collapse
hello...
same problem on my xoom Wingray
if i find a fix i posted here
Good luck
ankorez said:
hello...
same problem on my xoom Wingray
if i find a fix i posted here
Good luck
Click to expand...
Click to collapse
Same here too... wingray also
As far as I can tell, you didn't follow the directions. Re-start the BigPart process from the beginning, and when TWRP asks you for a password, just ignore that and press the Home icon at the top. Tap the Wipe tab, and there will be two options, Advanced and Format Data, along with the slider at the bottom for a Factory Reset. Tap the Format Data tab, type yes when prompted, and hit enter/return. Then follow the rest of the steps in the BigPart process.
And, please, if you're going to BigPart, just pretend CWM doesn't exist, because all it's going to do is mess things up for you.
Thanks webeougher. I revisit the steps and this time successfully to make it work.
http://forum.xda-developers.com/showthread.php?t=2506997
Step 1 - Preparation
Format MicroSD to Fat32 and copied the following files
- R.A.H._TWRPv2.6.3_BigPart_selinux.zip
- cm-11-20140216-UNOFFICIAL-1501+0100-everest.zip
- pa_gapps-modular-full-4.4.2-20131230-signed.zip
Step 2 - Flash Recovery to TWRP
- Has Android SDK
- Extract R.A.H._TWRPv2.6.3.zip to get recovery.img
- Set Xoom to Fastboot mode by press vol down before dual core logo appeared.
- In command line, type fastboot flash recovery recovery.img
Step 3 - Boot into Recovery
- Set Xoom to Recovery mode by press vol down after dual core logo appeared for 3 seconds.
- Notice at this step you will not have problem mounting to /cache partition.
Step 4 - Create BigPart
Refer to http://forum.xda-developers.com/showthread.php?t=2506997
Go through step by step.
- Use Install to flash R.A.H._TWRPv2.6.3_BigPart_selinux.zip (No Reboot)
- Home - Wipe - Advanced Wipe -> Wipe Dalvik Cache, System, Cache, Data, Internal Storage. Exclude sdcard. (No Reboot)
- Home - Reboot - Recovery -> Don't Install SuperSU (Rebooted into Recovery)
- Home - Wipe - Format Data - Type yes (No Reboot)
- Home - Wipe - Advanced Wipe -> Wipe system and cache (No Reboot)
- Home - Reboot - Recovery -> Don't Install SuperSu (Rebooted into Recovery)
- Home - Mount - Check System and Uncheck System (Just testing only. No Reboot)
Step 5 - Install Rom and Gapps
- Home - Install - cm-11-20140216-UNOFFICIAL-1501+0100-everest.zip and pa_gapps-modular-full-4.4.2-20131230-signed.zip
- Swipe to Flash
- Wipe Dalvik and Cache
- Home - Mount - Reboot - System
- Give 5 - 10 minutes for the installation to complete. Not a boot loop. Just take longer time to finish installation.
Enjoy the CM11 (4.4.2) on Xoom
Troubleshooting:
Just incase if you have problem with partition (Step 3), where you notice TWRP already have with partition
- Flash Clockworkmod Recovery
- Remove SDcard
- Reboot into CWM recovery
- Mount and Storage - Format system, cache, data
- Advanced - Fix Permission
- Flash TWRP Recovery (Back to step 2)
kblade29m said:
Thanks webeougher. I revisit the steps and this time successfully to make it work.
http://forum.xda-developers.com/showthread.php?t=2506997
Step 1 - Preparation
...
Step 2 - Flash Recovery to TWRP
...
Step 3 - Boot into Recovery
...
Step 4 - Create BigPart
...
Step 5 - Install Rom and Gapps
...
Troubleshooting:
Just incase if you have problem with partition (Step 3), where you notice TWRP already have with partition
- Flash Clockworkmod Recovery
- Remove SDcard
- Reboot into CWM recovery
- Mount and Storage - Format system, cache, data
- Advanced - Fix Permission
- Flash TWRP Recovery (Back to step 2)
Click to expand...
Click to collapse
There is almost the same problem with my "UMTS_Everest". I tried to follow all these instructions (includin the "troubleshooting part". But I'm not able to flash another recovery anymore with fastboot nor with TRWP (CWM e.g.) :crying:
I tried also everything, but there is (has never been) no /data-partition anymore and it says "unable to mount /cache" all the time in TWRP
There is no /data-partition visible to mount in TRWP.
Try again. Hope you still can enter fastboot mode.
If you use adb and fastboot, I sure you can get it work.
If you using Windows, make sure usb installed with right driver.
Make device in fastboot mode.
Power + Vol down (hold before motorola logo appear).
Screen will show some text related to fastboot.
When you type "fastboot devices" you able to see your device.
fastboot flash recovery clockwork-recovery.img
fastboot reboot
If you can enter clockworkmod recovery u can format all the mount. To enter recovery.
Power + Vol down (hold after Motorola logo appear for 3 second). When recovery text appeared press Vol up.
Sent from my Nexus 4 using xda app-developers app
kblade29m said:
fastboot flash recovery clockwork-recovery.img
fastboot reboot
Click to expand...
Click to collapse
fastboot flash recovery fastboot flash recovery recovery-Tiamat-R4c-100611-1150-cwm.img
or fastboot flash recovery recovery-clockwork-touch-6.0.3.2-everest.img
sending 'recovery' (5270 KB)...
OKAY [ 0.511s]
writing 'recovery'...
OKAY [ 0.523s]
finished. total time: 1.034s
status done!
Still TWRP
peterkling said:
fastboot flash recovery fastboot flash recovery recovery-Tiamat-R4c-100611-1150-cwm.img
or fastboot flash recovery recovery-clockwork-touch-6.0.3.2-everest.img
sending 'recovery' (5270 KB)...
OKAY [ 0.511s]
writing 'recovery'...
OKAY [ 0.523s]
finished. total time: 1.034s
status done!
Still TWRP
Click to expand...
Click to collapse
Hello,
Ihave the same issue.
You have fixed it ?
How I fixed mine
Hi,
I had the same Problem some weeks ago. After trying to install a newer custom Rom which did not boot I neither was able to wipe dalvik nore had a System Partition anymore.
With big help from HDwally I was able to fix it. The first Thing I did was to install a stock Rom.
For this you have to install the Motorola USB Driver
https://motorola-global-portal-de.custhelp.com/app/answers/detail/a_id/91819
and RSD lite.
http://www.chip.de/downloads/RSD-Lite_49139659.html
You might find a suitable stock Rom here:
http://forum.xda-developers.com/showthread.php?t=1049485
After I installed this my Xoom worked fine again. But I installed a crm after that again following these instructions and I was able to install a custom Rom again.
http://forum.xda-developers.com/showthread.php?t=2506997
I hope you will be able to fix your xoom.
Good luck..
Alexander
onlyage said:
Hi,
I had the same Problem some weeks ago. After trying to install a newer custom Rom which did not boot I neither was able to wipe dalvik nore had a System Partition anymore.
With big help from HDwally I was able to fix it. The first Thing I did was to install a stock Rom.
For this you have to install the Motorola USB Driver
https://motorola-global-portal-de.custhelp.com/app/answers/detail/a_id/91819
and RSD lite.
http://www.chip.de/downloads/RSD-Lite_49139659.html
You might find a suitable stock Rom here:
http://forum.xda-developers.com/showthread.php?t=1049485
After I installed this my Xoom worked fine again. But I installed a crm after that again following these instructions and I was able to install a custom Rom again.
http://forum.xda-developers.com/showthread.php?t=2506997
I hope you will be able to fix your xoom.
Good luck..
Alexander
Click to expand...
Click to collapse
Hello,
thank you, but don't work for me.
is there another solution ?
I still have not solved my problem, there's really no way to fix my xoom
If anyone is still looking, this article explains really well:
http://www.djsmobiles.com/2014/02/h...epartition-upgrade-on-your-motorola-xoom.html
Fuuuq! Did the BigPart partition and forgot to back up my current ROM, so when I attempt to reinstall I don't see my .zip plus when I reboot. I get the OS not installed.
Mz600 / Vzw / CDMA+Wifi
Got mine to work
I know this is a dead thread, but just in case someone comes here looking for help...
I tried all the directions, and couldn't get stuff to mount. always fails. I finally got it. Not sure why this worked...
Flashed TWRP through fastboot.
Then flashed recovery-Tiamat-R4c-100611-1150-cwm.img
formatted each partition and then mounted them
then flashed the R.A.H._TWRPv2.6.3_BigPart_selinux.zip
Then rebooted recovery
Then in TWRP it actually let me format each individual partition one at a time.
Then it let me flash Omni
Not sure why TWRP (regardless of version) would not let me mount. Only CW would. anyways, hope this helps.
stingray (verzion xoom) information
I had trouble getting my cache to mount. kept giving me an error of E:Unable to mount /cache/. After beating my head for about 5-7 hours. I found the post quoted below. I used TWRP recovery and adb sideloaded R.A.H._TWRPv2.6.3_BigPart_selinux.zip b/c I couldn't figure out how to mount the SDCARD to just drag and drop the file in my windows Operating System.
Still nothing. Then I followed the post below under STEP 4 VERY CAREFULLY where it instructed me to format the ENTIRE INTERNAL STORAGE ONLY. Did that, installed R.A.H._TWRPv2.6.3_BigPart_selinux.zip and the cache error went away. Followed the REST of step 4 and FINALLY CM11 ON MY WORE OUT MOTOROLA XOOM VERIZON (STINGRAY) TABLET! GOD SPEED AND HAPPY NEW YEARS!! :good::good:
kblade29m said:
Thanks webeougher. I revisit the steps and this time successfully to make it work.
http://forum.xda-developers.com/showthread.php?t=2506997
Step 1 - Preparation
Format MicroSD to Fat32 and copied the following files
- R.A.H._TWRPv2.6.3_BigPart_selinux.zip
- cm-11-20140216-UNOFFICIAL-1501+0100-everest.zip
- pa_gapps-modular-full-4.4.2-20131230-signed.zip
Step 2 - Flash Recovery to TWRP
- Has Android SDK
- Extract R.A.H._TWRPv2.6.3.zip to get recovery.img
- Set Xoom to Fastboot mode by press vol down before dual core logo appeared.
- In command line, type fastboot flash recovery recovery.img
Step 3 - Boot into Recovery
- Set Xoom to Recovery mode by press vol down after dual core logo appeared for 3 seconds.
- Notice at this step you will not have problem mounting to /cache partition.
Step 4 - Create BigPart
Refer to http://forum.xda-developers.com/showthread.php?t=2506997
Go through step by step.
- Use Install to flash R.A.H._TWRPv2.6.3_BigPart_selinux.zip (No Reboot)
- Home - Wipe - Advanced Wipe -> Wipe Dalvik Cache, System, Cache, Data, Internal Storage. Exclude sdcard. (No Reboot)
- Home - Reboot - Recovery -> Don't Install SuperSU (Rebooted into Recovery)
- Home - Wipe - Format Data - Type yes (No Reboot)
- Home - Wipe - Advanced Wipe -> Wipe system and cache (No Reboot)
- Home - Reboot - Recovery -> Don't Install SuperSu (Rebooted into Recovery)
- Home - Mount - Check System and Uncheck System (Just testing only. No Reboot)
Step 5 - Install Rom and Gapps
- Home - Install - cm-11-20140216-UNOFFICIAL-1501+0100-everest.zip and pa_gapps-modular-full-4.4.2-20131230-signed.zip
- Swipe to Flash
- Wipe Dalvik and Cache
- Home - Mount - Reboot - System
- Give 5 - 10 minutes for the installation to complete. Not a boot loop. Just take longer time to finish installation.
Enjoy the CM11 (4.4.2) on Xoom
Troubleshooting:
Just incase if you have problem with partition (Step 3), where you notice TWRP already have with partition
- Flash Clockworkmod Recovery
- Remove SDcard
- Reboot into CWM recovery
- Mount and Storage - Format system, cache, data
- Advanced - Fix Permission
- Flash TWRP Recovery (Back to step 2)
Click to expand...
Click to collapse
I believe I flashed a 4.1.2 boot.img file a modified rooted version and possibly also reset before a proper flashing in twrp 2.8.6.0. could be one or the other. Both.
No go on any of the suggested fixes.
I'm experiencing same issues.
Specifically, I am unable to mount /data & /cache partitions in TWRP v2.8.6.0 Bigpart Recovery.
I am unable to recover them both through the repair function and Change File System function in TWRP.
Tried all configurations of file system type and sequence of changing the file system types of system, ,data, cache.
The error that appears after attempting to change file system of data, system,cache, all of them is as follows
ERROR: sbin/e2fsk -p /dev/block/mmcblk1p10 process ended with ERROR=8
unable to repair '/data'.
error repairing file system.
I can successfully erase system, boot, userdata, recovery partitions and flash any .img to according partitions with fastboot commands (i.e. fastboot erase cache fastboot flash recovery recovery.img) Although this does not successfully flash anything. Fastboot says it does but recovery remains the same as well as the boot animation which im assuming is in the boot.img file.
I believe im looking for the next viable option which is to rebuild the systems internal data? I dont know via fastboot?
Can anyone help? Could someone explain how to what actually is missing here?
I was successful with e2fsck through adb on my userdata partition and using an alternate superblock. But not I am unsuccessful with it on my cache. These are the only two partions that I am unable to mount in TWRP. I am not even sure if fixing these is proper. I attempted to go in on the /dev/block/platform/sdhci-tegra.3/mmcblkop9 and 10 which are damaged as well I learned when I attempted repair on TWRP on cache.
Code:
The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>
~ # ←[6ne2fsck -b 98304 /dev/block/platform/sdhci-tegra.3/by-name/cache
e2fsck -b 98304 /dev/block/platform/sdhci-tegra.3/by-name/cache
e2fsck 1.41.14 (22-Dec-2010)
e2fsck: Invalid argument while trying to open /dev/block/platform/sdhci-tegra.3/
by-name/cache
The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>
~ # ←[6n e2fsck -b 98304 /dev/block/platform/sdhci-tegra.3/by-name/cache
e2fsck -b 98304 /dev/block/platform/sdhci-tegra.3/by-name/cache
e2fsck 1.41.14 (22-Dec-2010)
e2fsck: Invalid argument while trying to open /dev/block/platform/sdhci-tegra.3/
by-name/cache
The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>
~ # ←[6n e2fsck -b 32768 /dev/block/platform/sdhci-tegra.3/by-name/cache
e2fsck -b 32768 /dev/block/platform/sdhci-tegra.3/by-name/cache
e2fsck 1.41.14 (22-Dec-2010)
e2fsck: Invalid argument while trying to open /dev/block/platform/sdhci-tegra.3/
by-name/cache
The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>
~ # ←[6n e2fsck -b /dev/block/platform/sdhci-tegra.3/by-name/cache
e2fsck -b /dev/block/platform/sdhci-tegra.3/by-name/cache
Invalid non-numeric argument to -b ("/dev/block/platform/sdhci-tegra.3/by-name/c
ache")
~ # ←[6n e2fsck -p 32768 /dev/block/platform/sdhci-tegra.3/by-name/cache
e2fsck -p 32768 /dev/block/platform/sdhci-tegra.3/by-name/cache
Usage: e2fsck [-panyrcdfvtDFV] [-b superblock] [-B blocksize]
[-I inode_buffer_blocks] [-P process_inode_size]
[-l|-L bad_blocks_file] [-C fd] [-j external_journal]
[-E extended-options] device
Emergency help:
-p Automatic repair (no questions)
-n Make no changes to the filesystem
-y Assume "yes" to all questions
-c Check for bad blocks and add them to the badblock list
-f Force checking even if filesystem is marked clean
-v Be verbose
-b superblock Use alternative superblock
-B blocksize Force blocksize when looking for superblock
-j external_journal Set location of the external journal
-l bad_blocks_file Add to badblocks list
-L bad_blocks_file Set badblocks list
~ # ←[6n e2fsvk -b 98304 /dev/block/platform/sdhci-tegra.3/by-name/cache
e2fsvk -b 98304 /dev/block/platform/sdhci-tegra.3/by-name/cache
/sbin/sh: e2fsvk: not found
~ # ←[6n e2fsck -b 98304 /dev/block/platform/sdhci-tegra.3/by-name/cache
e2fsck -b 98304 /dev/block/platform/sdhci-tegra.3/by-name/cache
e2fsck 1.41.14 (22-Dec-2010)
e2fsck: Invalid argument while trying to open /dev/block/platform/sdhci-tegra.3/
by-name/cache
The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>
~ # ←[6n e2fsck -b 8193 /dev/block/platform/sdhci-tegra.3/by-name/cache
e2fsck -b 8193 /dev/block/platform/sdhci-tegra.3/by-name/cache
e2fsck 1.41.14 (22-Dec-2010)
e2fsck: Invalid argument while trying to open /dev/block/platform/sdhci-tegra.3/
by-name/cache
The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>
~ # ←[6nmke2fs -n /dev/block/platform/sdhci-tegra.3/by-name/cache
mke2fs -n /dev/block/platform/sdhci-tegra.3/by-name/cache
mke2fs 1.41.14 (22-Dec-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
32768 inodes, 131072 blocks
6553 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=134217728
4 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304
~ # ←[6ne2fsck -p /dev/block/platform/sdhci-tegra.3/by-name/cache
e2fsck -p /dev/block/platform/sdhci-tegra.3/by-name/cache
e2fsck: Bad magic number in super-block while trying to open /dev/block/platform
/sdhci-tegra.3/by-name/cache
/dev/block/platform/sdhci-tegra.3/by-name/cache:
The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>
~ # ←[6ne2fsck -p /dev/block/platform/sdhci-tegra.3/mmcblk0p9
e2fsck -p /dev/block/platform/sdhci-tegra.3/mmcblk0p9
e2fsck: Bad magic number in super-block while trying to open /dev/block/platform
/sdhci-tegra.3/mmcblk0p9
/dev/block/platform/sdhci-tegra.3/mmcblk0p9:
The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>
~ # ←[6nmke2fs -n /dev/block/platform/sdhci-tegra.3/mmcblk0p9
mke2fs -n /dev/block/platform/sdhci-tegra.3/mmcblk0p9
mke2fs 1.41.14 (22-Dec-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
32768 inodes, 131072 blocks
6553 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=134217728
4 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304
~ # ←[6ne2fsck -b 98304 /dev/block/platform/sdhci-tegra.3/mmcblk0p9
e2fsck -b 98304 /dev/block/platform/sdhci-tegra.3/mmcblk0p9
e2fsck 1.41.14 (22-Dec-2010)
e2fsck: Invalid argument while trying to open /dev/block/platform/sdhci-tegra.3/
mmcblk0p9
The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>
~ # ←[6ne2fsck -b 32768 /dev/block/platform/sdhci-tegra.3/mmcblk0p9
e2fsck -b 32768 /dev/block/platform/sdhci-tegra.3/mmcblk0p9
e2fsck 1.41.14 (22-Dec-2010)
e2fsck: Invalid argument while trying to open /dev/block/platform/sdhci-tegra.3/
mmcblk0p9
The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>
~ # ←[6ne2fsck -b 32768 /dev/block/platform/sdhci-tegra.3
e2fsck -b 32768 /dev/block/platform/sdhci-tegra.3
e2fsck 1.41.14 (22-Dec-2010)
e2fsck: Is a directory while trying to open /dev/block/platform/sdhci-tegra.3
The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>
~ # ←[6nmke2fs -n /dev/block/platform/sdhci-tegra.3
mke2fs -n /dev/block/platform/sdhci-tegra.3
mke2fs 1.41.14 (22-Dec-2010)
/dev/block/platform/sdhci-tegra.3 is not a block special device.
Proceed anyway? (y,n) y
y
mke2fs: Device size reported to be zero. Invalid partition specified, or
partition table wasn't reread after running fdisk, due to
a modified partition being busy and in use. You may need to reboot
to re-read your partition table.
~ # ←[6ne2fsck -b 32768 /dev/block/platform/sdhci-tegra.3/mmcblk0p8
e2fsck -b 32768 /dev/block/platform/sdhci-tegra.3/mmcblk0p8
e2fsck 1.41.14 (22-Dec-2010)
/dev/block/platform/sdhci-tegra.3/mmcblk0p8: clean, 11/16384 files, 2089/65536 b
locks
~ # ←[6ne2fsck -b 32768 /dev/block/platform/sdhci-tegra.3/mmcblk0p9
e2fsck -b 32768 /dev/block/platform/sdhci-tegra.3/mmcblk0p9
e2fsck 1.41.14 (22-Dec-2010)
e2fsck: Invalid argument while trying to open /dev/block/platform/sdhci-tegra.3/
mmcblk0p9
The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>
~ # ←[6ne2fsck -n 32768 /dev/block/platform/sdhci-tegra.3/mmcblk0p9
e2fsck -n 32768 /dev/block/platform/sdhci-tegra.3/mmcblk0p9
Usage: e2fsck [-panyrcdfvtDFV] [-b superblock] [-B blocksize]
[-I inode_buffer_blocks] [-P process_inode_size]
[-l|-L bad_blocks_file] [-C fd] [-j external_journal]
[-E extended-options] device
Emergency help:
-p Automatic repair (no questions)
-n Make no changes to the filesystem
-y Assume "yes" to all questions
-c Check for bad blocks and add them to the badblock list
-f Force checking even if filesystem is marked clean
-v Be verbose
-b superblock Use alternative superblock
-B blocksize Force blocksize when looking for superblock
-j external_journal Set location of the external journal
-l bad_blocks_file Add to badblocks list
-L bad_blocks_file Set badblocks list
~ # ←[6ne2fsck -b /dev/block/platform/sdhci-tegra.3/mmcblk0p9
e2fsck -b /dev/block/platform/sdhci-tegra.3/mmcblk0p9
Invalid non-numeric argument to -b ("/dev/block/platform/sdhci-tegra.3/mmcblk0p9
")
~ # ←[6ne2fsck -b 32768 /dev/block/platform/sdhci-tegra.3/mmcblk0p9
e2fsck -b 32768 /dev/block/platform/sdhci-tegra.3/mmcblk0p9
e2fsck 1.41.14 (22-Dec-2010)
e2fsck: Invalid argument while trying to open /dev/block/platform/sdhci-tegra.3/
mmcblk0p9
The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>
~ # ←[6nmke2fs -n /dev/block/platform/sdhci-tegra.3
mke2fs -n /dev/block/platform/sdhci-tegra.3
mke2fs 1.41.14 (22-Dec-2010)
/dev/block/platform/sdhci-tegra.3 is not a block special device.
Proceed anyway? (y,n) y
y
mke2fs: Device size reported to be zero. Invalid partition specified, or
partition table wasn't reread after running fdisk, due to
a modified partition being busy and in use. You may need to reboot
to re-read your partition table.
~ # ←[6nmke2fs -n /dev/block/platform/sdhci-tegra.3/mmcblk0p9
mke2fs -n /dev/block/platform/sdhci-tegra.3/mmcblk0p9
mke2fs 1.41.14 (22-Dec-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
32768 inodes, 131072 blocks
6553 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=134217728
4 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304
~ # ←[6nmke2fs -b 98304 /dev/block/platform/sdhci-tegra.3/mmcblk0p9
mke2fs -b 98304 /dev/block/platform/sdhci-tegra.3/mmcblk0p9
mke2fs: invalid block size - 98304
~ # ←[6nmke2fs -b 98304 /dev/block/platform/sdhci-tegra.3/mmcblk0p9
mke2fs -b 98304 /dev/block/platform/sdhci-tegra.3/mmcblk0p9
mke2fs: invalid block size - 98304
~ # ←[6ne2fsck -b 98304 /dev/block/platform/sdhci-tegra.3/mmcblk0p9
e2fsck -b 98304 /dev/block/platform/sdhci-tegra.3/mmcblk0p9
e2fsck 1.41.14 (22-Dec-2010)
e2fsck: Invalid argument while trying to open /dev/block/platform/sdhci-tegra.3/
mmcblk0p9
The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>
~ # ←[6n
---------- Post added at 06:30 PM ---------- Previous post was at 06:27 PM ----------
MZ604 US WIFI Can someone pull and send me the partitions files in dev/block/platform/sdhci-tegra.3? Will replacing and overwriting all my mmcblk0, mmcblko9p1, mmcblk0p10, ect. repair the issue of not being able to mount /data & /cache? or would just someone pulling files form this folder in the picture be sufficent. I say this because if i understand correctly the /userdata and /cache are the culprits, that is the root of the damage. Not sure if im making sense but I hope someone has some advice.
Here is a list of all the partitions on MZ604 Motorola Xoom. I obtained a few list using different commands. Take a look.
Code:
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Users\Owner>cd c:\adb\adb
c:\adb\adb>adb shell
~ # ←[6nls -l \dev\block\platform\sdchi-tegra.3\by-name
ls -l \dev\block\platform\sdchi-tegra.3\by-name
devblockplatformsdchi-tegra.3by-name: No such file or directory
~ # ←[6nls -l \dev\block
ls -l \dev\block
devblock: No such file or directory
~ # ←[6nls \dev\block
ls \dev\block
devblock: No such file or directory
~ # ←[6nls -al \dev\block
ls -al \dev\block
devblock: No such file or directory
~ # ←[6ncat /proc/partitions
cat /proc/partitions
major minor #blocks name
253 0 98304 zram0
253 1 98304 zram1
179 0 31162368 mmcblk0
179 1 3072 mmcblk0p1
179 2 2048 mmcblk0p2
179 3 2048 mmcblk0p3
179 4 4096 mmcblk0p4
179 5 2048 mmcblk0p5
179 6 12288 mmcblk0p6
179 7 8192 mmcblk0p7
259 0 1048576 mmcblk0p8
259 1 524288 mmcblk0p9
259 2 29525504 mmcblk0p10
~ # ←[6ncat /proc/mounts
cat /proc/mounts
rootfs / rootfs rw 0 0
tmpfs /dev tmpfs rw,nosuid,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
tmpfs /tmp tmpfs rw,relatime 0 0
~ # ←[6ncat /proc/mtd
cat /proc/mtd
dev: size erasesize name
~ # ←[6nls -l /dev/block
ls -l /dev/block
__bionic_open_tzdata: couldn't find any tzdata when looking for localtime!
__bionic_open_tzdata: couldn't find any tzdata when looking for GMT!
__bionic_open_tzdata: couldn't find any tzdata when looking for posixrules!
brw------- root root 7, 0 1970-01-02 14:15 loop0
brw------- root root 7, 1 1970-01-02 14:15 loop1
brw------- root root 7, 2 1970-01-02 14:15 loop2
brw------- root root 7, 3 1970-01-02 14:15 loop3
brw------- root root 7, 4 1970-01-02 14:15 loop4
brw------- root root 7, 5 1970-01-02 14:15 loop5
brw------- root root 7, 6 1970-01-02 14:15 loop6
brw------- root root 7, 7 1970-01-02 14:15 loop7
brw------- root root 179, 0 1970-01-02 14:15 mmcblk0
brw------- root root 179, 1 1970-01-02 14:15 mmcblk0p1
brw------- root root 259, 2 1970-01-02 14:15 mmcblk0p10
brw------- root root 179, 2 1970-01-02 14:15 mmcblk0p2
brw------- root root 179, 3 1970-01-02 14:15 mmcblk0p3
brw------- root root 179, 4 1970-01-02 14:15 mmcblk0p4
brw------- root root 179, 5 1970-01-02 14:15 mmcblk0p5
brw------- root root 179, 6 1970-01-02 14:15 mmcblk0p6
brw------- root root 179, 7 1970-01-02 14:15 mmcblk0p7
brw------- root root 259, 0 1970-01-02 14:15 mmcblk0p8
brw------- root root 259, 1 1970-01-02 14:15 mmcblk0p9
drwxr-xr-x root root 1970-01-02 14:15 platform
brw------- root root 253, 0 1970-01-02 14:15 zram0
brw------- root root 253, 1 1970-01-02 14:15 zram1
~ # ←[6n
c:\adb\adb>
No list told me exactly which partition was my /data and/cache but as you can see when I run the "Repair" function on my Data and Cache in TWRP 2.8.6.0, the log returns an error to which file it is attempting to repair respectively.
Repairing Data using e2fsk . . .
E: /sbin/e2fsk -p /dev/block/mmcblk0p10 process ended with ERROR=8
E: Unable to repair '/data' .
E: Error repairing file system.
E: Unable to mount '/data/' .
So from there I wanted to rebuild them due to the fact that they are indeed corrupt. Since I was unsuccessful using the "Change File System" function and "Format" function in TWRP 2.8.6.0 as well as unsuccessful using "fastboot format userdata' command in Fastboot I decided to use a command in ADB, mke2fs -T ext4 /dev/block/mmcblk0p9 and mke2fs -T ext4 /dev/block/mmcblk0p10. Here is the terminal showing these commands. . .
Code:
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Users\Owner>cd c:\adb\adb
c:\adb\adb>adb shell
~ # ←[6nmke2fs -T ext4 /dev/block/mmcblk0p9
mke2fs -T ext4 /dev/block/mmcblk0p9
mke2fs 1.41.14 (22-Dec-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
32768 inodes, 131072 blocks
6553 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=134217728
4 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 29 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
~ # ←[6nmke2fs -T ext4 /dev/block/mmcblk0p10
mke2fs -T ext4 /dev/block/mmcblk0p10
mke2fs 1.41.14 (22-Dec-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1847776 inodes, 7381376 blocks
369068 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
226 block groups
32768 blocks per group, 32768 fragments per group
8176 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 26 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
~ # ←[6nmount /dev/block/mmcblk0p9
mount /dev/block/mmcblk0p9
mount: mounting /dev/block/mmcblk0p9 on /cache failed: Invalid argument
~ # ←[6nmount /data
mount /data
mount: mounting /dev/block/mmcblk0p10 on /data failed: Invalid argument
~ # ←[6nmount /dev/block/mmcblk0p9
mount /dev/block/mmcblk0p9
mount: mounting /dev/block/mmcblk0p9 on /cache failed: Invalid argument
~ # ←[6nmount /data/media
mount /data/media
mount: can't find /data/media in /etc/fstab
~ # ←[6nreboot
reboot
c:\adb\adb>
Indeed neither of them are able to mount. Am I mistaken when i read these logs it says that these "done" but they do not appear to be as the 0's imply.
Still no fix yet
Is it a probable solution to use the sdcard as a mounting point for these partitions ( /data, /cache)? I cant fully understand it yet but Ive seen some people somehow do this with internal memory and stuff with these specific partitons.

Android Gzip userdata.img Compression file sizes problems (urgent)

URGENT GZIP dump image of userdata problem ADB SHELL DD IF GZIP IMAGE FILE SIZES
I m using android lolipop 5.1.1 i in Qualcom smart phone was trying to root the phone i created Image file with dd command then rooted got some problems then again recovered it but when I created a fresh image file of unrooted recovered factory reset its showing different sizes for detail i am showing the commands and outputs
Created mmcblk0.img.gz through dd of /dev/block/mmcblk0 gzip
Code:
~ # ←[6n dd bs=4k conv=sync,noerror if=/dev/block/mmcblk0 | gzip -c -9 > /external_sd/mmcblk0.img.gz
PHP:
(15634268160 bytes (14.6GB) copied, 8996.230485 2 hrs 50 min seconds, 1.7MB/s)
File mmcblk0.img.gz created in external sd card formatted in ext4 showed by ls -l shows 3.68 GB size of mmcblk0.img.gz file
Code:
~ # ←[6n ls -l /external_sd/.
PHP:
-rw-rw-rw- 1 root root 3957044725 (3.685GB) Jan 5 12:32 /external_sd/mmcblk0.img.gz
where as when checked the /external_sd/ card mmcblk0.img.gz file size occupied space by df -h it showed 7.7GB occupied space
Code:
~ # ←[6n df -h
PHP:
Filesystem Size Used Available Use% Mounted on
/dev/block/mmcblk1p1 14.0G 7.7G 5.5G 58% /external_sd
Code:
~ # ←[6n df -hi
PHP:
Filesystem Inodes Used Available Use% Mounted on
/dev/block/mmcblk1p1 3.7M 12 3.7M 0% /external_sd
when i pulled mmcblk0.img.gz file to pc computer then it shows of 7.68 GB
Code:
~ # ←[6n adb pull -p /external_sd/mmcblk0.img.gz
PHP:
Copied in System 7.68 GB (8,252,012,021 bytes) file
Previously 5 days before rooting and flashing i took the same backup of mmcblk0.img.gz file with same command
Code:
adb pull -p /external_sd/mmcblk0.img.gz
PHP:
1.48 GB (1,599,262,720 bytes)
i have taken individual images also off boot.img recovery system.img and userdata.img i founded that the new images of userdata is high as well system when is less for details of user data i am giving details below
Created userdata.img.gz through dd of /dev/block/mmcblk0p29
Code:
~ # ←[6n dd bs=4k conv=sync,noerror if=/dev/block/mmcblk0p29 | gzip -c -9 > /external_sd/userdata.img.gz
PHP:
(12748570112 bytes (11.9GB) copied, 7325.311486 seconds, 2.0 hrs 1.7MB/s)
File userdata.img.gz size created in external sd card formatted in ext4 showed by ls -l shows 1.5Gb size of userdata.img.gz file
Code:
~ # ←[6n ls -l /external_sd/.
it was showing 1.5gb file
where as when checked the /external_sd/ card size of userdata.img.gz file occupied by df -h it showed 6.8 gb occupied space
/dev/block/mmcblk0p29 IS SHOWING SIZE MOUNTED IN /DATA /SDCARD OF 866.5 USED BUT ITS IMAGE IS 6.7 GB
Code:
~ # ←[6n df -h
PHP:
Filesystem Size Used Available Use% Mounted on
/dev/block/mmcblk0p29 11.6G 866.5M 10.7G 7% /data
/dev/block/mmcblk0p29 11.6G 866.5M 10.7G 7% /sdcard
/dev/block/mmcblk1p1 14.0G 6.7G 7.3G 47% /external_sd
Code:
~ # ←[6n df -hi
PHP:
Filesystem Inodes Used Available Use% Mounted on
/dev/block/mmcblk0p29 760.0K 1.9K 758.1K 0% /data
/dev/block/mmcblk0p29 760.0K 1.9K 758.1K 0% /sdcard
when i pulled userdata.img.gz file to pc computer then it shows of 6.7 GB
Code:
adb pull -p /external_sd/userdata.img.gz
PHP:
(1390 KB/s 7020532851 bytes 6.538 GB in 4929.140s 82.15 min)
userdata.img.gz file created in computer is 6.53 GB (7,020,535,808 bytes)
Previously 5 days before rooting and flashing i pulled userdata.img.gz image with same command
Code:
adb pull -p /external_sd/userdata.img.gz
PHP:
337 MB (353,608,243 bytes)
Summarized:-
DD if gzip -9 mmcblk0.img.gz compressed 15,634,268,160 bytes (14.6GB) Device data to external sd card ext4 file system
ls -l shows the file mmcblk0.img.gz size of 3,957,044,725 bytes (3.685GB) ext4 file system
Df-h shows the sd card having only one file with space occupied in external sd card with 7.77GB space
adb pull copied mmcblk0.img.gz file of 7.68 GB space (8,252,012,021 bytes)
the old image dumped file mmcblk0.img.gz of same phone and same mobile was 1.48 GB (1,599,262,720 bytes)
Founded userdata.img.gz has been enlarged
DD if gzip -9 userdata.img.gz compressed 12,748,570,112 bytes (11.9GB) Device data to external ext4 file system
ls -l shows the file userdata.img.gz size of 1.5 Gb ext4 file system
Df-h shows the sd card having only one file userdata.img.gz with space occupied in external sd card with 6.8gb space
/dev/block/mmcblk0p29 IS SHOWING SIZE MOUNTED IN /DATA /SDCARD OF 866.5M USED BUT ITS IMAGE IS 6.7 GB
adb pull copied file userdata.img.gz of 7020532851 bytes 6.538 GB
the old image dumped file userdata.img.gz of same phone and same mobile was 337 MB (353,608,243 bytes)
Now my queries kindly help and explain:-
Is there any problem with dd if gzip command syntax and options
why mmcblk0.img.gz file ls- l shows 3.685GB and df -h shows 7.7GB occupied in external_sd card and same in case of userdata.img.gz file ls -l shows 1.5gb but the occupied space as per external sd card is 6.8gb
why when the file mmcblk0.img.gz file pulled is 7.68 gb as its 7.7gb in df-h and i same in case of userdata.img.gz file pulled is 3. 6.538gb as its 6.7 Gb in df -h
why Df-h of /dev/block/mmcblk0p29 IS SHOWING SIZE MOUNTED IN /DATA /SDCARD OF 866.5M USED BUT ITS IMAGE IS made file name userdata.img.gz 6.7 GB and 1.5 Gb in ls-l
why 5 days before i flashed my rooted phone had pulled image file of mmcblk0.img.gz was 1.48 GB (1,599,262,720 bytes) and now it extended to 7.68 gb and in same way userdata.img file before was 337 MB and now its extended to 6.8gGB
Question is which file to keep and which one is ok or not mmcblk0.img.gz of 1.48 gb or 7.68 gb and same of userdata.img.gz file of 337mb or 6.85gb
before recovering i did erased userdata and system by command
Code:
flashboot erase userdata
I had uncompressed userdata previously by following command as gz file cant be flashed
Code:
gzip -d -c /external_sd/userdata.img.gz | dd of=/dev/block/platform/7824900.sdhci/by-name/userdata
is there any problem with command of recovering
As df -h showing /dev/block/mmcblk0p29 866.5M of data in df -h
in my guess thoughts after rooting there is some space occupied in userdata
Code:
flashboot erase userdata
didnt erased the userdata and there is some background data left which has been not been erased and still occupying space in creating dump image file
safe way to delete erase unused space in userdata or block/mmcblk0p29
[*]the major concern is that i want to keep backup of my rooted and fully loaded phone and unrooted also so i want to decrease the size of image which after compressing is large
After googling i coundt find an safe command to compress the image now question is that should i fill the mmcblk0p29 block or userdata zero data with zero by following command kindly tell me the safest and best command from to get the appropriate command for the problem
fastboot erase userdata
Code:
rm -r /data/. or rm -r /sdcard/. c. dd if=/dev/zero of=/dev/block/platform/7824900.sdhci/by- name/userdata bs=8192
or
Code:
dd if=/dev/urandom of=/dev/block/platform/7824900.sdhci/by- name/userdata bs=8192
(but i could not find any /dev/zero or /dev/urandom in my dev direcotry)
newfs command to format the userdata partition but i dont know its options any other best safe command to solve the problem
kindly guide me to find the best safest and appropriate command to find solution for decreasing the size of userdata.img.gz and mmcblk0.img.gz for unrooted and rooted partitions if possible by adb shell or any other method
Click to expand...
Click to collapse
thank you in advance waiting for quick and urgent suggestions replies and advice

mitm on android emulator: a howto

Hello all,
I'd like to braindump how I managed to make android emulator v30 work with mitm, hope that helps someone.
Since it was not possible to neither write nor make writable the /system partition, I decided to roll my own system.img and that actually worked. I'm not going to upload a script because I might not remember 100%, but I'll going to descibe the steps in full, even though they exist elsewhere. The commands might not be exact, too, so if there's a typo you'll need to figure it out yourself.
Also, it will be a bit confusing because I shall refer to 2 files named system.img, one is the 2G file that comes with android, the other is 700M or something file that you will be creating in the process. I'll refer them as #1 and #2.
1. What is needed: android studio and emulator, linux, xattr, https://github.com/LonelyFool/lpunpack_and_lpmake , https://github.com/tytso/e2fsprogs, mitmproxy, parted. Build these github projects, you'll need their binaries in the process.
also, 'mkdir build' somewhere.
2. Find system.img (#1) in your android studio installation, then extract the system partition:
$ losetup -f system.img
$ losetup -a | grep system.img
/dev/loop5
$ partprobe /dev/loop5
$ ls /dev/loop5p*
/dev/loop5p1 /dev/loop5p2
$ lpunpack_and_lpmake/bin/lpunpack /dev/loop5p2 build
$ ls build
system.img system-ext.img product.img vendor.img
$ losetup -d /dev/loop5
3. Make system.img (#2) writable and usable. This is ext4 crunched with feature shared_blocks, which makes it not really writable even in theory, as it deduplicates identical blocks in the filesystem. You'll need to convert that to a normal ext4, but, there's not enough space to do that operation. So you'll need to expand the partition to accomodate for this. How much? Empirically, I added 30M to a 700M partition:
$ ls -l system.img
700000000 # for example
$ e2fsprogs/resize/resize2fs system.img 730M
$ ls -l system.img
730000000 # for example
$ e2fsprogs/e2fsck/e2fsck -f system.img
$ e2fsprogs/e2fsck/e2fsck -E unshared_blocks system.img
$ e2fsprogs/e2fsck/e2fsck -f system.img
4. Modify the now writable partiton to your heart's content (we're still with system.img #2 here). I needed to add just one file, mitmproxy-ca-cert.cer . According to the mitmproxy docs, the name must be the hash of the certificate:
$ losetup -f system.img
$ losetup -a | grep system.img
/dev/loop6
$ mount /dev/loop6 /mnt
$ hashed_name=`openssl x509 -inform PEM -subject_hash_old -in mitmproxy-ca-cert.cer | head -1
$ echo $hashed_name
c8750f0d
$ cp mitmproxy-ca-cert.cer /mnt/system/ext/security/cacerts/$hashed_name.0
$ cd /mnt/system/ext/security/cacerts/
$ chmod 644 $hashed_name.0
Now check if your android has extra attributes in these certificate files. Mine does:
$ xattr 00abcde.0 # some random certificate
security.selinux
$ xattr -p security.selinux 00abcde.0
ubject_r:system_security_cacerts_file:s0
if yes, you'll need it on this file too:
$ xattr -w security.selinux ubject_r:system_security_cacerts_file:s0 $hashed_name.0
and be done with the partition
$ umount /mnt
$ losetup -d /dev/loop6
5. Create new super-partition, the one we used as /dev/loop5p2. You'll need the file sizes of your .img partitions, and your command to create a super.img file will look like this:
$ cat repack
#!/bin/sh
P=/android/super/1
~/src/lpunpack_and_lpmake/bin/lpmake --metadata-size 65536 --super-name super --metadata-slots 2 --device super:2496462848 --group main:2647101440 \
--partition system:readonly:786432000:main --image system=$P/system.img \
--partition system_ext:readonly:131952640:main --image system_ext=$P/system_ext.img \
--partition product:readonly:1468575744:main --image product=$P/product.img \
--partition vendor:readonly:102739968:main --image vendor=$P/vendor.img \
--output $P/super2.img
the interesting numbers are the corresponding partition sizes (in --partition), and, if f ex you increased the system.img #2 to 30M in the step 3, the number in --device:super should be the size of /dev/loop5p2 in bytes plus at least these 30M (but also okay if a bit more).
6. Finally, create a new system.img #1 . Create a backup copy of it, and then append some 30M there, and fix the partition
$ dd if=/dev/zero of=system-new.img flags=append bs=1M size=30
$ losetup -f system-new.img
$ losetup -a | grep system-new.img
/dev/loop7
$ parted /dev/loop7
GNU Parted 3.3
Using /dev/loop7
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p
Model: Loopback device (loopback)
Disk /dev/loop7: 2444MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 2097kB 1049kB vbmeta
2 2097kB 2443MB 2441MB super
you will need to expand the partion 2 to the max (plus minus same 30M). If is fails fix the number and retry:
(parted) resizepart 2 24460MB
Error: The location 24460MB is outside of the device /dev/loop7.
and finally copy data back:
$ partprobe /dev/loop7
$ dd if=super.img of=/dev/loop7p2 bs=1M
$ losetup -d /dev/loop7
and that's it. After that, rename system-new.img to system.img, and hopefully the emulator could run this new image.
Also, to check that the certificate is there and recognized, go to the setting/certificates/trusted certificates, the mitmproxy one should be in the list.
Hopefully this will be helpful.
Cheers!
/dk

[TUTORIAL] How to Edit Unpack & Repack Samsung system.img or system.img.ext4

Follow https://stackoverflow.com/questions...ack-and-flash-system-img-ext4-file-using-odin
a) Modifying
With
Code:
simg2img system.img.ext4 system.img
, you will get a raw image file named system.img
With
Code:
mkdir system
, create directory to mount system.img
With
Code:
sudo mount -t ext4 -o loop system.img system/
you will get all files of system.img in system folder
example: edit init.rc
With
Code:
ls -l system/init.rc
note permissions: 750
With
Code:
sudo chmod 777 system/init.rc
give write permissions
With
Code:
sudo echo "#MODIFICATION " >> system/init.rc
done some modification in init.rc
With
Code:
sudo chmod 750 init.rc
reset init.rc to the noted permissions
b) Calculate system sector size (Example)
With
Code:
tune2fs -l system.img | grep "Block size\|Block count"
you will get block size and count
With
Code:
echo $((1553064 * 4096))
multiply both results. I got 6361350144
c) Packing (Example)
With
Code:
sudo make_ext4fs -s -l 6361350144 -a system system_new.img sys/
you will get system_new.img “Android Sparse Image” that has all changes
With
Code:
sudo umount system
unmount the system directory
With
Code:
rm -fr system
delete the system directory
If you have a system.img file not system.img.ext4, maybe it's ext4 type just rename and delete ext4 after ".img" then follow the instructions. You may want to edit or delete but stumble on permissions, just type
Code:
sudo nautilus
and you can do it with nautilus explorer as it is root explorer.
this method is wrong
Could not build the correct package
Specifically, you can compare tune2fs -l system.img
Like this
```
Filesystem volume name: system
Last mounted on: /home/xs/tools/roms/SM-G892A_ATT/images/system
Filesystem UUID: 4c64e17e-22c3-54ec-bc54-14deddbf5036
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags: signed_directory_hash
Default mount options: journal_data_ordered user_xattr acl discard
Filesystem state: clean
Errors behavior: Panic
Filesystem OS type: Linux
Inode count: 289152
Block count: 1156446
Reserved block count: 0
Free blocks: 81485
Free inodes: 281937
First block: 0
Block size: 4096
Fragment size: 4096
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 8032
Inode blocks per group: 502
Flex block group size: 16
Filesystem created: Wed Dec 31 23:00:00 2008
Last mount time: Sun Jul 17 18:00:08 2022
Last write time: Sun Jul 17 18:12:50 2022
Mount count: 2
Maximum mount count: 36
Last checked: Wed Dec 31 23:00:00 2008
Check interval: 15552000 (6 months)
Next check after: Mon Jun 29 23:00:00 2009
Lifetime writes: 69 MB
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 256
Required extra isize: 32
Desired extra isize: 32
Journal inode: 8
Default directory hash: half_md4
Directory Hash Seed: 0b0112c3-9689-5f54-ab9d-304e9f9e0ec7
Journal backup: inode blocks
```
xs23933 said:
this method is wrong
Could not build the correct package
Specifically, you can compare tune2fs -l system.img
Like this
```
Filesystem volume name: system
Last mounted on: /home/xs/tools/roms/SM-G892A_ATT/images/system
Filesystem UUID: 4c64e17e-22c3-54ec-bc54-14deddbf5036
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags: signed_directory_hash
Default mount options: journal_data_ordered user_xattr acl discard
Filesystem state: clean
Errors behavior: Panic
Filesystem OS type: Linux
Inode count: 289152
Block count: 1156446
Reserved block count: 0
Free blocks: 81485
Free inodes: 281937
First block: 0
Block size: 4096
Fragment size: 4096
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 8032
Inode blocks per group: 502
Flex block group size: 16
Filesystem created: Wed Dec 31 23:00:00 2008
Last mount time: Sun Jul 17 18:00:08 2022
Last write time: Sun Jul 17 18:12:50 2022
Mount count: 2
Maximum mount count: 36
Last checked: Wed Dec 31 23:00:00 2008
Check interval: 15552000 (6 months)
Next check after: Mon Jun 29 23:00:00 2009
Lifetime writes: 69 MB
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 256
Required extra isize: 32
Desired extra isize: 32
Journal inode: 8
Default directory hash: half_md4
Directory Hash Seed: 0b0112c3-9689-5f54-ab9d-304e9f9e0ec7
Journal backup: inode blocks
```
Click to expand...
Click to collapse
Use tune2fs -l system.img to view system.img.
found the original system.img
Default mount options: journal_data_ordered user_xattr acl discard
Errors behavior: Panic
Unpack (do nothing) the repacked system_new.img
Default mount options: user_xattr acl
Errors behavior: Continue
What's going on here?
Can make "Default mount options: user_xattr acl" packaged as "Default mount options: journal_data_ordered user_xattr acl discard"
?
You are missing the fs_config and file_context files when calling the make_ext4fs binary. Anyone know how to generate those on the fly?
how do get a system.img from a super.img file?

Categories

Resources