blob: 4c8277a53dd926a8c69e3ec7f48b93044f284c6e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
#!/bin/sh
#
# This script is executed at the start and end of each run-level
# transition. It is the first 'stop' script and the last 'start'
# script.
#
# 'stop' indicates the start of a runlevel change
# 'start' at the end of the runlevel change - we are in the new
# runlevel.
#
# state outputs 'system', 'user' etc according the the nature of
# the runlevel it is passed (the *new* runlevel is used).
state(){
case "$1" in
S|N) echo system;;
0|6) echo shutdown;;
1) echo singleuser;;
2|3|4|5) echo user;;
*) echo "led change: $runlevel: runlevel unknown" >&2
echo system;;
esac
}
# trumpet "beeps" an announcement on systems with such support.
l=120 # Long beep time
s=40 # Try to keep a 3:1 ratio
trumpet(){
case "$1" in
k) leds beep -l $l; leds beep -l $s; leds beep -l $l;;
n) leds beep -l $l; leds beep -l $s;;
*) leds beep;;
esac
}
case "$1" in
start) leds "$(state "$runlevel")"
if [ "$(state "$runlevel")" == "user" ]; then
trumpet "k"
fi
;;
stop) leds boot "$(state "$runlevel")"
;;
*) echo "led change: $1: command ignored" >&2
;;
esac
|