import init.omap4pandaboard.usb.rc

on early-init
    export EXTERNAL_STORAGE /mnt/sdcard
    mkdir /mnt/sdcard 0000 system system
    # for backwards compatibility
    symlink /mnt/sdcard /sdcard

on post-fs-data
    # we will remap this as /mnt/sdcard with the sdcard fuse tool
    mkdir /data/media 0775 media_rw media_rw
    chown media_rw media_rw /data/media
    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 ext4 /dev/block/platform/omap/omap_hsmmc.0/by-name/system /system wait ro
	mount ext4 /dev/block/platform/omap/omap_hsmmc.0/by-name/userdata /data wait noatime nosuid nodev
	mount ext4 /dev/block/platform/omap/omap_hsmmc.0/by-name/cache /cache wait noatime nosuid nodev

# 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/bugmailer.sh -v
	class main
	disabled
	oneshot
	keycodes 102 272


service pvrsrvinit /vendor/bin/pvrsrvinit
	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

# create virtual SD card at /mnt/sdcard, based on the /data/media directory
# daemon will drop to user/group system/media_rw after initializing
# underlying files in /data/media will be created with user and group media_rw (1023)
service sdcard /system/bin/sdcard /data/media 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
