#!/bin/sh runlevel=S prevlevel=N umask 022 export runlevel prevlevel # source defaults . /etc/default/rcS . /etc/profile . /etc/init.d/functions . /etc/init.d/globals SHOWINFO "start" # init system SHOWINFO "creating and mounting system directories ..." mount -t proc proc /proc mount -t sysfs sys /sys mount -t tmpfs tmp /tmp mount -t tmpfs media /media mount -t tmpfs srv /srv mount -t tmpfs mnt /mnt for dir in autofs epg logos logos/events movies music pictures plugins; do mkdir -p /mnt/${dir} done mkdir -p /dev/pts mount -t devpts devpts /dev/pts mkdir -p /dev/shm/usb mount -t usbfs none /proc/bus/usb # for nfsd mkdir -p /var/lib/nfs mount -t tmpfs nfs /var/lib/nfs # for samba mkdir -p /var/samba mount -t tmpfs samba /var/samba # for wget mkdir -p /var/run/wget # for wireless drivers mkdir -p /var/run/wpa_supplicant # set level of messages printed to console dmesg -n 1 # set dummy date test -e /etc/date-dummy && date -s "$(cat /etc/date-dummy)" # create nodes # makedevs /dev << EONODES watchdog c 644 0 0 10 130 cnxt d 755 0 0 cnxt/cnxt_gen_drv c 644 0 0 102 0 notifyq c 644 0 0 102 1 user_kal c 644 0 0 102 2 display c 644 0 0 238 0 cs_control c 644 0 0 249 0 input d 755 0 0 input/nevis_ir c 644 0 0 240 0 input/event0_uinput c 644 0 0 10 223 input/mouse c 644 0 0 13 32 0 1 4 input/event2 c 644 0 0 13 66 input/event3 c 644 0 0 13 67 EONODES ln -sf nevis_ir /dev/input/event0 ln -sf nevis_ir /dev/input/input0 # set hostname service hostname start # logging as much as possible service syslogd start service sysctl start LOGINFO "init frontpanel ..." insmod cs_frontpanel.ko # update kernel if [ -x /etc/init.d/stb_update.sh ]; then /etc/init.d/stb_update.sh fi # update system if [ -x /etc/init.d/sys_update.sh ]; then /etc/init.d/sys_update.sh fi # mdev coldplug for node permissions service mdev start # initialize hardware LOGINFO "init hardware ..." dt -t"INIT HARDWARE" insmod cnxt_kal.ko insmod cnxt_base.ko init=1 if [ -e /var/etc/.scart_osd_fix ]; then insmod cnxt_fb.ko cnxtfb_standalone=1 cnxtfb_width=720 cnxtfb_height=576 #PAL elif [ -e /var/etc/.scart_osd_fix_wide ]; then insmod cnxt_fb.ko cnxtfb_standalone=1 cnxtfb_width=1024 cnxtfb_height=576 #PAL widescreen else insmod cnxt_fb.ko cnxtfb_standalone=1 cnxtfb_width=1280 cnxtfb_height=720 #HDTV fi insmod cnxt_lnx.ko insmod cnxt_alsa.ko if [ -e /var/etc/.hddpower ]; then insmod cs_control.ko hdd_power=1 else insmod cs_control.ko fi insmod cnxt_i2c.ko insmod cnxt_sata_drv.ko LOGINFO "init drivers ..." dt -t"INIT DRIVERS" insmod 8712u.ko insmod 8192cu.ko insmod rt2870sta.ko # fire up network/wlan service network start service ntpdate start # load rest of modules insmod cifs.ko insmod fuse.ko insmod usbserial.ko insmod ftdi_sio.ko insmod tun.ko insmod pl2303.ko insmod stv6110.ko verbose=0 insmod stv090x.ko verbose=0 insmod tda10023.ko insmod avl2108.ko insmod max2112.ko insmod cs_frontend_prop.ko insmod dvb-core.ko insmod cs_frontend.ko # say hi to everyone dt -ls01 dt -ls02 dt -c dt -t"BOOT NI-IMAGE" # trap CTRL-C only in this shell so we can interrupt subprocesses trap ":" INT QUIT TSTP # call all parts in order exec /etc/init.d/rc S SHOWINFO "done"