Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/sbin/sh
- #check if the device is mtd
- if [ -e /dev/block/mtdblock0 ] ; then
- #the device is mtd
- #mount /data
- if [ -d /data ] ; then
- /tmp/busybox mount -t ext4 /dev/block/mmcblk0p2 /data
- else
- /tmp/busybox mkdir mkdir /data
- /tmp/busybox mount -t ext4 /dev/block/mmcblk0p2 /data
- fi
- #check if /data/data is a symbolic link
- if [ -h /data/data ] ; then
- #it is not, so we will run the fixer later
- /tmp/busybox touch /tmp/nofix
- else
- #it is, so we will check if the fix can be reverted
- #check to see if mtdblock6 exists
- if ! [ -e /dev/block/mtdblock6 ] ; then
- #it doesn't, so error out the script and stop
- exit 1
- fi
- #mount /datadata
- if [ -d /datadata ] ; then
- /tmp/busybox mount -t yaffs2 /dev/block/mtdblock6 /datadata
- else
- /tmp/busybox mkdir /datadata
- /tmp/busybox mount -t yaffs2 /dev/block/mtdblock6 /datadata
- fi
- #wipe /datadata and check to make sure the amount of stuff in /data/data does not exceed the ammount of free space on /datadata
- /tmp/busybox rm -rf /datadata/*
- FREE_SPACE=$(/tmp/busybox df -k | /tmp/busybox awk '$1 == "/dev/block/mtdblock6" {print int($4/1024+512)}') ; USED_SPACE=$(/tmp/busybox du -sk /data/data/ | /tmp/busybox awk '{print int($1/1024+512)}')
- if [ $FREE_SPACE -gt $USED_SPACE ] ; then
- #there is enough room on /datadata, so continue with the revert later
- /tmp/busybox touch /tmp/revert_pass
- else
- #there is not enough room, so error out the script and stop
- exit 1
- fi
- fi
- else
- #device is not mtd, so error out the script and stop
- exit 1
- fi
- exit 0
Add Comment
Please, Sign In to add comment