Sunday, April 3, 2016

Using DD to produce an image results in empty image

I am trying to take an image of my Android phone. Specifically I have tried to image the system and boot partitions. The imaging process appears to work correctly when using dd. However, when I attempt to mount the image in a loopback device the image appears to be empty. I also tried to see file contents by piping through cpio. Basically, I am trying to validate the image that I took. What am I doing wrong? Is there a problem with how I took the image or validation or both? Here are the steps to took (you'll see only the system partition below but I used the same process for boot)

[root@localhost platform-tools]# ./adb devices
List of devices attached
99000421100783 device

[root@localhost platform-tools]#./adb shell
shell@C6730:/ $ su

root@C6730:/ # cat /proc/partitions

major minor #blocks name

179 0 7634944 mmcblk0
179 1 65536 mmcblk0p1
179 2 1024 mmcblk0p2
179 3 1024 mmcblk0p3
179 4 1024 mmcblk0p4
179 5 1024 mmcblk0p5
179 6 1024 mmcblk0p6
179 7 1024 mmcblk0p7
179 8 1024 mmcblk0p8
179 9 1024 mmcblk0p9
179 10 16384 mmcblk0p10
179 11 1024 mmcblk0p11
179 12 1024 mmcblk0p12
179 13 1024 mmcblk0p13
179 14 1536 mmcblk0p14
179 15 1536 mmcblk0p15
179 16 2048 mmcblk0p16
179 17 8192 mmcblk0p17
179 18 4096 mmcblk0p18
179 19 8192 mmcblk0p19
179 20 8192 mmcblk0p20
179 21 819200 mmcblk0p21
179 22 658432 mmcblk0p22
179 23 16384 mmcblk0p23
179 24 6144 mmcblk0p24
179 25 8192 mmcblk0p25
179 26 1024 mmcblk0p26
179 27 1024 mmcblk0p27
179 28 5120 mmcblk0p28
179 29 4718592 mmcblk0p29
179 30 1048576 mmcblk0p30
179 31 8192 mmcblk0p31
259 0 20480 mmcblk0p32
259 1 4096 mmcblk0p33
259 2 16384 mmcblk0p34
259 3 16384 mmcblk0p35
259 4 1024 mmcblk0p36
259 5 1024 mmcblk0p37
259 6 1024 mmcblk0p38
259 7 1024 mmcblk0p39
259 8 20480 mmcblk0p40
259 9 20480 mmcblk0p41
259 10 4096 mmcblk0p42
259 11 4096 mmcblk0p43
259 12 95215 mmcblk0p44
179 32 512 mmcblk0rpmb
179 64 30183936 mmcblk1
179 65 30182912 mmcblk1p1
254 0 4718592 dm-0
254 1 1048576 dm-1

root@C6730:/ # parted /dev/block/mmcblk0

GNU Parted 1.8.8.1.179-aef3
Using /dev/block/mmcblk0
Welcome to GNU Parted! Type 'help' to view a list of commands.

(parted) print
print
Model: MMC 8WMB3R (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 71.3MB 67.1MB fat16 modem
2 71.3MB 72.4MB 1049kB sbl1
3 72.4MB 73.4MB 1049kB sbl1bak
4 73.4MB 74.4MB 1049kB sdi
5 75.5MB 76.5MB 1049kB DDR
6 79.7MB 80.7MB 1049kB aboot
7 80.7MB 81.8MB 1049kB abootbak
8 81.8MB 82.8MB 1049kB rpm
9 82.8MB 83.9MB 1049kB rpmbak
10 83.9MB 101MB 16.8MB boot
11 101MB 102MB 1049kB tz
12 102MB 103MB 1049kB tzbak
13 103MB 104MB 1049kB pad
14 104MB 105MB 1573kB modemst1
15 105MB 107MB 1573kB modemst2
16 107MB 109MB 2097kB reserve1
17 109MB 117MB 8389kB dnand
18 117MB 122MB 4194kB bfss1
19 122MB 130MB 8389kB bfss2
20 130MB 138MB 8389kB ext4 persist
21 138MB 977MB 839MB ext4 system
22 977MB 1652MB 674MB ext4 cache
23 1652MB 1668MB 16.8MB recovery
24 1668MB 1675MB 6291kB misc
25 1678MB 1686MB 8389kB fsg
26 1686MB 1687MB 1049kB fsc
27 1687MB 1688MB 1049kB ssd
28 1688MB 1693MB 5243kB reserve2
29 1693MB 6525MB 4832MB userdata
30 6525MB 7599MB 1074MB internalstorage
31 7599MB 7607MB 8389kB ext4 sysprop
32 7607MB 7628MB 21.0MB ext4 carrier
33 7628MB 7633MB 4194kB fotamng
34 7633MB 7649MB 16.8MB fota
35 7649MB 7666MB 16.8MB fotabk
36 7666MB 7667MB 1049kB sdibk
37 7667MB 7668MB 1049kB abootbk
38 7668MB 7669MB 1049kB rpmbk
39 7669MB 7670MB 1049kB tzbk
40 7670MB 7691MB 21.0MB log
41 7691MB 7712MB 21.0MB logwork
42 7712MB 7716MB 4194kB bootwork
43 7716MB 7721MB 4194kB rom
44 7721MB 7818MB 97.5MB reserve3

(parted) q
q

root@C6730:/ # cd /dev/block/platform/msm_sdcc.1/by-name

root@C6730:/dev/block/platform/msm_sdcc.1/by-name # ls -l

lrwxrwxrwx root root 1969-12-31 19:17 DDR -> /dev/block/mmcblk0p5
lrwxrwxrwx root root 1969-12-31 19:17 aboot -> /dev/block/mmcblk0p6
lrwxrwxrwx root root 1969-12-31 19:17 abootbak -> /dev/block/mmcblk0p7
lrwxrwxrwx root root 1969-12-31 19:17 abootbk -> /dev/block/mmcblk0p37
lrwxrwxrwx root root 1969-12-31 19:17 bfss1 -> /dev/block/mmcblk0p18
lrwxrwxrwx root root 1969-12-31 19:17 bfss2 -> /dev/block/mmcblk0p19
lrwxrwxrwx root root 1969-12-31 19:17 boot -> /dev/block/mmcblk0p10
lrwxrwxrwx root root 1969-12-31 19:17 bootwork -> /dev/block/mmcblk0p42
lrwxrwxrwx root root 1969-12-31 19:17 cache -> /dev/block/mmcblk0p22
lrwxrwxrwx root root 1969-12-31 19:17 carrier -> /dev/block/mmcblk0p32
lrwxrwxrwx root root 1969-12-31 19:17 dnand -> /dev/block/mmcblk0p17
lrwxrwxrwx root root 1969-12-31 19:17 fota -> /dev/block/mmcblk0p34
lrwxrwxrwx root root 1969-12-31 19:17 fotabk -> /dev/block/mmcblk0p35
lrwxrwxrwx root root 1969-12-31 19:17 fotamng -> /dev/block/mmcblk0p33
lrwxrwxrwx root root 1969-12-31 19:17 fsc -> /dev/block/mmcblk0p26
lrwxrwxrwx root root 1969-12-31 19:17 fsg -> /dev/block/mmcblk0p25
lrwxrwxrwx root root 1969-12-31 19:17 internalstorage -> /dev/block/mmcblk0p30
lrwxrwxrwx root root 1969-12-31 19:17 log -> /dev/block/mmcblk0p40
lrwxrwxrwx root root 1969-12-31 19:17 logwork -> /dev/block/mmcblk0p41
lrwxrwxrwx root root 1969-12-31 19:17 misc -> /dev/block/mmcblk0p24
lrwxrwxrwx root root 1969-12-31 19:17 modem -> /dev/block/mmcblk0p1
lrwxrwxrwx root root 1969-12-31 19:17 modemst1 -> /dev/block/mmcblk0p14
lrwxrwxrwx root root 1969-12-31 19:17 modemst2 -> /dev/block/mmcblk0p15
lrwxrwxrwx root root 1969-12-31 19:17 pad -> /dev/block/mmcblk0p13
lrwxrwxrwx root root 1969-12-31 19:17 persist -> /dev/block/mmcblk0p20
lrwxrwxrwx root root 1969-12-31 19:17 recovery -> /dev/block/mmcblk0p23
lrwxrwxrwx root root 1969-12-31 19:17 reserve1 -> /dev/block/mmcblk0p16
lrwxrwxrwx root root 1969-12-31 19:17 reserve2 -> /dev/block/mmcblk0p28
lrwxrwxrwx root root 1969-12-31 19:17 reserve3 -> /dev/block/mmcblk0p44
lrwxrwxrwx root root 1969-12-31 19:17 rom -> /dev/block/mmcblk0p43
lrwxrwxrwx root root 1969-12-31 19:17 rpm -> /dev/block/mmcblk0p8
lrwxrwxrwx root root 1969-12-31 19:17 rpmbak -> /dev/block/mmcblk0p9
lrwxrwxrwx root root 1969-12-31 19:17 rpmbk -> /dev/block/mmcblk0p38
lrwxrwxrwx root root 1969-12-31 19:17 sbl1 -> /dev/block/mmcblk0p2
lrwxrwxrwx root root 1969-12-31 19:17 sbl1bak -> /dev/block/mmcblk0p3
lrwxrwxrwx root root 1969-12-31 19:17 sdi -> /dev/block/mmcblk0p4
lrwxrwxrwx root root 1969-12-31 19:17 sdibk -> /dev/block/mmcblk0p36
lrwxrwxrwx root root 1969-12-31 19:17 ssd -> /dev/block/mmcblk0p27
lrwxrwxrwx root root 1969-12-31 19:17 sysprop -> /dev/block/mmcblk0p31
lrwxrwxrwx root root 1969-12-31 19:17 system -> /dev/block/mmcblk0p21
lrwxrwxrwx root root 1969-12-31 19:17 tz -> /dev/block/mmcblk0p11
lrwxrwxrwx root root 1969-12-31 19:17 tzbak -> /dev/block/mmcblk0p12
lrwxrwxrwx root root 1969-12-31 19:17 tzbk -> /dev/block/mmcblk0p39
lrwxrwxrwx root root 1969-12-31 19:17 userdata -> /dev/block/mmcblk0p29

root@C6730:/ # dd if=/dev/block/mmcblk0p21 of=/mnt/media_rw/sdcard0/firmware-img/kyocerasystem.img bs=4096 conv=noerror,sync

204800+0 records in
204800+0 records out
838860800 bytes transferred in 40.461 secs (20732577 bytes/sec)

root@C6730:/ # exit

shell@C6730:/ $ exit

[root@localhost jeremy]:/ # losetup /dev/loop0 /home/jeremy/kyocerasystem.img
[root@localhost jeremy]:/ # mkfs.ext4 /dev/loop0

mke2fs 1.42.9 (28-Dec-2013)
Discarding device blocks: 4096/204800: done
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
51296 inodes, 204800 blocks
10240 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=209715200
7 block groups
32768 blocks per group, 32768 fragments per group
7328 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840

Allocating group tables: 0/7: done
Writing inode tables: 0/7: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: 0/7: done

[root@localhost jeremy]:/ # mount -t ext4 /dev/loop0 /mnt
[root@localhost jeremy]:/ # cd /mnt
[root@localhost jeremy]:/ # ls

lost+found


root@localhost jeremy]# dd if=kyocerasystem.img | cpio -ictv > kyocerasystem.txt
1638400+0 records in
1638400+0 records out
838860800 bytes (839 MB) copied, 25.1643 s, 33.3 MB/s
cpio: premature end of file


[root@localhost jeremy]:/ # less kyocerasystem.txt
(no contents to display - empty)


via xda-developers http://ift.tt/1pY40C8

IFTTT

Put the internet to work for you.

Turn off or edit this Recipe

No comments:

Post a Comment