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 --inverse -g0 >/dev/null >[2=1]
36 { $P pgrep -vg0 && $P sleep 1 }
37 echo KILLing all processes
38 $P pkill -9 --inverse -g0 >/dev/null >[2=1]
40 { $P pgrep -vg0 && $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 mdadm -A /dev/md4 /dev/sd[abc]4
66 # Mount devtmpfs and shm/pts subfolders
67 devtmpfs-start:VEPservice -u: boot
73 # Start mdev as initial/daemon
74 mdev-start:VEPservice -u: mounts-start
75 $P echo /sbin/mdev > /proc/sys/kernel/hotplug
79 # Start udev and trigger events
80 udev-start:VEPservice -u: mounts-start
83 $P udevadm settle '--timeout=10'
85 udev-stop_cmd=pkill udevd
88 modules-start:VEPservice -u: boot
93 # Clean out /tmp and /var/run directories
94 fsclean-start:VPservice -u: boot
97 $P mv $dirs /.old || true
100 $P install -m 1777 -d /var/run/screen # Fuck you Screen
101 $P exec rm -rf /.old &
104 # Spawn gettys for tty[23456]
105 getty-start:VEPservice -u: hostname-start utmp-start
106 $P respawn setsid agetty 38400 tty2 linux
107 $P respawn setsid agetty 38400 tty3 linux
108 $P respawn setsid agetty 38400 tty4 linux
109 $P respawn setsid agetty 38400 tty5 linux
110 $P respawn setsid agetty 38400 tty6 linux
112 getty-stop_cmd=fuser -k /dev/tty2 /dev/tty3 /dev/tty4 /dev/tty5 /dev/tty6
114 # Spawn qingys for tty[7]
115 qingy-start:VEPservice -u: hostname-start utmp-start modules-start
116 $P respawn setsid /sbin/qingy-DirectFB tty7 &
119 qingy-stop_cmd=fuser -k /dev/tty7
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:VPservice -u: mounts-start
146 $P chmod a+w /sys/class/leds/smc::kbd_backlight/brightness
147 $P chmod a+w /sys/class/backlight/gmux_backlight/brightness
154 at-stop_cmd=pkill atd
156 cron-start:VPservice -u: localhost-start fsclean-start
159 cron-stop_cmd=pkill cron
161 hddtemp-start_cmd=hddtemp -d
162 hddtemp-stop_cmd=pkill hddtemp
164 hwclock-start_cmd=hwclock --hctosys --utc
165 hwclock-stop_cmd=hwclock --systohc --utc
167 sshd-start_cmd=/usr/sbin/sshd
168 sshd-stop_cmd=pkill sshd
170 swap-start_cmd=swapon -a
171 swap-stop_cmd=swapoff -a
173 syslog-start:VPservice -u: mounts-start
176 syslog-stop_cmd=pkill syslog
181 alsa-start_cmd=alsactl restore
182 alsa-stop_cmd=alsactl store
185 cups-stop_cmd=pkill cupsd
187 dbus-start:VPservice -u: fsclean-start localhost-start
188 $P install -m 1777 -d /var/run/dbus
189 $P /usr/bin/dbus-daemon --system
191 dbus-stop_cmd=pkill dbus-daemon
193 gpm-start_cmd=gpm -m /dev/input/mice -t ps2
194 gpm-stop_cmd=pkill gpm
196 gpsd-start_cmd=gpsd tcp://localhost:2222
197 gpsd-stop_cmd=pkill gpsd
199 keymap-start_cmd=loadkeys -u us-cc
201 polipo-start:VPservice -u: localhost-start
204 polipo-stop_cmd=pkill polipo
209 apache2-start:VPservice -u: fsclean-start
210 $P install -o apache -g apache -d /var/run/session
211 $P apache2 $apache2-opts
212 apache2-stop_cmd=pkill apache2
214 #bitlbee-start_cmd=sudo -u bitlbee bitlbeed /usr/sbin/bitlbee
215 bitlbee-start_cmd=bitlbee -D -u bitlbee
216 bitlbee-stop_cmd=pkill bitlbee
218 denyhosts-start_cmd=denyhosts.py --daemon
219 denyhosts-stop_cmd=pkill denyhosts.py
221 courier-start:VPservice -u: fsclean-start
222 $P install -o mail -g mail -d /var/run/courier
225 $P courierfilter start
226 $P courier-imapd-ssl start
228 courier-stop_cmd=pkill '(courier|authdaemon)'
230 dioc-start:VPservice -u: munged-start
232 $P mount -n /mnt/c/mnt/x
234 dioc-stop:EVPservice -d:
235 $P umount /mnt/c/mnt/x
239 diod-start:VPservice -u: munged-start
242 diod-stop_cmd=pkill diod
244 dovecot-start_cmd=dovecot
245 dovecot-stop_cmd=pkill dovecot
247 eth0-start_cmd=dhcpcd eth0
248 eth0-stop_cmd=dhcpcd eth0 -k
250 exim-start_cmd=exim -bd -q5m
251 exim-stop_cmd=pkill exim
253 gitd-start:VPservice -u: boot
254 $P exec /usr/libexec/git-core/git-daemon \
258 '--interpolated-path=/etc/git/%H%D' \
263 gitd-stop_cmd=pkill git-daemon
265 mailman-start_cmd=sudo -u mailman -g mailman \
266 /usr/lib64/mailman/bin/mailmanctl -s start
267 mailman-stop_cmd=sudo -u mailman -g mailman \
268 /usr/lib64/mailman/bin/mailmanctl stop
270 munged-start:VPservice -u: localhost-start mounts-start
271 $P install -o munge -g munge -d /var/run/munge
272 $P sudo -u munge -g munge munged
274 munged-stop_cmd=pkill munged
276 mysql-start:VPservice -u: fsclean-start
277 $P install -o mysql -g mysql -d /var/run/mysqld
280 mysql-stop_cmd=pkill mysqld
283 ntpd-stop_cmd=pkill ntpd
285 privoxy-start_cmd=privoxy --user privoxy.privoxy /etc/privoxy/config
286 privoxy-stop_cmd=pkill privoxy
288 rngd-start_cmd=rngd -b -s64 -t60
289 rngd-stop_cmd=pkill rngd
291 spamd-start_cmd=spamd -u spamd -d
292 spamd-stop_cmd=pkill spamd
294 tftpd-start_cmd=in.tftpd -s -l /img/boot
297 tor-start:VPservice -u: boot
300 tor-stop_cmd=pkill tor
302 wlan0-start:VPservice -u: wpa-start
305 wlan0-stop_cmd=dhcpcd wlan0 -k
307 wpa-start:VPservice -u: mdev-start
309 $P exec wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf &
311 wpa-stop_cmd=pkill wpa
315 %-start:QVPservice -u: boot
316 if (~ $#($stem^-start_cmd) 0)
317 echo No such service $stem && exit 0
318 $P $($stem^-start_cmd) $($stem^-opts)
321 %-stop:QVPservice -d: /
322 if (~ $#($stem^-stop_cmd) 0)
323 echo No such service $stem
325 $P $($stem^-stop_cmd)
328 %-zap:QVPservice -d: /