#!/system/xbin/ash

. /system/etc/liberty.bsh

# Always zipalign
zipalign_apks

# Enable Syscntl
sysctl -p /system/etc/sysctl.conf

# Fix Permissions
fix_permissions

# Enable Cron
# crond has "/bin/sh" hardcoded
mount -o remount,rw rootfs /
if busybox [ ! -L /bin ]; then
    ln -s /system/bin/ /bin
fi
mount -o remount,ro rootfs /

# set timezone (if you're not between -0500 and -0800 you get PST)
# todo - support other timezones
timezone=`date +%z`
if busybox [ $timezone = "-0800" ]; then
    TZ=PST8PDT
elif busybox [ $timezone = "-0700" ]; then
    TZ=MST7MDT
elif busybox [ $timezone = "-0600" ]; then
    TZ=CST6CDT
elif busybox [ $timezone = "-0500" ]; then
    TZ=EST5EDT
else
    TZ=PST8PDT
fi
export TZ

# use /data/cron, call the crontab file "root"
if busybox [ ! -d /data/cron ]; then
    busybox mkdir -p /data/cron
    cat > /data/cron/root << EOF
# run-parts
01 * * * * busybox run-parts /system/etc/cron/cron.hourly
02 4 * * * busybox run-parts /system/etc/cron/cron.daily
22 4 * * 0 busybox run-parts /system/etc/cron/cron.weekly
EOF
fi
busybox crond -c /data/cron

# Read Ahead
if [ -e /sys/devices/virtual/bdi/179:0/read_ahead_kb ];
then
    echo "1024" > /sys/devices/virtual/bdi/179:0/read_ahead_kb;
fi;

# VM
echo "3000" > /proc/sys/vm/dirty_expire_centisecs;
echo "300" > /proc/sys/vm/dirty_writeback_centisecs;
echo "8192" > /proc/sys/vm/min_free_kbytes;
echo "1" > /proc/sys/vm/oom_kill_allocating_task;
echo "0" > /proc/sys/vm/panic_on_oom;
echo "70" > /proc/sys/vm/dirty_background_ratio;
echo "90" > /proc/sys/vm/dirty_ratio;
echo "5" > /proc/sys/vm/vfs_cache_pressure;
echo "0" > /proc/sys/vm/overcommit_memory;
echo "4" > /proc/sys/vm/min_free_order_shift;
echo "0" > /proc/sys/vm/laptop_mode;
echo "0" > /proc/sys/vm/block_dump;
echo "0" > /proc/sys/vm/oom_dump_tasks;
echo "3" > /proc/sys/vm/drop_caches;
