X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=init.mk;h=77f450fcefd7256dcc60bf865ce0c09e7f75c355;hb=cfb8d44dcef33524a55213438779e000539b6d5d;hp=76438a14a7c08c4681c716099db06358ff0e23aa;hpb=21225e75928845f78c3cb8cd1789126ab2eb87f1;p=mkinit diff --git a/init.mk b/init.mk index 76438a1..77f450f 100644 --- a/init.mk +++ b/init.mk @@ -1,26 +1,21 @@ -# Copyright (C) 2009 Andy Spencer +# Copyright (C) 2009-2011 Andy Spencer # See COPYING for terms # Config -MKSHELL=/usr/lib/plan9/bin/rc +MKSHELL=/opt/plan9/bin/rc NPROC=10 -# Example -#test-start:VQPservice -u: foo-start -# echo starting test -# service -U $target -# -#test-stop:VQPservice -d: / -# echo stopping test -# service -D $target +hddtemp-opts = -l 0.0.0.0 /dev/sda +hostname-opts = c +apache2-opts = -DSSL -DPHP5 # Runlevels: # single─bare─system─┬─desktop─> # └─server──> -server = apache2 -desktop = alsa cups dbus keymap polipo -system = at cron hddtemp hwclock sshd swap syslog -bare = cpufreq fsclean getty qingy hostname initctl localhost modules mounts uevents utmp +server = apache2 bitlbee denyhosts diod dovecot eth0 exim gitd jabberd mailman mysql ntpd spamd +desktop = alsa getty gpm keymap qingy wlan0 +system = at cron hddtemp hwclock mdadm smartd sshd swap sysctl syslog +bare = cpufreq fsclean hostname initctl localhost mdev modules mounts utmp default:V: desktop @@ -30,196 +25,5 @@ system:V: `{echo $server^-stop $desktop^-stop $system^-start $bare^-start} bare:V: `{echo $server^-stop $desktop^-stop $system^-stop $bare^-start} single:V: `{echo $server^-stop $desktop^-stop $system^-stop $bare^-stop } -poweroff:V: halt - $P poweroff -ndf -reboot:V: halt - $P reboot -ndf -kexec:V: halt - $P reboot -ndfk - -# Initial setup/shutdown for mkinit -boot:VEPservice -u: / - echo Starting init - $P mount -o remount,rw / - # mount proc here to make bootchart happier - $P mount -t proc proc /proc - service -F - service -U $target - -# Kill all process, then remount and sync -halt:QVE: utmp-stop hwclock-stop alsa-stop - echo TERMinating all processes - $P pkill -15 -vg0 >/dev/null >[2=1] - for (i in 1 2 3 4 5) - $P pgrep -vg0 >/dev/null >[2=1] && $P sleep 1 - echo KILLing all processes - $P pkill -9 -vg0 >/dev/null >[2=1] - for (i in 1 2 3) - $P pgrep -vg0 >/dev/null >[2=1] && $P sleep 1 - service -F - echo Remounting read-only - $P mount -o remount,ro / - $P sync - -# Bare -# ---- -# Listener for /dev/initctl, for shutdown(8) -initctl-start:VPservice -u: boot - fifo=/dev/initctl - if (! test -e $fifo) - $P mkfifo $fifo - { exec $P initctld $fifo | - while(line=`{line}) - $P mkinit $line >/dev/console >[2=1] - } & - service -U $target -initctl-stop_cmd=fuser -k /dev/initctl - -# Proc, mtab, udev, fstab -mounts-start:VPservice -u: boot - $P cp /proc/mounts /etc/mtab - $P udevd --daemon - $P mount -a - service -U $target - -# Load kernel modules -modules-start:VEPservice -u: boot - $P modprobe uvesafb - service -U $target - -# Trigger udev uevents -uevents-start:VEPservice -u: mounts-start - $P udevadm trigger - $P udevadm settle '--timeout=10' - service -U $target - -# Clean out /tmp and /var/run directories -fsclean-start:VPservice -u: boot - dirs=(/var/run /tmp) - $P mkdir -p /.old - $P mv $dirs /.old - $P mkdir -p $dirs - $P chmod 1777 /tmp - $P exec rm -rf /.old & - service -U $target - -# Spawn gettys for tty[456] -getty-start:VEPservice -u: hostname-start utmp-start - $P respawn /sbin/agetty 38400 tty4 linux - $P respawn /sbin/agetty 38400 tty5 linux - $P respawn /sbin/agetty 38400 tty6 linux - service -U $target -getty-stop_cmd=fuser -k /dev/tty4 /dev/tty5 /dev/tty6 - -# Spawn qingys for tty[23] -qingy-start:VEPservice -u: hostname-start utmp-start modules-start uevents-start - $P respawn /sbin/qingy tty2 - $P respawn /sbin/qingy tty3 - service -U $target -qingy-stop_cmd=fuser -k /dev/tty2 /dev/tty3 - -# Login records -utmp-start:VPservice -u: fsclean-start - for (i in /var/run/utmp /var/log/wtmp) { - $P eval 'echo -n > $i' - $P chgrp utmp $i - $P chmod 0664 $i - } - service -U $target -utmp-stop_cmd=halt -w - -# CPU freq -cpufreq-start:VPservice -u: uevents-start - $P cpufreq-set -g ondemand - service -U $target - -# Localhost -localhost-start_cmd=ifconfig lo 127.0.0.1 -localhost-stop_cmd=ifconfig lo down - -# Set hostname -hostname-start_cmd=hostname b - -# Kernel parameters -sysctl-start_cmd=sysctl -p - - -# System -# ------- -at-start_cmd=atd -at-stop_cmd=pkill atd - -cron-start_cmd=cron -cron-stop_cmd=pkill cron - -hddtemp-start:VPservice -u: localhost-start - $P hddtemp -d -l 127.0.0.1 /dev/sda - service -U $target -hddtemp-stop_cmd=pkill hddtemp - -hwclock-start_cmd=hwclock --hctosys --utc -hwclock-stop_cmd=hwclock --systohc --utc - -sshd-start_cmd=/usr/sbin/sshd -sshd-stop_cmd=pkill sshd - -swap-start_cmd=swapon -a -swap-stop_cmd=swapoff -a - -syslog-start:VPservice -u: mounts-start - $P syslog-ng - service -U $target -syslog-stop_cmd=pkill syslog - - -# Desktop -# ------- -alsa-start_cmd=alsactl restore -alsa-stop_cmd=alsactl store - -cups-start_cmd=cupsd -cups-stop_cmd=pkill cupsd - -dbus-start:VPservice -u: fsclean-start localhost-start - $P mkdir -p /var/run/dbus - $P /usr/bin/dbus-daemon --system - service -U $target -dbus-stop_cmd=pkill dbus-daemon - -keymap-start_cmd=loadkeys -u us-cc - -polipo-start:VPservice -u: localhost-start - $P polipo - service -U $target -polipo-stop_cmd=pkill polipo - - -# Server -# ------ -apache2-start_cmd=apache2 -DSSL -DPHP5 -apache2-stop_cmd=pkill apache2 - -spam-start:VPservice -u: localhost-start - $P spamd -d - service -U $target -spam-stop_cmd=pkill spamd - -# Library -# ------- -%-start:VPservice -u: boot - if (~ $#($stem^-start_cmd) 0) - exit 0 - $P $($stem^-start_cmd) - service -U $target - -%-stop:VPservice -d: / - if (~ $#($stem^-stop_cmd) 0) - exit 0 - $P $($stem^-stop_cmd) - service -D $target - -%-zap:VPservice -d: / - service -D $target - -%-status:V: - service -q $target +# Include services +