# setting enviroment
SCRIPTVER="MT6577_a4_v2e_sd.info"
STARTTIME="`date +%H:%M:%S`"
DEFSTORAGE="/mnt/sdcard"
BACKUPPATH="$DEFSTORAGE/backup_v2"
TIMESTAMP="`date +%Y%m%d-%H%M`"
TIMESTAMPCWM="`date +%Y-%m-%d.%H.%M.%M`"
DESTDIR="$BACKUPPATH/$TIMESTAMP"
NANDDIR="$DESTDIR/BDRS-$TIMESTAMPCWM"
OVERDIR="$DESTDIR/over"
MISKDIR="$DESTDIR/misk"
TMPDIR="$DESTDIR/tmp"
BKTOOLPATH="/cache/bktool"
# create dirs
mkdir $BACKUPPATH
mkdir $DESTDIR
mkdir $NANDDIR
mkdir $OVERDIR
mkdir $MISKDIR
# mkdir $TMPDIR
mkdir $BKTOOLPATH
cd $DESTDIR
echo $SCRIPTVER > $DESTDIR/$SCRIPTVER
# prepare
echo "0% Starting!"
busybox rm -r -f $BKTOOLPATH
mkdir $BKTOOLPATH
cat /mnt/sdcard/gscript/bin/busybox > $BKTOOLPATH/busybox
chmod 6755 $BKTOOLPATH/busybox
cat /mnt/sdcard/gscript/bin/make_ext4fs > $BKTOOLPATH/make_ext4fs
chmod 6755 $BKTOOLPATH/make_ext4fs
cat /mnt/sdcard/gscript/bin/ext2simg > $BKTOOLPATH/ext2simg
chmod 6755 $BKTOOLPATH/ext2simg
$BKTOOLPATH/busybox mount -o remount,rw /system
$BKTOOLPATH/busybox mount -o remount,rw /system/secro
$BKTOOLPATH/busybox mount -o remount,rw /data
$BKTOOLPATH/busybox mount -o remount,rw /cache
echo "1% Collecting device information."
dd if=/proc/dumchar_info of=$DESTDIR/firmware.info 2>/dev/null
echo "firmware.info"
#===============Build info==============
$BKTOOLPATH/busybox grep "ro.build.*" /system/build.prop | $BKTOOLPATH/busybox grep -v "# *" > $MISKDIR/config.info
echo "config.info"
#===============cmd line info===========
cat /proc/cmdline > $MISKDIR/cmdline.info
echo "cmdline.info"
#===============CPU info================
cat /proc/cpuinfo > $MISKDIR/cpu.info
echo "cpu.info"
#===============ROM info================
$BKTOOLPATH/busybox df > $MISKDIR/rom.info
echo "rom.info"
#===============RAM info================
$BKTOOLPATH/busybox free > $MISKDIR/ram.info
echo "ram.info"
echo "2% Create images!"
# preloader section========================================================================
dd if=/dev/preloader of=$OVERDIR/full_preloader_part.raw bs=512c 2>/dev/null
dd if=/dev/preloader of=$DESTDIR/preloader.bin bs=512c count=256 skip=4 2>/dev/null
echo "preloader"
dd if=/dev/preloader of=$OVERDIR/unknown.raw bs=512c count=64 skip=324 2>/dev/null
# dsp_bl section===========================================================================
dd if=/dev/preloader of=$DESTDIR/DSP_BL bs=512c count=64 skip=260 2>/dev/null
DSP_START=$(busybox od -A d -t x1 $DESTDIR/DSP_BL | busybox grep "4d 4d 4d 01 38" | busybox cut -f1 -d' ');
if [ -z $DSP_START ]
then
dd if=/dev/dsp_bl of=$DESTDIR/DSP_BL bs=512c count=64 2>/dev/null
fi
echo "dsp_bl"
# MBR section==============================================================================
dd if=/dev/mbr of=$DESTDIR/MBR bs=512c count=1 2>/dev/null
echo "mbr"
# EBR1 section=============================================================================
dd if=/dev/ebr1 of=$DESTDIR/EBR1 bs=512c count=1 2>/dev/null
echo "ebr1"
# pmt section=============================================================================
dd if=/dev/pmt of=$OVERDIR/pmt.raw bs=512c count=16 2>/dev/null
echo "pmt"
# nvram in both formats
dd if=/dev/nvram of=$MISKDIR/nvram.img bs=5242880c count=1 2>/dev/null
$BKTOOLPATH/busybox tar -cf $MISKDIR/nvram.tar /data/nvram 2>/dev/null
echo "nvram"
# ower section=============================================================================
dd if=/dev/seccfg of=$OVERDIR/seccfg.raw bs=512c count=256 2>/dev/null
echo "seccfg"
dd if=/dev/uboot of=$DESTDIR/uboot.bin bs=393216c count=1 2>/dev/null
echo "uboot"
dd if=/dev/bootimg of=$DESTDIR/boot.img bs=6291456c count=1 2>/dev/null
dd if=/dev/bootimg of=$NANDDIR/boot.img bs=6291456c count=1 2>/dev/null
echo "boot"
dd if=/dev/recovery of=$DESTDIR/recovery.img bs=6291456c count=1 2>/dev/null
dd if=/dev/recovery of=$NANDDIR/recovery.img bs=6291456c count=1 2>/dev/null
echo "recovery"
dd if=/dev/sec_ro of=$OVERDIR/sec_ro.raw bs=6291456c count=1 2>/dev/null
echo "sec_ro.raw"
dd if=/dev/misc of=$OVERDIR/misc.raw bs=393216c count=1 2>/dev/null
echo "misc"
dd if=/dev/logo of=$DESTDIR/logo.img bs=3145728c count=1 2>/dev/null
echo "logo"
dd if=/dev/expdb of=$OVERDIR/expdb.raw bs=655360c count=1 2>/dev/null
echo "expdb"
# EBR2 section=============================================================================
# dd if=/dev/ebr2 of=$DESTDIR/EBR2 bs=512c count=1 2>/dev/null
# echo "ebr2"
echo "20% Dell trash."
$BKTOOLPATH/busybox rm -r -f /system/lost+found
$BKTOOLPATH/busybox rm -r -f /data/core
$BKTOOLPATH/busybox rm -r -f /data/misc/sensors
$BKTOOLPATH/busybox rm -r -f /data/lost+found
echo "Create image of secro partition."
export SECRO_SIZE=$($BKTOOLPATH/busybox df -m | $BKTOOLPATH/busybox grep /emmc@sec_ro | $BKTOOLPATH/busybox awk '{print $2}')
$BKTOOLPATH/make_ext4fs -s -l "$SECRO_SIZE"M -L secro $DESTDIR/secro.img /system/secro > /dev/null
if [ ! -e $DESTDIR/secro.img ]
then $BKTOOLPATH/ext2simg -v /dev/block/mmcblk0p2 $DESTDIR/secro_simg.img > /dev/null
fi
echo "26% Complete secro!"
echo "Create image of system partition."
$BKTOOLPATH/busybox umount -l -f /system/secro
export SYSTEM_SIZE=$($BKTOOLPATH/busybox df -m | $BKTOOLPATH/busybox grep /emmc@android | $BKTOOLPATH/busybox awk '{print $2}')
$BKTOOLPATH/make_ext4fs -s -l "$SYSTEM_SIZE"M -L system $DESTDIR/system.img /system > /dev/null
if [ ! -e $DESTDIR/system.img ]
then $BKTOOLPATH/ext2simg -v /dev/block/mmcblk0p3 $DESTDIR/system_simg.img > /dev/null
fi
$BKTOOLPATH/busybox tar -cf $NANDDIR/system.ext4.tar /system 2>/dev/null
$BKTOOLPATH/busybox mount /dev/block/mmcblk0p2 /system/secro
echo "45% Complete system!"
echo "Create image of cache partition."
export CACHE_SIZE=$($BKTOOLPATH/busybox df -m | $BKTOOLPATH/busybox grep /emmc@cache | $BKTOOLPATH/busybox awk '{print $2}')
$BKTOOLPATH/make_ext4fs -s -l "$CACHE_SIZE"M -L cache $DESTDIR/cache.img /cache > /dev/null
if [ ! -e $DESTDIR/cache.img ]
then $BKTOOLPATH/ext2simg -v /dev/block/mmcblk0p4 $DESTDIR/cache_simg.img > /dev/null
fi
$BKTOOLPATH/busybox tar -cf $NANDDIR/cache.ext4.tar /cache 2>/dev/null
echo "50% Complete cache!"
echo "Create image of data partition."
export DATA_SIZE=$($BKTOOLPATH/busybox df -m | $BKTOOLPATH/busybox grep /emmc@usrdata | $BKTOOLPATH/busybox awk '{print $2}')
$BKTOOLPATH/make_ext4fs -s -l "$DATA_SIZE"M -L data $DESTDIR/data.img /data > /dev/null
if [ ! -e $DESTDIR/data.img ]
then $BKTOOLPATH/ext2simg -v /dev/block/mmcblk0p5 $DESTDIR/data_simg.img > /dev/null
fi
$BKTOOLPATH/busybox tar -cf $NANDDIR/data.ext4.tar /data 2>/dev/null
echo "90% Complete data!"
cd $NANDDIR
$BKTOOLPATH/busybox md5sum *.* > nandroid.md5
cd $DESTDIR
$BKTOOLPATH/busybox ls -lhR >> $SCRIPTVER
echo "98% md5 sum for generated, OK"
echo "100% Backup complite!!!"
echo "Saved to $DESTDIR"
echo "Start Time:$STARTTIME; End Time:`date +%H:%M:%S`."
Visitano il forum: Google [Bot] e 3 ospiti