Advertisement
savoxis

Dinc Reformat

Apr 15th, 2011
241
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.28 KB | None | 0 0
  1. #!/sbin/sh
  2.  
  3. # Recovery Script to reformat Droid Incredible data partiton as /ext4
  4. # 4/15/2011 by getitnowmarketing getitnowmarketing@gmail.com
  5. # Version 1.1
  6.  
  7.  
  8. DMKE2FS="/sbin/mke2fs"
  9. DTUNE2FS="/sbin/tune2fs"
  10. DE2FSCK="/sbin/e2fsck"
  11. CHECKMOUNTED=`mount | grep data | awk '{print $2}'`
  12.  
  13.  
  14.  
  15. case $1 in
  16.     check)
  17.      if [ "$CHECKMOUNTED" == "on" ]; then
  18.         echo "/data already mounted"
  19.      else
  20.         mount /data 2>/dev/null
  21.         sleep 2
  22.      fi
  23.           #Grab 5th collumn from the mount output greping only line with data
  24.         FSTYPE=`mount | grep data | awk '{print $5}'`
  25.         echo "Filesystem for Data is: $FSTYPE"
  26.      ;;
  27.         formatext4)
  28.       if [ "$CHECKMOUNTED" == "on" ]; then
  29.         echo "/data already mounted"
  30.       else
  31.         echo "mounting /data to check fs type"
  32.         mount /data 2>/dev/null
  33.         sleep 2
  34.       fi
  35.           FSTYPE=`mount | grep data | awk '{print $5}'`
  36.  
  37.         #Check if FS is ext4 already
  38.       if [ "$FSTYPE" == "ext4" ]; then
  39.         echo "your filesystem is already ext4"
  40.         exit 1
  41.       fi
  42.  
  43.         #Check if FS is ext3
  44.       if [ "$FSTYPE" == "ext3" ]; then
  45.         echo "/data is ext3 ..proceed"
  46.       else
  47.         echo "filesystem is $FSTYPE"
  48.            exit 1            
  49.       fi
  50.  
  51.           #Get data partition dynamically
  52.         DINCDATAPART=`mount | grep data | awk '{print $1}'`
  53.  
  54.         echo "unmounting /data"
  55.         umount /data 2>/dev/null
  56.         sleep 2
  57.      
  58.         "$DTUNE2FS" -O extents,uninit_bg,dir_index "$DINCDATAPART"
  59.         "$DE2FSCK" -fpDC0 "$DINCDATAPART"
  60.         sleep 2
  61.         echo "done"
  62.      ;;
  63.  
  64.  
  65.     reformatext3)
  66.       if [ "$CHECKMOUNTED" == "on" ]; then
  67.         echo "/data already mounted"
  68.       else
  69.         echo "mounting /data to check fs type"
  70.         mount /data 2>/dev/null
  71.         sleep 2
  72.       fi
  73.      
  74.           FSTYPE=`mount | grep data | awk '{print $5}'`
  75.  
  76.       if [ "$FSTYPE" == "ext4" ]; then
  77.           #Get data partition dynamically
  78.         DINCDATAPART=`mount | grep data | awk '{print $1}'`
  79.  
  80.         echo "unmounting /data"
  81.         umount /data 2>/dev/null
  82.         sleep 2
  83.         echo "preparing to repartition /data as ext3"
  84.         "$DMKE2FS" -t ext3 "$DINCDATAPART"
  85.         "$DE2FSCK" -fp "$DINCDATAPART"
  86.         sleep 2
  87.       else
  88.         echo "/data is not currently ext4"
  89.         exit 1
  90.       fi
  91.      ;;
  92.     --)
  93.      ;;
  94. esac
  95.     CHECKMOUNTED=`mount | grep data | awk '{print $2}'`
  96.     if [ "$CHECKMOUNTED" == "on" ]; then
  97.         echo "unmounting /data"
  98.         umount /data 2>/dev/null
  99.         sleep 2
  100.         exit 0
  101.     else
  102.         exit 0
  103.         fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement