1 MKSHELL=/usr/lib/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
60 # Proc, mtab, udev, fstab
61 mounts-start:VPservice -u: boot
62 $P cp /proc/mounts /etc/mtab
68 modules-start:VEPservice -u: boot
72 # Trigger udev uevents
73 uevents-start:VEPservice -u: mounts-start
75 $P udevadm settle '--timeout=10'
78 # Clean out /tmp and /var/run directories
79 fsclean-start:VPservice -u: boot
85 $P install -m 1777 -d /var/run/screen # Fuck you Screen
86 $P exec rm -rf /.old &
89 # Spawn gettys for tty[456]
90 getty-start:VEPservice -u: hostname-start utmp-start
91 $P respawn /sbin/agetty 38400 tty4 linux
92 $P respawn /sbin/agetty 38400 tty5 linux
93 $P respawn /sbin/agetty 38400 tty6 linux
95 getty-stop_cmd=fuser -k /dev/tty4 /dev/tty5 /dev/tty6
97 # Spawn qingys for tty[23]
98 qingy-start:VEPservice -u: hostname-start utmp-start modules-start uevents-start
99 $P respawn /sbin/qingy tty2
100 $P respawn /sbin/qingy tty3
102 qingy-stop_cmd=fuser -k /dev/tty2 /dev/tty3
105 utmp-start:VPservice -u: fsclean-start
106 for (i in /var/run/utmp /var/log/wtmp) {
107 $P eval 'echo -n > $i'
112 utmp-stop_cmd=halt -w
115 cpufreq-start:VPservice -u: uevents-start
116 $P cpufreq-set -g ondemand
120 localhost-start_cmd=ifconfig lo 127.0.0.1
121 localhost-stop_cmd=ifconfig lo down
124 hostname-start_cmd=hostname
127 sysctl-start_cmd=sysctl -p
133 at-stop_cmd=pkill atd
136 cron-stop_cmd=pkill cron
138 hddtemp-start:VPservice -u: localhost-start
139 $P hddtemp -d -l 127.0.0.1 /dev/sda
141 hddtemp-stop_cmd=pkill hddtemp
143 hwclock-start_cmd=hwclock --hctosys --utc
144 hwclock-stop_cmd=hwclock --systohc --utc
146 sshd-start_cmd=/usr/sbin/sshd
147 sshd-stop_cmd=pkill sshd
149 swap-start_cmd=swapon -a
150 swap-stop_cmd=swapoff -a
152 syslog-start:VPservice -u: mounts-start
155 syslog-stop_cmd=pkill syslog
160 alsa-start_cmd=alsactl restore
161 alsa-stop_cmd=alsactl store
164 cups-stop_cmd=pkill cupsd
166 dbus-start:VPservice -u: fsclean-start localhost-start
167 $P mkdir -p /var/run/dbus
168 $P /usr/bin/dbus-daemon --system
170 dbus-stop_cmd=pkill dbus-daemon
172 keymap-start_cmd=loadkeys -u us-cc
174 polipo-start:VPservice -u: localhost-start
177 polipo-stop_cmd=pkill polipo
182 apache2-start_cmd=apache2
183 apache2-stop_cmd=pkill apache2
185 courier-start:VPservice -u:
186 $P install -o mail -g mail -d /var/run/courier
189 $P courierfilter start
190 $P courier-imapd-ssl start
192 courier-stop_cmd=pkill '(courier|authdaemon)'
194 dhcp-start_cmd=dhcpcd eth0
195 dhcp-stop_cmd=dhcpcd eth0 -k
197 mysql-start:VPservice -u: fsclean-start
198 $P install -o mysql -g mysql -d /var/run/mysqld
201 mysql-stop_cmd=pkill mysqld
203 spam-start:VPservice -u:
206 spam-stop_cmd=pkill spamd
208 tor-start:VPservice -u:
211 tor-stop_cmd=pkill tor
213 privoxy-start_cmd=privoxy --user privoxy.privoxy /etc/privoxy/config
214 privoxy-stop_cmd=pkill privoxy
218 %-start:QVPservice -u: boot
219 if (~ $#($stem^-start_cmd) 0)
220 echo No such service $stem && exit 0
221 $P $($stem^-start_cmd) $($stem^-opts)
224 %-stop:QVPservice -d: /
225 if (~ $#($stem^-stop_cmd) 0)
226 echo No such service $stem && exit 0
227 $P $($stem^-stop_cmd)
230 %-zap:QVPservice -d: /