At the end of my /etc/rc.d/rc.local (Slackware) I have the following: if [ -x /etc/rc.d/rc.pvr ]; then if ! grep nopvr /proc/cmdline 1> /dev/null 2> /dev/null ; then . /etc/rc.d/rc.pvr start fi fi Then I have rc.pvr which is in charge of loading the ivtv stuff and start mythbackend if the machine has those init scripts available. Note, my backend is using ivtv 0.20rcj so the rc.ivtv would have to be updated for a newer version of ivtv. I can disable any portion of this using "nopvr, noautologin, noivtv, nomythtv" at the lilo boot prompt. mythtv@woop:~$ cat /etc/rc.d/rc.pvr #!/bin/sh # Don't load ivtv if 'noivtv' was given at boot. if [ -x /etc/rc.d/rc.ivtv ]; then if ! grep noivtv /proc/cmdline 1> /dev/null 2> /dev/null ; then . /etc/rc.d/rc.ivtv start fi fi # Don't load mythtv if 'nomythtv' was given at boot. if [ -x /etc/rc.d/rc.mythtv ]; then if ! grep nomyth /proc/cmdline 1> /dev/null 2> /dev/null ; then . /etc/rc.d/rc.mythtv start fi fi # # Don't load the dxr3 if 'nodxr3' was given at boot. #if [ -x /etc/rc.d/rc.dxr3 ]; then # if ! grep nodxr3 /proc/cmdline 1> /dev/null 2> /dev/null ; then # . /etc/rc.d/rc.dxr3 start # fi #fi if ! grep nosensors /proc/cmdline 1> /dev/null 2> /dev/null ; then echo "Loading i2c/lm sensors" modprobe i2c-sensor modprobe i2c-isa modprobe w83627hf /usr/bin/sensors -s fi if ! grep noautologin /proc/cmdline 1> /dev/null 2> /dev/null ; then echo "Launching XWindows" su - mythtv -c "bash -l startx -- -dpi 100" & fi mythtv@woop:~$ cat /etc/rc.d/rc.ivtv #!/bin/sh # # /etc/rc.d/rc.ivtv # # Start/stop/restart the ivtv device driver modules. # ivtv_load() { echo "Loading IVTV Driver Modules" echo -n "tuner..." /sbin/modprobe tuner type=2 echo -n "msp3400..." /sbin/modprobe msp3400 echo -n "saa7115..." /sbin/modprobe saa7115 echo -n "ivtv..." /sbin/modprobe ivtv echo "Done!" echo "Setting PVR to NTSC - 720x480" /usr/local/bin/ivtvctl -u 0x3000 /usr/local/bin/ivtvctl -p 4 /usr/local/bin/ivtvctl -f width=720,height=480 # /usr/local/bin/ivtvctl -c dnr_mode=0,dnr_temporal=4,dnr_spatial=4 /usr/local/bin/ivtvctl -d /dev/video1 -u 0x3000 /usr/local/bin/ivtvctl -d /dev/video1 -p 4 /usr/local/bin/ivtvctl -d /dev/video1 -f width=720,height=480 # /usr/local/bin/ivtvctl -d /dev/video1 -c dnr_mode=0,dnr_temporal=4,dnr_spatial=4 } ivtv_unload() { echo "Unloading IVTV Driver Modules" echo -n "saa7115..." rmmod saa7115 echo -n "ivtv..." rmmod ivtv echo -n "msp3400..." rmmod msp3400 echo -n "tuner..." rmmod tuner echo -n "tveeprom..." rmmod tveeprom echo "Done!" } ivtv_reload() { ivtv_unload sleep 2 ivtv_load } case "$1" in 'start') ivtv_load ;; 'stop') ivtv_unload ;; 'restart') ivtv_reload ;; 'reload') ivtv_reload ;; *) # Default is "start", for backwards compatibility with previous # Slackware versions. This may change to a 'usage' error someday. ivtv_load esac mythtv@woop:~$ cat /etc/rc.d/rc.mythtv #!/bin/sh # # /etc/rc.d/rc.mythtv # LOGFILE="/var/log/mythtv.log" PIDFILE="/var/run/mythbackend.pid" mythtv_load() { if [ -x /usr/local/bin/mythbackend ]; then echo "Launching MythBackend" /usr/local/bin/mythbackend --logfile $LOGFILE --pidfile $PIDFILE -d fi } mythtv_unload() { echo "Shutting down MythBackend" kill `cat $PIDFILE` } mythtv_reload() { mythtv_unload sleep 1 mythtv_load } case "$1" in 'start') mythtv_load ;; 'stop') mythtv_unload ;; 'restart') mythtv_reload ;; 'reload') mythtv_reload ;; *) # Default is "start", for backwards compatibility with previous # Slackware versions. This may change to a 'usage' error someday. mythtv_load esac