etc/0000755000175000001440000000000013360671465010673 5ustar chrisusersetc/runit/0000755000175000001440000000000013656172674012042 5ustar chrisusersetc/runit/20000755000175000001440000000140613656153752012126 0ustar chrisusers#!/bin/sh PATH=/command:/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin runlevel=default for arg in $(cat /proc/cmdline); do if [ -d /etc/runit/runsvdir/"$arg" ]; then echo "Runlevel detected: '$arg' (via kernel cmdline)" runlevel="$arg" fi done runsvchdir "${runlevel}" >/dev/null exec env - PATH=$PATH \ runsvdir -P /service 'log: ...........................................................................................................................................................................................................................................................................................................................................................................................................' etc/runit/10000755000175000001440000000024113360672001012102 0ustar chrisusers#!/bin/sh # system one time tasks PATH=/command:/sbin:/bin:/usr/sbin:/usr/bin /etc/rc.d/rc.S /etc/rc.d/rc.M touch /etc/runit/stopit chmod 0 /etc/runit/stopit etc/runit/30000755000175000001440000000040513372762121012114 0ustar chrisusers#!/bin/sh exec 2>&1 PATH=/command:/sbin:/bin:/usr/sbin:/usr/bin echo "Running shutdown script $0:" echo 'Waiting for services to stop...' sv force-stop /service/* sv exit /service/* if [ -x /etc/runit/reboot ] ;then /etc/rc.d/rc.6 else /etc/rc.d/rc.0 fi etc/sv/0000755000175000001440000000000013360663442011317 5ustar chrisusersetc/sv/agetty-tty5/0000755000175000001440000000000013360663375013524 5ustar chrisusersetc/sv/agetty-tty5/run0000755000175000001440000000006413360663375014256 0ustar chrisusers#!/bin/sh exec setsid /sbin/agetty 38400 tty5 linux etc/sv/agetty-tty5/finish0000755000175000001440000000003713360663375014732 0ustar chrisusers#!/bin/sh exec utmpset -w tty5 etc/sv/agetty-tty1/0000755000175000001440000000000013360663375013520 5ustar chrisusersetc/sv/agetty-tty1/run0000755000175000001440000000006413360663375014252 0ustar chrisusers#!/bin/sh exec setsid /sbin/agetty 38400 tty1 linux etc/sv/agetty-tty1/finish0000755000175000001440000000003713360663375014726 0ustar chrisusers#!/bin/sh exec utmpset -w tty1 etc/sv/agetty-tty2/0000755000175000001440000000000013360663375013521 5ustar chrisusersetc/sv/agetty-tty2/run0000755000175000001440000000006413360663375014253 0ustar chrisusers#!/bin/sh exec setsid /sbin/agetty 38400 tty2 linux etc/sv/agetty-tty2/finish0000755000175000001440000000003713360663375014727 0ustar chrisusers#!/bin/sh exec utmpset -w tty2 etc/sv/agetty-tty6/0000755000175000001440000000000013360663375013525 5ustar chrisusersetc/sv/agetty-tty6/run0000755000175000001440000000006413360663375014257 0ustar chrisusers#!/bin/sh exec setsid /sbin/agetty 38400 tty6 linux etc/sv/agetty-tty6/finish0000755000175000001440000000003713360663375014733 0ustar chrisusers#!/bin/sh exec utmpset -w tty6 etc/sv/agetty-tty4/0000755000175000001440000000000013360663374013522 5ustar chrisusersetc/sv/agetty-tty4/run0000755000175000001440000000006413360663374014254 0ustar chrisusers#!/bin/sh exec setsid /sbin/agetty 38400 tty4 linux etc/sv/agetty-tty4/finish0000755000175000001440000000003713360663374014730 0ustar chrisusers#!/bin/sh exec utmpset -w tty4 etc/sv/agetty-tty3/0000755000175000001440000000000013360663375013522 5ustar chrisusersetc/sv/agetty-tty3/run0000755000175000001440000000006413360663375014254 0ustar chrisusers#!/bin/sh exec setsid /sbin/agetty 38400 tty3 linux etc/sv/agetty-tty3/finish0000755000175000001440000000003713360663375014730 0ustar chrisusers#!/bin/sh exec utmpset -w tty3 usr/0000755000175000001440000000000013364045243010722 5ustar chrisusersusr/sbin/0000755000175000001440000000000013372761644011666 5ustar chrisusersusr/sbin/shutdown0000755000175000001440000000325313372517362013466 0ustar chrisusers#!/bin/sh sysv() { /sbin/shutdown "$@" } single() { runsvchdir single } abort() { printf '%s\n' "$1" >&2 exit 1 } usage() { abort "Usage: ${0##*/} [-fF] [-kchPr] time [warning message]" } runit_init() { while getopts akrhPHfFnct: opt; do case "$opt" in a|n|H) abort "'-$opt' is not implemented";; t) ;; f) touch /fastboot;; F) touch /forcefsck;; k) action=true;; c) action=cancel;; h|P) action="/sbin/runit-init 0";; r) action="/sbin/runit-init 6";; [?]) usage;; esac done shift $((OPTIND - 1)) [ $# -eq 0 ] && usage time=$1; shift message="${*:-system is going down}" if [ "$action" = "cancel" ]; then kill "$(cat /run/shutdown.pid)" if [ -e /etc/nologin ] && ! [ -s /etc/nologin ]; then rm /etc/nologin fi echo "${*:-shutdown cancelled}" | wall exit fi touch /run/shutdown.pid 2>/dev/null || abort "Not enough permissions to execute ${0#*/}" echo $$ >/run/shutdown.pid case "$time" in now) time=0;; +*) time=${time#+};; *:*) abort "absolute time is not implemented";; *) abort "invalid time";; esac for break in 5 0; do [ "$time" -gt "$break" ] || continue [ "$break" = 0 ] && touch /etc/nologin printf '%s in %s minutes\n' "$message" "$time" | wall printf 'shutdown: sleeping for %s minutes... ' "$(( time - break ))" sleep $(( (time - break) * 60 )) time="$break" printf '\n' [ "$break" = 0 ] && rm /etc/nologin done printf '%s NOW\n' "$message" | wall $action } initsystem=$( ps -p 1 -o comm= ) action=single case "$initsystem" in 'init') sysv "$@" ;; 'runit') runit_init "$@" ;; *) exit esac