9505e22ef7d350926fe24b37ce0a3e4c9004aa55
[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 # Latest change: Fre Aug 04 12:13:13 CEST 2006 [mika]
8 ################################################################################
9
10 # http://wiki.debian.org/LSBInitScripts =>
11 ### BEGIN INIT INFO
12 # Provides:          grml-autoconfig
13 # Required-Start:
14 # Required-Stop:
15 # Should-Start:      udev
16 # Default-Start:     S 2 3 4 5
17 # Default-Stop:
18 ### END INIT INFO
19
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 # {{{ path, signals, umask, zsh, colors
34 export PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin"
35 umask 022
36 # Ignore these signals: INT, TERM, SEGV
37 trap "" 2 3 11
38
39 # zsh stuff
40 setopt no_nomatch # avoid 'no matches found: ...'
41 # }}}
42
43 # {{{ source main files
44 source /etc/grml/autoconfig            # configuration file
45 source /etc/grml/autoconfig.functions  # functions
46 source /etc/grml/lsb-functions
47 # }}}
48
49 # {{{ mount important directories
50 mount_proc
51 mount_pts
52 mount_sys
53 # }}}
54
55 # {{{ Read in boot parameters
56 CMDLINE="$(cat /proc/cmdline)"
57 [ -d /cdrom/bootparams/ ] && CMDLINE="$CMDLINE $(cat /cdrom/bootparams/* | tr '\n' ' ')"
58 # }}}
59
60 # {{{ main grml-autoconfig
61 checkvalue $CONFIG_DEBUG && config_debug
62
63 SPLASH=''
64 if checkbootparam "splash" ; then
65   SPLASH=1
66 fi
67
68 if [ -z "$SPLASH" ] ; then
69   stage=5
70   rundebugshell
71 fi
72
73 if [ -z "$BOOTDEBUG" ] ; then
74   einfo "Setting kernel ring buffer to level 2."
75   echo "2" > /proc/sys/kernel/printk ; eend $?
76 else
77   einfo "Setting kernel ring buffer to level 6. Adjust manually via running dmesg -n \$VALUE."
78   echo "6" > /proc/sys/kernel/printk ; eend $?
79 fi
80
81 [ -n "$SPLASH" ] && /usr/bin/grml-bootsplash "|">/dev/tty7
82
83 checkvalue $CONFIG_LANGUAGE && config_language
84
85 checkvalue $CONFIG_LOG && config_log
86
87 checkvalue $CONFIG_SWSPEAK && config_swspeak
88
89 checkvalue $CONFIG_FWTIMEOUT && config_fwtimeout
90
91 checkvalue $CONFIG_FIX_PASSWD && config_fix_passwd
92
93 [ -n "$SPLASH" ] && /usr/bin/grml-bootsplash "||">/dev/tty7
94
95 checkvalue $CONFIG_HOSTNAME && config_hostname
96
97 checkvalue $CONFIG_USERFSTAB && config_userfstab
98
99 checkvalue $CONFIG_TIME && config_time
100
101 checkvalue $CONFIG_KERNEL &&  config_kernel
102
103 checkvalue $CONFIG_VMWARE &&  config_vmware
104
105 checkvalue $CONFIG_SMALL && config_small
106
107 checkvalue $CONFIG_LD_MOD && config_ld_mod
108
109 checkvalue $CONFIG_TIMEZONE && config_timezone
110
111 checkvalue $CONFIG_FAST && config_fast
112
113 [ -n "$SPLASH" ] && /usr/bin/grml-bootsplash "|||">/dev/tty7
114
115 checkvalue $CONFIG_ENVIRONMENT && config_environment
116
117 checkvalue $CONFIG_SWRAID && config_swraid
118
119 # No kernel messages while probing modules
120 echo "0" > /proc/sys/kernel/printk
121
122 checkvalue $CONFIG_CDROM_PERM && config_cdrom_perm
123
124 checkvalue $CONFIG_LOCAL_NET && config_local_net
125
126 checkvalue $CONFIG_FIREWIRE_DEV && config_firewire_dev
127
128 checkvalue $CONFIG_TESTCD && config_testcd
129
130 [ -n "$SPLASH" ] && /usr/bin/grml-bootsplash "||||">/dev/tty7
131
132 checkvalue $CONFIG_DISCOVER && config_discover
133
134 checkvalue $CONFIG_HWINFO && config_hwinfo
135
136 checkvalue $CONFIG_HOTPLUG_AGENT && config_hotplug_agent
137
138 checkvalue $CONFIG_HOTPLUG_BLACKLIST && config_hotplug_blacklist
139
140 checkvalue $CONFIG_HOTPLUG_MAIN && config_hotplug
141
142 checkvalue $CONFIG_MODULES && config_modules
143
144 checkvalue $CONFIG_ACPI_APM && config_acpi_apm
145
146 [ -n "$SPLASH" ] && /usr/bin/grml-bootsplash "|||||">/dev/tty7
147
148 checkvalue $CONFIG_PCMCIA && config_pcmcia
149
150 # {{{ Read in what hwsetup has found
151 [ -f /etc/sysconfig/grml ] && . /etc/sysconfig/grml
152 # }}}
153
154 checkvalue $CONFIG_KEYBOARD && config_keyboard
155
156 [ -n "$SPLASH" ] &&  /usr/bin/grml-bootsplash "||||||">/dev/tty7
157
158 checkvalue $CONFIG_BLIND && config_blind
159
160 checkvalue $CONFIG_INTERACTIVE && config_interactive
161
162 checkvalue $CONFIG_AGP && config_agp
163
164 [ -f /etc/sysconfig/grml ] && . /etc/sysconfig/grml
165
166 checkvalue $CONFIG_AUTOMOUNTER && config_automounter
167
168 checkvalue $CONFIG_DMA && config_dma
169
170 checkvalue $CONFIG_FSTAB && config_fstab
171
172 checkvalue $CONFIG_MOUSE && config_mouse
173
174 checkvalue $CONFIG_DHCP && config_dhcp
175
176 [ -n "$SPLASH" ] && /usr/bin/grml-bootsplash "|||||||">/dev/tty7
177
178 checkvalue $CONFIG_SYSLOG && config_syslog
179
180 checkvalue $CONFIG_CPU && config_cpu
181
182 checkvalue $CONFIG_SSH && config_ssh
183
184 checkvalue $CONFIG_PASSWD && config_passwd
185
186 checkvalue $CONFIG_EXTRACT  && config_extract
187
188 checkvalue $CONFIG_HOMEDIR && config_homedir
189
190 checkvalue $CONFIG_MYCONFIG && config_myconfig
191
192 checkvalue $CONFIG_DEBS && config_debs
193
194 [ -n "$SPLASH" ] && /usr/bin/grml-bootsplash "||||||||">/dev/tty7
195
196 checkvalue $CONFIG_CDROM_SCRIPTS && config_cdrom_scripts
197
198 # device symlinks {{{
199   [ -r /mnt/floppy ] || mkdir /mnt/floppy
200   [ -r /mnt/cdrom ]  || mkdir /mnt/cdrom
201   [ -r /mnt/test ]   || mkdir /mnt/test
202 # }}}
203
204 checkvalue $CONFIG_MIXER && config_mixer
205
206 checkvalue $CONFIG_MODEM && config_modem
207
208 checkvalue $CONFIG_WONDERSHAPER && config_wondershaper
209
210 checkvalue $CONFIG_GPM && config_gpm
211
212 [ -n "$SPLASH" ] && /usr/bin/grml-bootsplash "|||||||||">/dev/tty7
213
214 checkvalue $CONFIG_SERVICES && config_services
215
216 checkvalue $CONFIG_NETCONFIG && config_netconfig
217
218 checkvalue $CONFIG_NETIPV6 && config_ipv6
219
220 checkvalue $CONFIG_DEBNET && config_debnet
221
222 [ -n "$SPLASH" ] && /usr/bin/grml-bootsplash "||||||||||">/dev/tty7
223
224 checkvalue $CONFIG_CONSOLE && config_console
225
226 checkvalue $CONFIG_SETKEYCODES && config_setkeycodes
227
228 checkvalue $CONFIG_BLINDSOUND && config_blindsound
229
230 checkvalue $CONFIG_WELCOME && config_welcome
231
232 checkvalue $CONFIG_FIX_UNIONFS && fix_unionfs
233
234 checkvalue $CONFIG_CREATE_MNT_DIRS && create_mnt_dirs
235
236 checkvalue $CONFIG_915RESOLUTION && config_915resolution
237
238 checkvalue $CONFIG_AUTOMOUNT && config_automount
239
240 checkvalue $CONFIG_DISTCC && config_distcc
241
242 checkvalue $CONFIG_BLANKING && config_blanking
243
244 [ -n "$SPLASH" ] && /usr/bin/grml-bootsplash "|||||||||||">/dev/tty7
245
246 checkvalue $CONFIG_GRML2HD && config_grml2hd
247
248 checkvalue $CONFIG_XSTARTUP && config_x_startup
249 # }}}
250
251 # {{{ debug
252 if [ -z "$SPLASH" ] ; then
253   stage=6
254   rundebugshell
255 fi
256 # }}}
257
258 if [ -n "$BOOTDEBUG" ] ; then
259   CMDLINE="$(cat /proc/cmdline)"
260   [ -d /cdrom/bootparams/ ] && CMDLINE="$CMDLINE $(cat /cdrom/bootparams/*)"
261   einfo "Bootoption debug detected. Printing kernel command line:"
262   echo "$CMDLINE"
263 fi
264
265 # {{{ Re-enable signals
266 trap 2 3 11
267 # }}}
268
269 exit 0
270
271 ## END OF FILE #################################################################
272 # vim:foldmethod=marker