#!/system/bin/sh
#
# File System Repair & Setup For the Behold 2 Galaxy port
# eugene373@gmail.com (BH_MAN) w/ a2sd & Swap Support 
# For the Behold 2
#
mount -o rw,remount /dev/st9 /system
mount -o rw,remount /dev/stl9 /system
mount -o rw,remount rootfs /
chmod 777 /dev/block/mmcblk0p2
chmod 777 /dev/block/mmcblk0p3
mkdir /data/dbdata
mkdir /data/dbdata/databases
mkdir /data/dbdata/databases/com.android.providers.media
mkdir /data/dbdata/databases/com.android.providers.contacts
mkdir /system/sd
mkdir /system/sd/app
mkdir /system/sd/app-private
mkdir /system/sd/dalvik-cache
chmod 777 /system
chmod 777 /system/acam
chmod 777 /system/app
chmod 777 /system/bin
chmod 777 /system/etc
chmod 777 /system/etc/dhcpcd
chmod 777 /system/etc/permissions
chmod 777 /system/etc/ppp
chmod 777 /system/etc/security
chmod 777 /system/etc/wifi
chmod 777 /system/firmware
chmod 777 /system/fonts
chmod 777 /system/framework
chmod 777 /system/lib
chmod 777 /system/lib/hw
chmod 777 /system/lib/bluez-plugin
chmod 777 /system/libmodules
chmod 777 /system/media
chmod 777 /system/media/audio
chmod 777 /system/media/audio/alarms
chmod 777 /system/media/audio/notifications
chmod 777 /system/media/audio/ringtones
chmod 777 /system/media/audio/ui
chmod 777 /system/media/boot_ani
chmod 777 /system/media/video
chmod 777 /system/media/video/shutdown
chmod 777 /system/MPS
chmod 777 /system/myfiles
chmod 777 /system/usr
chmod 777 /system/xbin
chmod 777 /system/sd
chmod 777 /system/sd/app
chmod 777 /system/sd/app-private
chmod 777 /system/sd/dalvik-cache
rm -R /system/sd/dalvik-cache
rm -R /system/sd/app-private
mkdir /system/sd/app-private
mkdir /system/sd/dalvik-cache
chmod 777 /system/sd/app-private
chmod 777 /system/sd/dalvik-cache
chmod 777 /data
chmod 777 /data/app
chmod 777 /data/app-private
chmod 777 /data/dalvik-cache
chmod 777 /data/dbdata
chmod 777 /data/dbdata/databases
chmod 777 /data/dbdata/databases/com.android.providers.media
chmod 777 /data/dbdata/databases/com.android.providers.contacts
ln -s /data/dbdata /dbdata
rm -R /system/acam
rm -R /system/myfiles
rm -R /system/media/video
chmod 04755 /system/bin/sh
chmod 04755 /system/bin/su
sysctl -p

if [ -e /dev/block/mmcblk0p2 ];
then
    # fsck the sdcard filesystem first
    e2fsck -y /dev/block/mmcblk0p2;
    
    # set property with exit code in case an error occurs
    setprop cm.e2fsck.errors $?;

    # mount and set perms
    busybox mount -o noatime,nodiratime -t auto /dev/block/mmcblk0p2 /system/sd;
    busybox chown 1000:1000 /system/sd;
    busybox chmod 771 /system/sd;

    # clean up any old symlinks, create data directories
    for i in dalvik-cache 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 /system/sd/data ];
    then
        busybox cp -a /system/sd/data/* /data/data/;
        busybox rm -rf /system/sd/data;
    fi;

    # move apps and dalvik cache from internal memory to sdcard
    for i in app app-private dalvik-cache;
    do
        if [ ! -d /system/sd/$i ];
        then
            mkdir /system/sd/$i;
        fi

        busybox chown 1000:1000 /system/sd/$i;
        busybox chmod 771 /system/sd/$i
	    
        if [ -d /data/$i ] && [ ! -h /data/$i ];
        then
            busybox cp -a /data/$i/* /system/sd/$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 /system/sd/$i /data/$i;
        fi;
    done;

    # bind mount dalvik-cache so we can still boot without the sdcard
    busybox mount -o bind /system/sd/dalvik-cache /data/dalvik-cache;
    busybox chown 1000:1000 /data/dalvik-cache;
    busybox chmod 771 /data/dalvik-cache;

    # clean up old whiteouts
    for i in local misc property system tombstones data;
    do
        if [ -h /system/sd/$i ]; then rm -f /system/sd/$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 /system/sd/app/*.odex

   
    setprop cm.a2sd.active 1;

else
    
    # replace symlinks with directories so we can boot without sd
    for i in app app_s 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;
setprop cm.filesystem.ready 1;

#!/system/bin/sh
# Thanks to Denkai/Dwang

if [ -n /dev/block/mmcblk0p3 ];
then
	mkswap /dev/block/mmcblk0p3;
fi;

if [ -e /dev/block/mmcblk0p3 ];
then
	echo 30 > /proc/sys/vm/swappiness;
	swapon /dev/block/mmcblk0p3;
fi;



if [ -d /system/media ] && [ ! -h /system/media ] && [ -e /system/sd/media ];
then
    # fix the permissions
	busybox chmod 777 /system/sd/media
	for i in `ls -R /system/sd/media | grep ":" | sed "s/://"`;
	do
	   cd $i;
	   busybox chmod 777 $i;
	   for j in `ls $i`;
	   do
			busybox chmod 666 $j;
	   done
	done

	busybox mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
	busybox rm -rf /system/media;
	busybox ln -s /system/sd/media /system/media;
	busybox mount -o ro,remount -t yaffs2 /dev/block/mtdblock3 /system
fi;
 /system/bin/playlogo_real

