#!/bin/sh
### BEGIN INIT INFO
# Provides:          nit-boot-basics
# Required-Start:    udev
# Required-Stop:     
# Default-Start:     S
# Default-Stop:
# Short-Description: Start daemon at boot time
# Description:       Enable service provided by daemon.
### END INIT INFO


tablet_setup()
{
	if [ -L /var/run ]; then
		# WARNING: This install has been corrupted!
		/sbin/fb-progress -b 000000 -p ff0000 -c -l /usr/share/incompatible-bootmenu.jpg -i 100 -o 100
		sleep 15		
		reboot -f
	fi
	
	mount --move /tmp /boot/tmp

	# activate lowmem module
	echo 92 > /proc/sys/vm/lowmem_deny_watermark
	echo 85 > /proc/sys/vm/lowmem_notify_high
	echo 512 > /proc/sys/vm/lowmem_nr_decay_pages
	echo 80 > /proc/sys/vm/lowmem_notify_low

	# adjust other kernel parameters to minimize memory consumption
	echo 16 > /proc/sys/kernel/pty/max
	echo 256 > /proc/sys/kernel/threads-max
	echo 4096 > /proc/sys/fs/file-max
	echo 1 > /proc/sys/vm/swappiness

	# adjust flushing of memory card buffers
	echo 12 > /proc/sys/vm/dirty_ratio
	echo 6 > /proc/sys/vm/dirty_background_ratio

	# help power saving
	echo 1 > /sys/power/sleep_while_idle
        # network stuff
        echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects
        echo 0 > /proc/sys/net/ipv4/conf/default/accept_redirects
        echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
        echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
        echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
        echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
        echo "49152 65535" > /proc/sys/net/ipv4/ip_local_port_range
        echo 6000 > /sys/class/bluetooth/hci0/idle_timeout

        rdev="$(mountpoint -d /)"
        mknod -m 600 /lib/init/rw/rootdev b ${rdev%:*} ${rdev#*:}
        set > /boot/tmp/env
	fsck -y /lib/init/rw/rootdev > /boot/tmp/bootbasics.log 2>&1
	                        
}

case "$1" in
        start|restart|force-reload)
        tablet_setup
        ;;
        stop)
        ;;
        *)
        echo "Usage: /etc/init.d/nit-boot-basics {start|stop|restart|force-reload}" >&2
        exit 3
        ;;
esac
