Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
orangepi-xunlong
GitHub Repository: orangepi-xunlong/orangepi-build
Path: blob/next/external/cache/sources/raspi-config/debian/raspi-config.init
13271 views
1
#!/bin/sh
2
### BEGIN INIT INFO
3
# Provides: raspi-config
4
# Required-Start: udev mountkernfs $remote_fs
5
# Required-Stop:
6
# Default-Start: S 2 3 4 5
7
# Default-Stop:
8
# Short-Description: Switch to ondemand cpu governor (unless shift key is pressed)
9
# Description:
10
### END INIT INFO
11
12
. /lib/lsb/init-functions
13
14
if [ -f /etc/default/cpu_governor ]; then
15
. /etc/default/cpu_governor
16
fi
17
18
CPU_DEFAULT_GOVERNOR="${CPU_DEFAULT_GOVERNOR:-ondemand}"
19
CPU_ONDEMAND_UP_THRESHOLD="${CPU_ONDEMAND_UP_THRESHOLD:-50}"
20
CPU_ONDEMAND_SAMPLING_RATE="${CPU_ONDEMAND_SAMPLING_RATE:-100000}"
21
CPU_ONDEMAND_DOWN_SAMPLING_FACTOR="${CPU_ONDEMAND_DOWN_SAMPLING_FACTOR:-50}"
22
CPU_ONDEMAND_INCLUDE_IO_CALC="${CPU_ONDEMAND_INCLUDE_IO_CALC:-0}"
23
24
case "$1" in
25
start)
26
log_daemon_msg "Checking if shift key is held down"
27
if [ -x /usr/sbin/thd ] && timeout 1 thd --dump /dev/input/event* | grep -q "LEFTSHIFT\|RIGHTSHIFT"; then
28
printf " Yes. Not enabling $CPU_DEFAULT_GOVERNOR scaling governor"
29
log_end_msg 0
30
else
31
printf " No. Switching to $CPU_DEFAULT_GOVERNOR scaling governor"
32
SYS_CPUFREQ_GOVERNOR=/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
33
if [ -e $SYS_CPUFREQ_GOVERNOR ]; then
34
for cpu_core in /sys/devices/system/cpu/cpu?/cpufreq/scaling_governor ; do
35
echo "$CPU_DEFAULT_GOVERNOR" > $cpu_core
36
done
37
if [ "$CPU_DEFAULT_GOVERNOR" = "ondemand" ]; then
38
echo "$CPU_ONDEMAND_UP_THRESHOLD" > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
39
echo "$CPU_ONDEMAND_SAMPLING_RATE" > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate
40
echo "$CPU_ONDEMAND_DOWN_SAMPLING_FACTOR" > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor
41
echo "$CPU_ONDEMAND_INCLUDE_IO_CALC" > /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy
42
fi
43
fi
44
log_end_msg 0
45
fi
46
;;
47
stop)
48
;;
49
restart)
50
;;
51
force-reload)
52
;;
53
*)
54
echo "Usage: $0 start" >&2
55
exit 3
56
;;
57
esac
58
59