ACPI: re-add check for kernel support
[grml-autoconfig.git] / grml-autoconfig
1 #!/bin/zsh
2 # Filename:      /etc/init.d/grml-autoconfig
3 # Purpose:       basic system configuration and hardware setup for grml system
4 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
5 # Bug-Reports:   see http://grml.org/bugs/
6 # License:       This file is licensed under the GPL v2.
7 ################################################################################
8
9 # http://wiki.debian.org/LSBInitScripts =>
10 ### BEGIN INIT INFO
11 # Provides:          grml-autoconfig
12 # Required-Start:    $remote_fs
13 # Required-Stop:     $remote_fs
14 # Should-Start:      udev
15 # Default-Start:     S 2 3 4 5
16 # Default-Stop:
17 ### END INIT INFO
18
19 # {{{ placeholder functions for restart/reload/stop
20 if [[ $1 == "restart" ]] ; then
21   echo "$0 restart - empty placeholder. Doing nothing but running."
22 fi
23
24 if [[ $1 == "force-reload" ]] ; then
25   echo "$0 force-reload - empty placeholder. Doing nothing but running."
26 fi
27
28 if [[ $1 == "stop" ]] ; then
29   echo "$0 stop - empty placeholder. Doing nothing but exiting."
30   exit 1
31 fi
32 # }}}
33
34 # {{{ path, signals, umask, zsh, colors
35 export PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin"
36 umask 022
37 # Ignore these signals: INT, TERM, SEGV
38 trap "" 2 3 11
39
40 # zsh stuff
41 setopt no_nomatch # avoid 'no matches found: ...'
42 # }}}
43
44 # {{{ source main files
45 source /etc/grml/autoconfig            # configuration file
46 source /etc/grml/autoconfig.functions  # functions
47 source /etc/grml/lsb-functions         # helper functions for smart display
48 # }}}
49
50 # {{{ mount important directories
51 mount_proc
52 mount_pts
53 mount_sys
54 # }}}
55
56 # {{{ main grml-autoconfig
57 checkvalue $CONFIG_DEBUG && config_debug
58
59 SPLASH=''
60 if checkbootparam 'textsplash' || checkbootparam 'tsplash'; then
61    SPLASH=1
62 fi
63
64 # update /etc/mtab if running in live-initramfs mode:
65 if [ -z "$INSTALLED" -a -e /live/cow ] ; then
66    if ! grep -q rootfs /etc/mtab ; then
67       for i in rootfs "none /sys sysfs" proc /live/image /live/cow /lib/init/rw /dev/shm /dev/pts ; do
68           grep $i /proc/mounts | grep -v /dev/.static >> /etc/mtab
69       done
70    fi
71 fi
72
73 if [ -z "$SPLASH" ] ; then
74    stage=5
75    rundebugshell
76 fi
77
78 if [ -z "$BOOTDEBUG" ] ; then
79    einfo "Setting kernel ring buffer to level 2."
80    echo "2" > /proc/sys/kernel/printk ; eend $?
81 else
82    einfo "Setting kernel ring buffer to level 6. Adjust manually via running dmesg -n \$VALUE."
83    echo "6" > /proc/sys/kernel/printk ; eend $?
84 fi
85
86 checkvalue $CONFIG_SYSLOG && config_syslog
87
88 if checkbootparam 'forensic' ; then
89    ewarn "Bootopion forensic found. Important notice:" ; eend 0
90    ewarn " Do *NOT* boot with something like 'grml forensic ...' but always use 'forensic ...' instead!" ; eend 0
91 fi
92
93 if [ -n "$SPLASH" ] ; then
94    /usr/bin/grml-bootsplash "|">/dev/tty14
95    chvt 14
96 fi
97
98 checkvalue $CONFIG_LANGUAGE && config_language
99
100 checkvalue $CONFIG_LOG && config_log
101
102 checkvalue $CONFIG_FWTIMEOUT && config_fwtimeout
103
104 checkvalue $CONFIG_FIX_PASSWD && config_fix_passwd
105
106 [ -n "$SPLASH" ] && /usr/bin/grml-bootsplash "||">/dev/tty14
107
108 checkvalue $CONFIG_HOSTNAME && config_hostname
109
110 checkvalue $CONFIG_USERFSTAB && config_userfstab
111
112 checkvalue $CONFIG_TIME && config_time
113
114 checkvalue $CONFIG_KERNEL &&  config_kernel
115
116 checkvalue $CONFIG_SMALL && config_small
117
118 checkvalue $CONFIG_LD_MOD && config_ld_mod
119
120 checkvalue $CONFIG_TIMEZONE && config_timezone
121
122 checkvalue $CONFIG_FAST && config_fast
123
124 [ -n "$SPLASH" ] && /usr/bin/grml-bootsplash "|||">/dev/tty14
125
126 checkvalue $CONFIG_SWRAID && config_swraid
127
128 checkvalue $CONFIG_DMRAID && config_dmraid
129
130 checkvalue $CONFIG_LVM && config_lvm
131
132 # No kernel messages while probing modules
133 echo "0" > /proc/sys/kernel/printk
134
135 checkvalue $CONFIG_LOCAL_NET && config_local_net
136
137 checkvalue $CONFIG_TESTCD && config_testcd
138
139 [ -n "$SPLASH" ] && /usr/bin/grml-bootsplash "||||">/dev/tty14
140
141 checkvalue $CONFIG_MODULES && config_modules
142
143 [ -n "$SPLASH" ] && /usr/bin/grml-bootsplash "|||||">/dev/tty14
144
145 checkvalue $CONFIG_ACPI && config_acpi
146
147 [ -n "$SPLASH" ] &&  /usr/bin/grml-bootsplash "||||||">/dev/tty14
148
149 checkvalue $CONFIG_DMA && config_dma
150
151 checkvalue $CONFIG_FSTAB && config_fstab
152
153 checkvalue $CONFIG_MOUSE && config_mouse
154
155 [ -n "$SPLASH" ] && /usr/bin/grml-bootsplash "|||||||">/dev/tty14
156
157 checkvalue $CONFIG_CPU && config_cpu
158
159 checkvalue $CONFIG_SSH && config_ssh
160
161 checkvalue $CONFIG_VNC && config_vnc
162
163 checkvalue $CONFIG_PASSWD && config_passwd
164
165 checkvalue $CONFIG_EXTRACT  && config_extract
166
167 checkvalue $CONFIG_FINDDCSDIR && config_finddcsdir
168
169 checkvalue $CONFIG_DEBS && config_debs
170
171 checkvalue $CONFIG_CONFIG && config_config
172
173 checkvalue $CONFIG_SCRIPTS && config_scripts
174
175 checkvalue $CONFIG_FINDDCSDIR && config_umount_dcsdir
176
177 checkvalue $CONFIG_PARTCONF && config_partconf
178
179 [ -n "$SPLASH" ] && /usr/bin/grml-bootsplash "||||||||">/dev/tty14
180
181 # device symlinks {{{
182   [ -r /mnt/floppy ] || mkdir /mnt/floppy
183   [ -r /mnt/cdrom ]  || mkdir /mnt/cdrom
184   [ -r /mnt/test ]   || mkdir /mnt/test
185 # }}}
186
187 checkvalue $CONFIG_MIXER && config_mixer
188
189 checkvalue $CONFIG_MODEM && config_modem
190
191 checkvalue $CONFIG_WONDERSHAPER && config_wondershaper
192
193 checkvalue $CONFIG_GPM && config_gpm
194
195 [ -n "$SPLASH" ] && /usr/bin/grml-bootsplash "|||||||||">/dev/tty14
196
197 checkvalue $CONFIG_NETCONFIG && config_netconfig
198
199 checkvalue $CONFIG_NETSCRIPT && config_netscript
200
201 checkvalue $CONFIG_SERVICES && config_services
202
203 checkvalue $CONFIG_NETIPV6 && config_ipv6
204
205 checkvalue $CONFIG_DEBNET && config_debnet
206
207 [ -n "$SPLASH" ] && /usr/bin/grml-bootsplash "||||||||||">/dev/tty14
208
209 checkvalue $CONFIG_CONSOLE && config_console
210
211 checkvalue $CONFIG_FIX_UNIONFS && fix_unionfs
212
213 checkvalue $CONFIG_915RESOLUTION && config_915resolution
214
215 checkvalue $CONFIG_VIRTUALBOX_SHARED_FOLDERS && config_virtualbox_shared_folders
216
217 checkvalue $CONFIG_MYPATH && config_mypath
218
219 checkvalue $CONFIG_DISTCC && config_distcc
220
221 checkvalue $CONFIG_DISTRI && config_distri
222
223 checkvalue $CONFIG_BLANKING && config_blanking
224
225 if [ -n "$SPLASH" ] ; then
226    /usr/bin/grml-bootsplash "|||||||||||">/dev/tty14
227    chvt 1
228 fi
229
230 checkvalue $CONFIG_TOHD && config_tohd
231
232 checkvalue $CONFIG_DEBOOTSTRAP && config_debootstrap
233
234 checkvalue $CONFIG_XSTARTUP && config_x_startup
235 # }}}
236
237 # {{{ debug
238 if [ -z "$SPLASH" ] ; then
239    stage=6
240    rundebugshell
241 fi
242
243 if [ -n "$BOOTDEBUG" ] ; then
244    # set only if not already set
245    if [ -z "$CMDLINE" ] ; then
246      CMDLINE="$(cat /proc/cmdline)"
247      [ -d /cdrom/bootparams/ ] && CMDLINE="$CMDLINE $(cat /cdrom/bootparams/*)"
248      [ -d /live/image/bootparams/ ] && CMDLINE="$CMDLINE $(cat /live/image/bootparams/*)"
249    fi
250    einfo "Bootoption debug detected. Printing kernel command line:"
251    echo "$CMDLINE"
252 fi
253 # }}}
254
255 # {{{ Re-enable signals
256 trap 2 3 11
257 # }}}
258
259 exit 0
260
261 ## END OF FILE #################################################################
262 # vim:foldmethod=marker