In Debian they have:
/etc/init.d/<startup scripts>
/etc/rc[0-6].d/symlinks

Upon switching to a run level (ie 2, or normal), the system runs all of the symlinks 
that start with 'S' in /etc/rc2.d in ALPHABETICAL ORDER with the command 'start'.
looking in that directory you see: 
S10syslogd  -> ../init.d/syslogd
S12kerneld ->  ../init.d/kerneld
S20alsa ->     ../init.d/alsa
S99xdm  ->     ../init.d/xdm

So running alphabetical order
it would execute:
/etc/init.d/syslogd start
/etc/init.d/kerneld start
/etc/init.d/alsa start
/etc/init.d/xdm start


This number is a priority.  Do XDM near the end, and syslogd at the beginning.  This 
is the reason for alphabetical order.

Also in some directories are files that start with K and a number.  These are kill 
scripts, that are executed when you switch init modes.
so if you execute: 'init 0'  (runlevel 0 or halt). it will look for 
/etc/rc0.d/K[0-9][0-9]*

K20alsa -> ../init.d/alsa
K90sysklogd -> ../init.d/sysklogd

Execution:
/etc/init.d/alsa stop
/etc/init.d/sysklogd stop


So what I suggest for debian is to make a script that will respond to start/stop.  Put 
this file in /etc/init.d.  Create symlinks for the other directories.

You'd do this:
cd /etc/rc2.d
ln -s ../init.d/hdopt S20hdopt
for i in ../rc[3-5].d ; cp -d S13hdopt $i ; done
for i in ../rc[016].d ; cp -d S13hdopt $i/K13hdopt ; done

This would create your start and kill links to the same script.  Changing to run level 
0,1,6 turns off the harddrive optimizations.  Switching to 2,3,4,5 turns them on.  
Using a priority of 13 means it will run after sysklogd and kerneld, but before ppp, 
alsa, cron, xdm, etc... but set it to whatever you feel comfortable with.  Try it with 
'init 1', 'init 4', 'init 0' etc.. (init 0 will halt!)

Here's my script that will start and stop.  Modify the hdparm settings for your best 
performance.


As a side tip, be sure to read the man page for hdparm.  Try all the safe settings, 
and test the performance.  Have a cpu monitor running as well.  It turns out that my 
harddrive works fastest and with the least amount of CPU time in 16-bit mode, no 
multsect, using only dma.  I no longer even use hdparm, because there is now a kernel 
option: use dma by default.  Turn this on, and the kernel will use dma on boot!

Cory





On Tue, Nov 14, 2000 at 08:16:15PM -0800, Timothy Bolz wrote:
> Q.  I want to put hdparm in a local boot file but I don't know where I would
> put in Debian?  Debian doesn't have file at least not that I know of.  Where
> would I put hdparm to startup when Linux boots?
> 
> Tim
#!/bin/sh
#   Script created by Cory to turn on of off hdparm harddrive optimizations

case "$1" in
  start)
        echo "Turning on harddrive optimizations."
        /sbin/hdparm -q -m1 -q -d1 /dev/hda
        ;;
  stop)
        echo "Turning off harddrive optimizations."
        /sbin/hdparm -q -m0 -q -d0 /dev/hda >/dev/null
        ;;
  force-reload|restart)
        $0 stop
        $0 start
        ;;
  *)
        echo "Usage: /etc/init.d/hdopt {start|stop}"
        exit 1
esac

exit 0

Reply via email to