import init.omap4pandaboard.usb.rc

on init
    # See storage config details at http://source.android.com/tech/storage/
    mkdir /mnt/shell/emulated 0700 shell shell
    mkdir /storage/emulated 0555 root root

    export EXTERNAL_STORAGE /storage/emulated/legacy
    export EMULATED_STORAGE_SOURCE /mnt/shell/emulated
    export EMULATED_STORAGE_TARGET /storage/emulated

    # Support legacy paths
    symlink /storage/emulated/legacy /sdcard
    symlink /storage/emulated/legacy /mnt/sdcard
    symlink /storage/emulated/legacy /storage/sdcard0
    symlink /mnt/shell/emulated/0 /storage/emulated/legacy

on post-fs-data
    mkdir /data/media 0770 media_rw media_rw

    setprop vold.post_fs_data_done 1
    mkdir /data/misc/dhcp 0770 dhcp dhcp
    chown dhcp dhcp /data/misc/dhcp
    mkdir /data/misc/wifi/sockets 0770 wifi wifi

on boot
	mount debugfs /sys/kernel/debug /sys/kernel/debug
	chmod 0666 /dev/pvrsrvkm

on fs
	# mount_all /fstab.omap4pandaboard

# change permissions for Bluetooth/FM/GPS
	chmod 0600 /sys/class/rfkill/rfkill0/state
	chown bluetooth bluetooth /sys/class/rfkill/rfkill0/state
	chmod 0600 /dev/ttyO1
	chown bluetooth bluetooth /dev/ttyO1

# take a wakelock on boot until PM is working
	write /sys/power/wake_lock hack

# bugreport is triggered by holding down the user button and left mouse button
service bugreport /system/bin/dumpstate -d -p -B \
        -o /data/data/com.android.shell/files/bugreports/bugreport
	class main
	disabled
	oneshot
	keycodes 102 272


service pvrsrvctl /vendor/bin/pvrsrvctl --start --no-module
	class core
	user root
	group root
	oneshot

# create filesystems if necessary
service setup_fs /system/bin/setup_fs \
		/dev/block/platform/omap/omap_hsmmc.0/by-name/cache \
		/dev/block/platform/omap/omap_hsmmc.0/by-name/userdata
        class core
        user root
        group root
        oneshot

#shared transport user space mgr service for Bluetooth, FM and GPS
service uim /system/bin/uim-sysfs
	class core
	user bluetooth
	group bluetooth net_bt_admin

# virtual sdcard daemon running as media_rw (1023)
service sdcard /system/bin/sdcard /data/media /mnt/shell/sdcard0 1023 1023
    class late_start

service wpa_supplicant /system/bin/wpa_supplicant -Dnl80211 -iwlan0 -c/data/misc/wifi/wpa_supplicant.conf -dd
    socket wpa_wlan0 dgram 660 wifi wifi
    disabled
    oneshot

service dhcpcd_wlan0 /system/bin/dhcpcd -ABKL
    disabled
    oneshot

service iprenew_wlan0 /system/bin/dhcpcd -n
    disabled
    oneshot

service dhcpcd_eth0 /system/bin/dhcpcd -ABKL
    disabled
    oneshot

service iprenew_eth0 /system/bin/dhcpcd -n
    disabled
    oneshot
