Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/system/bin/sh
- #
- # Apps2SD using symlinks and bind mounts
- # [email protected] (cyanogen)
- # Adapted by Teknologist
- # fixed autoformat mmcblk0p2 to ext2 by Kalashnikitty
- #Removed this as there is no /etc/sysctl.conf as of now in MCR
- # execute any postinstall script then kill it
- if [ -e /dev/block/mmcblk0p2 ];
- then
- # mount and set perms
- busybox mount -o noatime,nodiratime,nosuid,nodev,noauto_da_alloc,nouser_xattr,errors=continue -t auto /dev/block/mmcblk0p2 /sd-ext;
- busybox chown 1000:1000 /sd-ext;
- busybox chmod 771 /sd-ext;
- # clean up any old symlinks, create data directories
- for i in data;
- do
- if [ -h /data/$i ];
- then
- rm /data/$i;
- fi;
- if [ ! -d /data/$i ];
- then
- mkdir /data/$i;
- busybox chown 1000:1000 /data/$i;
- busybox chmod 771 /data/$i;
- fi;
- done;
- # don't allow /data/data on sd because of upgrade issues - move it if possible
- if [ -d /sd-ext/data ];
- then
- busybox cp -a /sd-ext/data/* /data/data/;
- busybox rm -rf /sd-ext/data;
- fi;
- # move apps from internal memory to sdcard
- for i in app app-private;
- do
- if [ ! -d /sd-ext/$i ];
- then
- mkdir /sd-ext/$i;
- fi
- busybox chown 1000:1000 /sd-ext/$i;
- busybox chmod 771 /sd-ext/$i
- if [ -d /data/$i ] && [ ! -h /data/$i ];
- then
- busybox cp -a /data/$i/* /sd-ext/$i/;
- busybox rm -f /data/$i/*;
- fi;
- done;
- # symlink app dirs - they must be on the same filesystem
- for i in app app-private;
- do
- if [ -d /data/$i ] && [ ! -h /data/$i ];
- then
- busybox rm -rf /data/$i;
- busybox ln -s /sd-ext/$i /data/$i;
- fi;
- done;
- # clean up old whiteouts
- for i in local misc property system tombstones data;
- do
- if [ -h /sd-ext/$i ]; then rm -f /sd-ext/$i; fi
- done;
- # please don't put odex files in the app directory people!
- # it causes dexopt to crash when switching builds!
- busybox rm -f /sd-ext/app/*.odex
- setprop cm.a2sd.active 1;
- echo "+++ Apps-to-SD successfully enabled";
- else
- # replace symlinks with directories so we can boot without sd
- for i in app app-private;
- do
- if [ -h /data/$i ];
- then
- rm -f /data/$i;
- mkdir /data/$i;
- busybox chown 1000:1000 /data/$i;
- busybox chmod 771 /data/$i;
- fi;
- done;
- setprop cm.a2sd.active 0;
- fi;
- sync;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement