1 MKSHELL=/opt/plan9/bin/rc
4 #test-start:VQPservice -u: foo-start
8 #test-stop:VQPservice -d: /
22 # Initial setup/shutdown for mkinit
25 $P mount -o remount,rw /
26 # mount proc here to make bootchart happier
27 $P mount -t proc proc /proc
31 # Kill all process, then remount and sync
32 halt:QVE: utmp-stop hwclock-stop alsa-stop
33 echo TERMinating all processes
34 $P pkill -15 -vg0 >/dev/null >[2=1]
36 $P pgrep -vg0 >/dev/null >[2=1] && $P sleep 1
37 echo KILLing all processes
38 $P pkill -9 -vg0 >/dev/null >[2=1]
40 $P pgrep -vg0 >/dev/null >[2=1] && $P sleep 1
42 echo Remounting read-only
43 $P mount -o remount,ro /
48 # Listener for /dev/initctl, for shutdown(8)
49 initctl-start:VPservice -u: boot
53 { exec $P initctld $fifo |
55 $P mkinit $line >/dev/console >[2=1]
58 initctl-stop_cmd=fuser -k /dev/initctl
61 mounts-start:VPservice -u: boot
62 $P cp /proc/mounts /etc/mtab
63 $P mdadm -A /dev/md4 /dev/sd[abc]4
67 # Mount devtmpfs and shm/pts subfolders
68 devtmpfs-start:VEPservice -u: boot
74 # Start mdev as initial/daemon
75 mdev-start:VEPservice -u: mounts-start udev-stop
76 $P echo /sbin/mdev > /proc/sys/kernel/hotplug
80 # Start udev and trigger events
81 udev-start:VEPservice -u: mounts-start
84 $P udevadm settle '--timeout=10'
86 udev-stop_cmd=pkill udevd
89 modules-start:VEPservice -u: boot
94 # Clean out /tmp and /var/run directories
95 fsclean-start:VPservice -u: boot
98 $P mv $dirs /.old || true
101 $P install -m 777 -d /var/run/screen # Fuck you Screen
102 $P exec rm -rf /.old &
105 # Spawn gettys for tty[456]
106 getty-start:VEPservice -u: hostname-start utmp-start
107 $P respawn /sbin/agetty 38400 tty4 linux
108 $P respawn /sbin/agetty 38400 tty5 linux
109 $P respawn /sbin/agetty 38400 tty6 linux
111 getty-stop_cmd=fuser -k /dev/tty3 /dev/tty4 /dev/tty5 /dev/tty6
113 # Spawn qingys for tty[23]
114 qingy-start:VEPservice -u: hostname-start utmp-start modules-start
115 $P respawn /sbin/qingy tty2
116 $P respawn /sbin/qingy tty3 -t
119 qingy-stop_cmd=fuser -k /dev/tty2
122 utmp-start:VPservice -u: fsclean-start
123 for (i in /var/run/utmp /var/log/wtmp) {
124 $P eval 'echo -n > $i'
129 utmp-stop_cmd=halt -w
132 cpufreq-start:VPservice -u: mounts-start
133 $P cpufreq-set -g ondemand
137 localhost-start_cmd=ifconfig lo 127.0.0.1
138 localhost-stop_cmd=ifconfig lo down
141 hostname-start_cmd=hostname
144 sysctl-start_cmd=sysctl -p
150 at-stop_cmd=pkill atd
153 cron-stop_cmd=pkill cron
155 hddtemp-start:VPservice -u: localhost-start
156 $P hddtemp -d -l 127.0.0.1 /dev/sda
158 hddtemp-stop_cmd=pkill hddtemp
160 hwclock-start_cmd=hwclock --hctosys --utc
161 hwclock-stop_cmd=hwclock --systohc --utc
163 sshd-start_cmd=/usr/sbin/sshd
164 sshd-stop_cmd=pkill sshd
166 swap-start_cmd=swapon -a
167 swap-stop_cmd=swapoff -a
169 syslog-start:VPservice -u: mounts-start
172 syslog-stop_cmd=pkill syslog
177 alsa-start_cmd=alsactl restore
178 alsa-stop_cmd=alsactl store
181 cups-stop_cmd=pkill cupsd
183 dbus-start:VPservice -u: fsclean-start localhost-start
184 $P mkdir -p /var/run/dbus
185 $P /usr/bin/dbus-daemon --system
187 dbus-stop_cmd=pkill dbus-daemon
189 gpm-start_cmd=gpm -m /dev/input/mice -t ps2
190 gpm-stop_cmd=pkill gpm
192 gpsd-start_cmd=gpsd tcp://localhost:2222
193 gpsd-stop_cmd=pkill gpsd
195 keymap-start_cmd=loadkeys -u us-cc
197 polipo-start:VPservice -u: localhost-start
200 polipo-stop_cmd=pkill polipo
205 apache2-start_cmd=apache2
206 apache2-stop_cmd=pkill apache2
208 #bitlbee-start_cmd=sudo -u bitlbee bitlbeed /usr/sbin/bitlbee
209 bitlbee-start_cmd=bitlbee -D -u bitlbee
210 bitlbee-stop_cmd=pkill bitlbee
212 courier-start:VPservice -u: fsclean-start
213 $P install -o mail -g mail -d /var/run/courier
216 $P courierfilter start
217 $P courier-imapd-ssl start
219 courier-stop_cmd=pkill '(courier|authdaemon)'
221 dhcp-start_cmd=dhcpcd eth0
222 dhcp-stop_cmd=dhcpcd eth0 -k
224 diod-start:VPservice -u: munged-start
227 diod-stop_cmd=pkill diod
229 dovecot-start_cmd=dovecot
230 dovecot-stop_cmd=pkill dovecot
232 exim-start_cmd=exim -bd -q5m
233 exim-stop_cmd=pkill exim
235 gitd-start:VPservice -u: boot
236 $P exec /usr/libexec/git-core/git-daemon \
240 '--base-path=/home/server/git' \
245 gitd-stop_cmd=pkill git-daemon
247 munged-start_cmd=sudo -u munge -g munge munged
248 munged-stop_cmd=pkill munged
250 mysql-start:VPservice -u: fsclean-start
251 $P install -o mysql -g mysql -d /var/run/mysqld
254 mysql-stop_cmd=pkill mysqld
257 ntpd-stop_cmd=pkill ntpd
259 privoxy-start_cmd=privoxy --user privoxy.privoxy /etc/privoxy/config
260 privoxy-stop_cmd=pkill privoxy
262 spamd-start_cmd=spamd -u spamd -d
263 spamd-stop_cmd=pkill spamd
265 tftpd-start_cmd=in.tftpd -s -l /img/boot
268 tor-start:VPservice -u: boot
271 tor-stop_cmd=pkill tor
275 %-start:QVPservice -u: boot
276 if (~ $#($stem^-start_cmd) 0)
277 echo No such service $stem && exit 0
278 $P $($stem^-start_cmd) $($stem^-opts)
281 %-stop:QVPservice -d: /
282 if (~ $#($stem^-stop_cmd) 0)
283 echo No such service $stem && exit 0
284 $P $($stem^-stop_cmd)
287 %-zap:QVPservice -d: /