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 ################################################################################
9 # http://wiki.debian.org/LSBInitScripts =>
11 # Provides: grml-autoconfig
15 # Default-Start: S 2 3 4 5
19 # {{{ placeholder functions for restart/reload/stop
20 if [[ $1 == "restart" ]] ; then
21 echo "$0 restart - empty placeholder. Doing nothing but running."
24 if [[ $1 == "force-reload" ]] ; then
25 echo "$0 force-reload - empty placeholder. Doing nothing but running."
28 if [[ $1 == "stop" ]] ; then
29 echo "$0 stop - empty placeholder. Doing nothing but exiting."
34 # {{{ path, signals, umask, zsh, colors
35 export PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin"
37 # Ignore these signals: INT, TERM, SEGV
41 setopt no_nomatch # avoid 'no matches found: ...'
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
50 # {{{ mount important directories
56 # {{{ Read in boot parameters
57 CMDLINE="$(cat /proc/cmdline)"
58 [ -d /cdrom/bootparams/ ] && CMDLINE="$CMDLINE $(cat /cdrom/bootparams/* | tr '\n' ' ')"
59 [ -d /live/image/bootparams/ ] && CMDLINE="$CMDLINE $(cat /live/image/bootparams/* | tr '\n' ' ')"
62 # {{{ main grml-autoconfig
63 checkvalue $CONFIG_DEBUG && config_debug
66 if checkbootparam "textsplash" || checkbootparam "tsplash"; then
70 # update /etc/mtab if running in live-initramfs mode:
71 if [ -z "$INSTALLED" -a -e /live/cow ] ; then
72 if ! grep -q rootfs /etc/mtab ; then
73 for i in rootfs "none /sys sysfs" proc /live/image /live/cow /lib/init/rw /dev/shm /dev/pts ; do
74 grep $i /proc/mounts | grep -v /dev/.static >> /etc/mtab
79 if [ -z "$SPLASH" ] ; then
84 if [ -z "$BOOTDEBUG" ] ; then
85 einfo "Setting kernel ring buffer to level 2."
86 echo "2" > /proc/sys/kernel/printk ; eend $?
88 einfo "Setting kernel ring buffer to level 6. Adjust manually via running dmesg -n \$VALUE."
89 echo "6" > /proc/sys/kernel/printk ; eend $?
92 checkvalue $CONFIG_SYSLOG && config_syslog
94 if checkbootparam "forensic" ; then
95 ewarn "Bootopion forensic found. Important notice:" ; eend 0
96 ewarn " Do *NOT* boot with something like 'grml forensic ...' but always use 'forensic ...' instead!" ; eend 0
99 if [ -n "$SPLASH" ] ; then
100 /usr/bin/grml-bootsplash "|">/dev/tty14
104 checkvalue $CONFIG_LANGUAGE && config_language
106 checkvalue $CONFIG_LOG && config_log
108 checkvalue $CONFIG_SWSPEAK && config_swspeak
110 checkvalue $CONFIG_HWSPEAK && config_hwspeak
112 checkvalue $CONFIG_FWTIMEOUT && config_fwtimeout
114 checkvalue $CONFIG_FIX_PASSWD && config_fix_passwd
116 [ -n "$SPLASH" ] && /usr/bin/grml-bootsplash "||">/dev/tty14
118 checkvalue $CONFIG_HOSTNAME && config_hostname
120 checkvalue $CONFIG_USERFSTAB && config_userfstab
122 checkvalue $CONFIG_TIME && config_time
124 checkvalue $CONFIG_KERNEL && config_kernel
126 checkvalue $CONFIG_VMWARE && config_vmware
128 checkvalue $CONFIG_QEMU && config_qemu
130 checkvalue $CONFIG_SMALL && config_small
132 checkvalue $CONFIG_LD_MOD && config_ld_mod
134 checkvalue $CONFIG_TIMEZONE && config_timezone
136 checkvalue $CONFIG_FAST && config_fast
138 [ -n "$SPLASH" ] && /usr/bin/grml-bootsplash "|||">/dev/tty14
140 checkvalue $CONFIG_ENVIRONMENT && config_environment
142 checkvalue $CONFIG_SWRAID && config_swraid
144 checkvalue $CONFIG_LVM && config_lvm
146 # No kernel messages while probing modules
147 echo "0" > /proc/sys/kernel/printk
149 checkvalue $CONFIG_CDROM_PERM && config_cdrom_perm
151 checkvalue $CONFIG_LOCAL_NET && config_local_net
153 checkvalue $CONFIG_FIREWIRE_DEV && config_firewire_dev
155 checkvalue $CONFIG_TESTCD && config_testcd
157 [ -n "$SPLASH" ] && /usr/bin/grml-bootsplash "||||">/dev/tty14
159 checkvalue $CONFIG_DISCOVER && config_discover
161 checkvalue $CONFIG_HWINFO && config_hwinfo
163 checkvalue $CONFIG_HOTPLUG_AGENT && config_hotplug_agent
165 checkvalue $CONFIG_HOTPLUG_BLACKLIST && config_hotplug_blacklist
167 checkvalue $CONFIG_HOTPLUG_MAIN && config_hotplug
169 checkvalue $CONFIG_MODULES && config_modules
171 checkvalue $CONFIG_ACPI_APM && config_acpi_apm
173 [ -n "$SPLASH" ] && /usr/bin/grml-bootsplash "|||||">/dev/tty14
175 checkvalue $CONFIG_PCMCIA && config_pcmcia
177 checkvalue $CONFIG_KEYBOARD && config_keyboard
179 [ -n "$SPLASH" ] && /usr/bin/grml-bootsplash "||||||">/dev/tty14
181 checkvalue $CONFIG_BLIND && config_blind
183 checkvalue $CONFIG_INTERACTIVE && config_interactive
185 checkvalue $CONFIG_AGP && config_agp
187 checkvalue $CONFIG_AUTOMOUNTER && config_automounter
189 checkvalue $CONFIG_DMA && config_dma
191 checkvalue $CONFIG_FSTAB && config_fstab
193 checkvalue $CONFIG_MOUSE && config_mouse
195 checkvalue $CONFIG_DHCP && config_dhcp
197 [ -n "$SPLASH" ] && /usr/bin/grml-bootsplash "|||||||">/dev/tty14
199 checkvalue $CONFIG_CPU && config_cpu
201 checkvalue $CONFIG_SSH && config_ssh
203 checkvalue $CONFIG_PASSWD && config_passwd
205 checkvalue $CONFIG_EXTRACT && config_extract
207 checkvalue $CONFIG_HOMEDIR && config_homedir
209 checkvalue $CONFIG_MYCONFIG && config_myconfig
211 checkvalue $CONFIG_DEBS && config_debs
213 checkvalue $CONFIG_SCRIPTS && config_scripts
215 [ -n "$SPLASH" ] && /usr/bin/grml-bootsplash "||||||||">/dev/tty14
217 checkvalue $CONFIG_CDROM_SCRIPTS && config_cdrom_scripts
219 # device symlinks {{{
220 [ -r /mnt/floppy ] || mkdir /mnt/floppy
221 [ -r /mnt/cdrom ] || mkdir /mnt/cdrom
222 [ -r /mnt/test ] || mkdir /mnt/test
225 checkvalue $CONFIG_MIXER && config_mixer
227 checkvalue $CONFIG_MODEM && config_modem
229 checkvalue $CONFIG_WONDERSHAPER && config_wondershaper
231 checkvalue $CONFIG_GPM && config_gpm
233 [ -n "$SPLASH" ] && /usr/bin/grml-bootsplash "|||||||||">/dev/tty14
235 checkvalue $CONFIG_SERVICES && config_services
237 checkvalue $CONFIG_NETCONFIG && config_netconfig
239 checkvalue $CONFIG_NETIPV6 && config_ipv6
241 checkvalue $CONFIG_DEBNET && config_debnet
243 [ -n "$SPLASH" ] && /usr/bin/grml-bootsplash "||||||||||">/dev/tty14
245 checkvalue $CONFIG_CONSOLE && config_console
247 checkvalue $CONFIG_SETKEYCODES && config_setkeycodes
249 checkvalue $CONFIG_BLINDSOUND && config_blindsound
251 checkvalue $CONFIG_WELCOME && config_welcome
253 checkvalue $CONFIG_FIX_UNIONFS && fix_unionfs
255 checkvalue $CONFIG_CREATE_MNT_DIRS && create_mnt_dirs
257 checkvalue $CONFIG_915RESOLUTION && config_915resolution
259 checkvalue $CONFIG_IPW3945 && config_ipw3945
261 checkvalue $CONFIG_AUTOMOUNT && config_automount
263 checkvalue $CONFIG_MYPATH && config_mypath
265 checkvalue $CONFIG_DISTCC && config_distcc
267 checkvalue $CONFIG_DISTRI && config_distri
269 checkvalue $CONFIG_BLANKING && config_blanking
271 if [ -n "$SPLASH" ] ; then
272 /usr/bin/grml-bootsplash "|||||||||||">/dev/tty14
276 checkvalue $CONFIG_TOHD && config_tohd
278 checkvalue $CONFIG_GRML2HD && config_grml2hd
280 checkvalue $CONFIG_DEBOOTSTRAP && config_debootstrap
282 checkvalue $CONFIG_XSTARTUP && config_x_startup
286 if [ -z "$SPLASH" ] ; then
291 if [ -n "$BOOTDEBUG" ] ; then
292 CMDLINE="$(cat /proc/cmdline)"
293 [ -d /cdrom/bootparams/ ] && CMDLINE="$CMDLINE $(cat /cdrom/bootparams/*)"
294 [ -d /live/image/bootparams/ ] && CMDLINE="$CMDLINE $(cat /live/image/bootparams/*)"
295 einfo "Bootoption debug detected. Printing kernel command line:"
300 # {{{ Re-enable signals
306 ## END OF FILE #################################################################
307 # vim:foldmethod=marker