I8320 MTD版本 APP2EXT 和 Swap On Onenand

 入手了台屏,感谢老刘、影帝的热心开发了新内核的台屏驱动。

此脚本是为R3D4新内核(支持ONENAND MTD)版本而开发的。

开机自动加载app到SD第三个分区,/dev/block/mmcblk0p3,把data分区里面的app移到第三分区,空出data的大部分开间开启swap,onenand的读写速度可不是emmc和tf卡可以比拟的,呵呵;

用法:把脚本放到/etc/init.d里面,同时SD卡格式化成3个主分区

fat32 作为系统的sd卡加载;

ext3 400M 作为卡刷版本的ghost克隆

ext3  500M 作为存放app的分区;

原理:

判断加载条件:

挂载成功,同时存在movinand(/dev/block/mmcblk1),存在ext3分区(/dev/block/mmcblk0p3),并且/dev/block/mmcblk0p3挂载成功,同时不存在app2ext关闭开关文件:/data/noautoa2sd,就开启;

 

SWAP on data:

开启条件:

app2ext开启成功,并且不存在swap关闭开关文件/data/swap/creat.finish,就在

/data/swap/里面开启文件file,开启swap。

 

  
  
  
  
  1. #!/system/bin/sh 
  2.  
  3.  
  4. if [ -d /sd-ext ]; then 
  5.      MOUNT_DIR=/sd-ext 
  6. elif  [ -d /system/sd ];  then 
  7.      MOUNT_DIR=/system/sd 
  8. else 
  9.      mount -t yaffs2 -o rw,remount /dev/block/mtdblock1 /system 
  10.      mkdir /system/sd/ 
  11.      chmod 777 /system/sd 
  12.      MOUNT_DIR=/system/sd 
  13. fi 
  14.  
  15. EXTPARTITIONS=/dev/block/mmcblk0p3 
  16.  
  17. umount $/dev/block/mmcblk0p2 
  18. mount -t ext2 $EXTPARTITIONS $MOUNT_DIR 
  19. mount -t ext3 $EXTPARTITIONS $MOUNT_DIR 
  20. mount -t ext4 $EXTPARTITIONS $MOUNT_DIR 
  21.  
  22. busybox mount > /data/tmp 
  23. busybox ls -l /data/ > /data/ln_s 
  24.  
  25.  
  26.  
  27. if busybox grep -q "$MOUNT_DIR/app" /data/ln_s; 
  28.      then 
  29.           if ! busybox grep -q "$EXTPARTITIONS" /data/tmp; 
  30.           then 
  31.             if [ ! -e /dev/block/mmcblk1 -o ! -e /dev/block/mmcblk0p2] 
  32.         then 
  33.             rm /data/swapfile 
  34.             rm /data/havemount 
  35.             rm /data/nomount 
  36.             touch /data/nomount 
  37.             rm /data/app 
  38.             rm /data/dalvik-cache   
  39.             rm /data/app-private 
  40.             mkdir /data/app 
  41.             mkdir /data/dalvik-cache   
  42.             mkdir /data/app-private 
  43.             chmod 777 /data/app 
  44.             chmod 777 /data/dalvik-cache   
  45.             chmod 777 /data/app-private 
  46.            fi; 
  47.           fi 
  48. fi 
  49.  
  50. if [ -f /data/noautoa2sd ] 
  51.      then 
  52.           rm /data/tmp 
  53.           rm /data/ln_s 
  54.       rm /data/swapfile 
  55.           exit 0 
  56. fi; 
  57.  
  58. if busybox grep -q "$EXTPARTITIONS" /data/tmp; 
  59. then  
  60. if [ -e /dev/block/mmcblk1 -a -e /dev/block/mmcblk0p2 ] 
  61. then 
  62.      rm /data/havemount 
  63.      rm /data/nomount 
  64.  
  65.      rm /data/app 
  66.      rm /data/dalvik-cache 
  67.      rm /data/app-private 
  68.  
  69.      touch /data/havemount 
  70.      mkdir $MOUNT_DIR/app 
  71.      chmod 777 $MOUNT_DIR/app 
  72.      busybox cp -r -p /data/app/* $MOUNT_DIR/app/; 
  73.      busybox rm -r /data/app 
  74.      ln -s $MOUNT_DIR/app /data/app 
  75.  
  76.      mkdir $MOUNT_DIR/app-private 
  77.      chmod 777 $MOUNT_DIR/app-private 
  78.      busybox cp -r -p /data/app-private/* $MOUNT_DIR/app-private/; 
  79.      busybox rm -r /data/app-private 
  80.      ln -s $MOUNT_DIR/app-private /data/app-private 
  81.  
  82.      mkdir $MOUNT_DIR/dalvik-cache   
  83.      chmod 777 $MOUNT_DIR/dalvik-cache   
  84.      busybox cp -r -p /data/dalvik-cache/* $MOUNT_DIR/dalvik-cache/; 
  85.      busybox rm -r /data/dalvik-cache   
  86.      ln -s $MOUNT_DIR/dalvik-cache    /data/dalvik-cache   
  87. fi; 
  88. fi; 
  89.  
  90.  
  91.  
  92. if busybox grep -q "$EXTPARTITIONS" /data/tmp; 
  93. then  
  94. if [ -e /dev/block/mmcblk1 -a -e /dev/block/mmcblk0p2 ] 
  95. then 
  96. mkdir /data/swap/ 
  97.  
  98.     if [ ! -f /data/swap/offswap ] 
  99.         then 
  100.             if [ ! -f /data/swap/creat.finish ] 
  101.                 then 
  102.                 dd if=/dev/zero of=/data/swap/file bs=1048576 count=100 
  103.                 mkswap /data/swap/file 
  104.                 touch /data/swap/creat.finish 
  105.             fi; 
  106.             /system/bin/busybox losetup /dev/block/loop7 /data/swap/file >/data/swap/creat.finish 
  107.             /system/bin/busybox swapon /dev/block/loop7 >/data/swap/creat.finish 
  108.     fi 
  109.  
  110. fi; 
  111. fi; 
  112.  
  113.  
  114. rm /data/tmp; 
  115. rm /data/ln_s; 
  116. rm /data/first

脚本下载:

你可能感兴趣的:(职场,休闲,A2SD)