Run wrap-and-sort -a on debian directory
[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"
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 # make sure symlink /etc/mtab exists, this is usually handled by
60 # /etc/init.d/checkroot.sh but we don't execute this script on the live system
61 if [ -z "$INSTALLED" ] ; then
62   ln -sf /proc/mounts /etc/mtab
63 fi
64
65 stage=5
66 rundebugshell
67
68 if [ -z "$BOOTDEBUG" ] ; then
69    einfo "Setting kernel ring buffer to level 2."
70    echo "2" > /proc/sys/kernel/printk ; eend $?
71 else
72    einfo "Setting kernel ring buffer to level 6. Adjust manually via running dmesg -n \$VALUE."
73    echo "6" > /proc/sys/kernel/printk ; eend $?
74 fi
75
76 checkvalue $CONFIG_SYSLOG && config_syslog
77
78 if checkbootparam 'forensic' ; then
79    ewarn "Bootopion forensic found. Important notice:" ; eend 0
80    ewarn " Do *NOT* boot with something like 'grml forensic ...' but always use 'forensic ...' instead!" ; eend 0
81 fi
82
83 checkvalue $CONFIG_LANGUAGE && config_language
84
85 checkvalue $CONFIG_LOG && config_log
86
87 checkvalue $CONFIG_FWTIMEOUT && config_fwtimeout
88
89 checkvalue $CONFIG_FIX_PASSWD && config_fix_passwd
90
91 checkvalue $CONFIG_HOSTNAME && config_hostname
92
93 checkvalue $CONFIG_CONFIGFS && config_configfs
94
95 checkvalue $CONFIG_TIME && config_time
96
97 checkvalue $CONFIG_KERNEL &&  config_kernel
98
99 checkvalue $CONFIG_SMALL && config_small
100
101 checkvalue $CONFIG_LD_MOD && config_ld_mod
102
103 checkvalue $CONFIG_TIMEZONE && config_timezone
104
105 checkvalue $CONFIG_FAST && config_fast
106
107 checkvalue $CONFIG_SWRAID && config_swraid
108
109 checkvalue $CONFIG_DMRAID && config_dmraid
110
111 checkvalue $CONFIG_LVM && config_lvm
112
113 # No kernel messages while probing modules
114 echo "0" > /proc/sys/kernel/printk
115
116 checkvalue $CONFIG_TESTCD && config_testcd
117
118 checkvalue $CONFIG_MODULES && config_modules
119
120 checkvalue $CONFIG_BRLTTY && config_brltty
121
122 checkvalue $CONFIG_ACPI && config_acpi
123
124 checkvalue $CONFIG_DMA && config_dma
125
126 checkvalue $CONFIG_FSTAB && config_fstab
127
128 checkvalue $CONFIG_MOUSE && config_mouse
129
130 checkvalue $CONFIG_CPU && config_cpu
131
132 checkvalue $CONFIG_SSH && config_ssh
133
134 checkvalue $CONFIG_VNC && config_vnc
135
136 checkvalue $CONFIG_PASSWD && config_passwd
137
138 checkvalue $CONFIG_EXTRACT  && config_extract
139
140 checkvalue $CONFIG_FINDDCSDIR && config_finddcsdir
141
142 checkvalue $CONFIG_DEBS && config_debs
143
144 checkvalue $CONFIG_CONFIG && config_config
145
146 checkvalue $CONFIG_SCRIPTS && config_scripts
147
148 checkvalue $CONFIG_FINDDCSDIR && config_umount_dcsdir
149
150 checkvalue $CONFIG_PARTCONF && config_partconf
151
152 checkvalue $CONFIG_MIXER && config_mixer
153
154 checkvalue $CONFIG_MODEM && config_modem
155
156 checkvalue $CONFIG_WONDERSHAPER && config_wondershaper
157
158 checkvalue $CONFIG_GPM && config_gpm
159
160 checkvalue $CONFIG_SERVICES && config_services
161
162 checkvalue $CONFIG_DEBNET && config_debnet
163
164 checkvalue $CONFIG_DISPLAY_SSH_FINGERPRINTS && config_display_ssh_fingerprints
165
166 checkvalue $CONFIG_NETCONFIG && config_netconfig
167
168 checkvalue $CONFIG_NETSCRIPT && config_netscript
169
170 checkvalue $CONFIG_NETIPV6 && config_ipv6
171
172 checkvalue $CONFIG_STATS && config_stats
173
174 checkvalue $CONFIG_CONSOLE && config_console
175
176 checkvalue $CONFIG_FIX_UNIONFS && fix_unionfs
177
178 checkvalue $CONFIG_VIRTUALBOX_SHARED_FOLDERS && config_virtualbox_shared_folders
179
180 checkvalue $CONFIG_MYPATH && config_mypath
181
182 checkvalue $CONFIG_DISTCC && config_distcc
183
184 checkvalue $CONFIG_DISTRI && config_distri
185
186 checkvalue $CONFIG_BLANKING && config_blanking
187
188 checkvalue $CONFIG_TOHD && config_tohd
189
190 checkvalue $CONFIG_DEBOOTSTRAP && config_debootstrap
191
192 checkvalue $CONFIG_XSTARTUP && config_x_startup
193 # }}}
194
195 # {{{ debug
196 stage=6
197 rundebugshell
198
199 if [ -n "$BOOTDEBUG" ] ; then
200    # set only if not already set
201    if [ -z "$CMDLINE" ] ; then
202      CMDLINE="$(cat /proc/cmdline)"
203      [ -d ${LIVECD_PATH}/bootparams/ ] && CMDLINE="$CMDLINE $(cat ${LIVECD_PATH}/bootparams/*)"
204    fi
205    einfo "Bootoption debug detected. Printing kernel command line:"
206    echo "$CMDLINE"
207 fi
208 # }}}
209
210 # {{{ Re-enable signals
211 trap 2 3 11
212 # }}}
213
214 exit 0
215
216 ## END OF FILE #################################################################
217 # vim:foldmethod=marker