#!/system/bin/sh DEV=/dev/block/mmcblk0p16 CMD=$1 BASE=0x200000 BASE_MAIN=0xac00000 case $CMD in cp1) echo dump cp1 let addr=$BASE echo $addr hexdump -s $addr -n 4096 $DEV;; cp2) echo dump cp2 let addr=$BASE+0x200000 hexdump -s $addr -n 4096 $DEV;; cp) echo dump cp1 and cp2 let addr=$BASE hexdump -s $addr -n 409 $DEV let addr=$BASE+0x200000 hexdump -s $addr -n 4096 $DEV;; cp1_all) echo dump cp1 all let addr=$BASE hexdump -s $addr -n 20480 $DEV;; cp2_all) echo dump cp2 all let addr=$BASE+0x200000 hexdump -s $addr -n 20480 $DEV;; cp_all) echo dump cp1 and cp2 all let addr=$BASE hexdump -s $addr -n 20480 $DEV let addr=$BASE+0x200000 hexdump -s $addr -n 20480 $DEV;; blk) let addr=$BASE_MAIN+$2*0x200000+$3*0x1000 hexdump -s $addr -n 4096 $DEV echo ;; inode) let addr=$BASE_MAIN+$2*0x200000+$3*0x1000 for i in `seq $3 511` do hexdump -s $addr -n 8 $DEV let end=$addr+0x0ff0 hexdump -s $end -n 16 $DEV let addr=$addr+0x1000 done echo ;; *) let addr=$1*0x1000 let segno=$addr-$BASE_MAIN let segno=$segno/0x200000 let off=$addr-$BASE_MAIN let off=$off%0x200000/0x1000 echo $segno, $off hexdump -s $addr -n 4096 $DEV echo ;; esac