#! /bin/sh
# basic startup stuff

export PATH=/bin:/sbin:/usr/bin:/usr/sbin:.

# Debugfs for kernel-to-userspace debug info of any kind:
mount -t debugfs debugfs /proc/sys/debug

mount -t tmpfs -o mode=0777 tmpfs /www/cgi-bin/pkgs

echo "/tmp init" > /tmp/bootlog

# Mount debugfs
mount -t debugfs nodev /sys/kernel/debug

# Shared memory device
mkdir -p /dev/shm
mount -t tmpfs none /dev/shm

# MStar device nodes
mknod /dev/XC c 147 0           
mknod /dev/scaler c 147 0  
mknod /dev/gflip c 234 0        
mknod /dev/system c 148 0
mknod -m 666 /dev/msmailbox c 175 0  
chown 0:501 /dev/msmailbox

# Mount the custom_pkg
if ! grep -q "root=/dev/nfs" /proc/cmdline; then
    authmount /dev/mtdblock_robbs1 /custom
else
    echo "Skipped /custom mount in NFS environment."
fi

# Add symbolic mtd device names
tail -n+2 /proc/mtd | \
sed 's@^mtd\([^:]*\): .*"\([^"]*\)".*@ \
  ln -s /dev/mtd\1 /dev/mtd_\2; \
  ln -s /dev/mtdblock\1 /dev/mtdblock_\2; \
  ln -s /dev/mtdblock_robbs\1 /dev/mtdblock_robbs_\2; \
  ln -s /dev/mtdblock_robbs_raw\1 /dev/mtdblock_robbs_raw_\2; @' | sh


# Allow app to access LocalDimming MCU serial
chown root.app /dev/ttyS3

# The following should not be needed - src/skeleton/paolo makes all the correct links.
	# Add /var directories:
	#mkdir /tmp/var
	#mount -o bind /tmp/var /var
	# For symlinks from /etc:
	#mkdir /var/etc
	# Other common directories:
	#mkdir /var/lib /var/lock /var/lock/subsys /var/run /var/tmp /var/log
	#chmod 1777 /var/tmp

# Required by blinkd:
mkdir -p /tmp/subsys

# Don't let SCHED_FIFO / SCHED_RR realtime threads get preempted
echo -1 > /proc/sys/kernel/sched_rt_runtime_us
insmod /lib/modules/mali.ko mali_dedicated_mem_start=0x19300000 mali_dedicated_mem_size=0x6000000 mali_secondary_dedicated_mem_start=0x88400000 mali_secondary_dedicated_mem_size=0x3800000

echo "Initialize drivers..."
modprobe mdrv_mbx
modprobe usb-storage
modprobe snd-usb-audio

mkdir -m 0777 /tmp/app

mkdir -m 0777 /tmp/fps_display

