Annotation of /trunk/magellan-initscripts/etc/rc.d/init.d/hwdetect
Parent Directory | Revision Log
Revision 3 -
(hide annotations)
(download)
Mon Dec 13 22:52:07 2004 UTC (19 years, 9 months ago) by niro
File size: 12833 byte(s)
Mon Dec 13 22:52:07 2004 UTC (19 years, 9 months ago) by niro
File size: 12833 byte(s)
This commit was generated by cvs2svn to compensate for changes in r2, which included commits to RCS files with non-trunk default branches.
1 | niro | 2 | #!/bin/bash |
2 | |||
3 | # note: must be startet before /etc/rc.d/init.d/modules !!! | ||
4 | |||
5 | #%rlevels: 7:s | ||
6 | #%start: 52 | ||
7 | #%stop: | ||
8 | |||
9 | #deps | ||
10 | #%needs: | ||
11 | #%before: | ||
12 | #%after: | ||
13 | |||
14 | write_x11_config() { | ||
15 | |||
16 | local xserver | ||
17 | local xfconfig | ||
18 | local HAS_VNC | ||
19 | |||
20 | #xfree or xorg ? | ||
21 | xserver="$(readlink /usr/X11R6/bin/X)" | ||
22 | |||
23 | case ${xserver} in | ||
24 | Xorg) | ||
25 | xfconfig=/etc/X11/xorg.conf | ||
26 | ;; | ||
27 | XFree86) | ||
28 | xfconfig=/etc/X11/XF86Config | ||
29 | ;; | ||
30 | *) | ||
31 | echo "Unkown xserver. aborting." | ||
32 | exit 1 | ||
33 | ;; | ||
34 | esac | ||
35 | |||
36 | #got we vnc support ? | ||
37 | if [ -f /usr/X11R6/lib/modules/vnc.so ] | ||
38 | then | ||
39 | HAS_VNC="yes" | ||
40 | else | ||
41 | HAS_VNC="no" | ||
42 | fi | ||
43 | |||
44 | |||
45 | #show which server we use | ||
46 | echo -en ${COLOREDSTAR}"Using '${xserver}' as x11-server " | ||
47 | |||
48 | #show if we have vnc | ||
49 | if [ "${HAS_VNC}" = "yes" ] | ||
50 | then | ||
51 | echo "with vnc enabled ..." | ||
52 | else | ||
53 | echo "..." | ||
54 | fi | ||
55 | |||
56 | #create a new clear xfconfig file | ||
57 | echo '# Generated with hwdetect, part of Magellan-Linux initscripts.' > ${xfconfig} | ||
58 | echo '' >> ${xfconfig} | ||
59 | |||
60 | #write modules | ||
61 | echo '' >> ${xfconfig} | ||
62 | echo 'Section "Module"' >> ${xfconfig} | ||
63 | echo ' Load "dbe"' >> ${xfconfig} | ||
64 | echo ' SubSection "extmod"' >> ${xfconfig} | ||
65 | echo ' Option "omit xfree86-dga"' >> ${xfconfig} | ||
66 | echo ' EndSubSection' >> ${xfconfig} | ||
67 | echo ' Load "type1"' >> ${xfconfig} | ||
68 | echo ' Load "speedo"' >> ${xfconfig} | ||
69 | echo ' Load "freetype"' >> ${xfconfig} | ||
70 | echo '# Load "xtt"' >> ${xfconfig} | ||
71 | echo '# Load "glx"' >> ${xfconfig} | ||
72 | echo ' Load "dri"' >> ${xfconfig} | ||
73 | |||
74 | [ "${HAS_VNC}" = "yes" ] && echo ' Load "vnc"' >> ${xfconfig} | ||
75 | |||
76 | echo 'EndSection' >> ${xfconfig} | ||
77 | |||
78 | |||
79 | #fonts | ||
80 | echo '' >> ${xfconfig} | ||
81 | echo 'Section "Files"' >> ${xfconfig} | ||
82 | echo ' RgbPath "/usr/X11R6/lib/X11/rgb"' >> ${xfconfig} | ||
83 | |||
84 | case ${xserver} in | ||
85 | Xorg) | ||
86 | echo ' FontPath "/usr/share/fonts/local/"' >> ${xfconfig} | ||
87 | echo ' FontPath "/usr/share/fonts/misc/"' >> ${xfconfig} | ||
88 | echo ' FontPath "/usr/share/fonts/75dpi/:unscaled"' >> ${xfconfig} | ||
89 | echo ' FontPath "/usr/share/fonts/100dpi/:unscaled"' >> ${xfconfig} | ||
90 | echo ' #prevents slow startup when disabled -> speedo, type1' >> ${xfconfig} | ||
91 | echo ' #FontPath "/usr/share/fonts/Speedo/"' >> ${xfconfig} | ||
92 | echo ' #FontPath "/usr/share/fonts/Type1/"' >> ${xfconfig} | ||
93 | echo ' FontPath "/usr/share/fonts/TrueType/"' >> ${xfconfig} | ||
94 | echo ' FontPath "/usr/share/fonts/freefont/"' >> ${xfconfig} | ||
95 | echo ' FontPath "/usr/share/fonts/75dpi/"' >> ${xfconfig} | ||
96 | echo ' FontPath "/usr/share/fonts/100dpi/"' >> ${xfconfig} | ||
97 | ;; | ||
98 | XFree86) | ||
99 | echo ' FontPath "/usr/X11R6/lib/X11/fonts/local/"' >> ${xfconfig} | ||
100 | echo ' FontPath "/usr/X11R6/lib/X11/fonts/misc/"' >> ${xfconfig} | ||
101 | echo ' FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"' >> ${xfconfig} | ||
102 | echo ' FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"' >> ${xfconfig} | ||
103 | echo ' #prevents slow startup when disabled -> speedo, type1' >> ${xfconfig} | ||
104 | echo ' #FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"' >> ${xfconfig} | ||
105 | echo ' #FontPath "/usr/X11R6/lib/X11/fonts/Type1/"' >> ${xfconfig} | ||
106 | echo ' FontPath "/usr/X11R6/lib/X11/fonts/TrueType/"' >> ${xfconfig} | ||
107 | echo ' FontPath "/usr/X11R6/lib/X11/fonts/freefont/"' >> ${xfconfig} | ||
108 | echo ' FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"' >> ${xfconfig} | ||
109 | echo ' FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"' >> ${xfconfig} | ||
110 | ;; | ||
111 | esac | ||
112 | |||
113 | echo '# ModulePath "/usr/X11R6/lib/modules"' >> ${xfconfig} | ||
114 | echo 'EndSection' >> ${xfconfig} | ||
115 | |||
116 | |||
117 | #server flags | ||
118 | echo '' >> ${xfconfig} | ||
119 | echo 'Section "ServerFlags"' >> ${xfconfig} | ||
120 | echo '# Option "DontVTSwitch"' >> ${xfconfig} | ||
121 | echo '# Option "DontZap"' >> ${xfconfig} | ||
122 | echo '# Option "Dont Zoom"' >> ${xfconfig} | ||
123 | echo 'EndSection' >> ${xfconfig} | ||
124 | |||
125 | |||
126 | #keyboard | ||
127 | echo '' >> ${xfconfig} | ||
128 | echo 'Section "InputDevice"' >> ${xfconfig} | ||
129 | echo ' Identifier "Keyboard1"' >> ${xfconfig} | ||
130 | |||
131 | case ${xserver} in | ||
132 | Xorg) | ||
133 | echo ' Driver "kbd"' >> ${xfconfig} | ||
134 | ;; | ||
135 | XFree86) | ||
136 | echo ' Driver "Keyboard"' >> ${xfconfig} | ||
137 | ;; | ||
138 | esac | ||
139 | |||
140 | echo ' Option "AutoRepeat" "500 30"' >> ${xfconfig} | ||
141 | echo '# Option "Xleds" "1 2 3"' >> ${xfconfig} | ||
142 | |||
143 | case ${xserver} in | ||
144 | Xorg) | ||
145 | echo ' Option "XkbRules" "xorg"' >> ${xfconfig} | ||
146 | ;; | ||
147 | XFree86) | ||
148 | echo ' Option "XkbRules" "xfree86"' >> ${xfconfig} | ||
149 | ;; | ||
150 | esac | ||
151 | |||
152 | echo ' Option "XkbModel" "pc104"' >> ${xfconfig} | ||
153 | echo ' Option "XkbLayout" "de"' >> ${xfconfig} | ||
154 | echo 'EndSection' >> ${xfconfig} | ||
155 | |||
156 | |||
157 | #mouse | ||
158 | #to be safe | ||
159 | local MOUSETYPE XMOUSETYPE FULLNAME DEVICE | ||
160 | #get config | ||
161 | [ -f /etc/sysconfig/hwsetup/mouse ] && source /etc/sysconfig/hwsetup/mouse | ||
162 | |||
163 | echo '' >> ${xfconfig} | ||
164 | echo 'Section "InputDevice"' >> ${xfconfig} | ||
165 | echo ' Identifier "Mouse1"' >> ${xfconfig} | ||
166 | echo ' Driver "mouse"' >> ${xfconfig} | ||
167 | |||
168 | if [ -n "${XMOUSETYPE}" ] | ||
169 | then | ||
170 | echo " Option \"Protocol\" \"${XMOUSETYPE}\"" >> ${xfconfig} | ||
171 | else | ||
172 | echo ' Option "Protocol" "PS/2"' >> ${xfconfig} | ||
173 | fi | ||
174 | |||
175 | if [ -n "${DEVICE}" ] | ||
176 | then | ||
177 | #show what we got | ||
178 | echo -e ${COLOREDSTAR}"Mouse (${MOUSE_FULLNAME} found at ${MOUSE_DEVICE}" | ||
179 | |||
180 | #is there any mouse module than try to load it | ||
181 | if [ "${MOUSETYPE}" = "ps2" ] | ||
182 | then | ||
183 | #kernel 2.6 | ||
184 | if [ -f /lib/modules/$(uname -r)/kernel/drivers/input/mouse/psmouse.ko ] | ||
185 | then | ||
186 | echo -e ${COLOREDSTAR}"Loading kernel-module 'psmouse' ..." | ||
187 | echo "psmouse" >> /etc/modules.autoload.d/kernel-$(kernel_major_version) | ||
188 | fi | ||
189 | |||
190 | #kernel 2.4 | ||
191 | #if [ -f /lib/modules/$(uname -r)/kernel/drivers/input/mouse/psmouse.ko ] | ||
192 | #then | ||
193 | # echo -e ${COLOREDSTAR}"Loading kernel-module 'psmouse' ..." | ||
194 | # echo "psmouse" >> /etc/modules.autoload.d/kernel-$(kernel_major_version) | ||
195 | #fi | ||
196 | else | ||
197 | #kernel 2.6 | ||
198 | if [ -a /lib/modules/$(uname -r)/kernel/drivers/input/mouse/sermouse.ko ] | ||
199 | then | ||
200 | echo -e ${COLOREDSTAR}"Loading kernel-module 'sermouse' ..." | ||
201 | echo "sermouse" >> /etc/modules.autoload.d/kernel-$(kernel_major_version) | ||
202 | fi | ||
203 | |||
204 | #kernel 2.4 | ||
205 | #if [ -f /lib/modules/$(uname -r)/kernel/drivers/input/mouse/psmouse.ko ] | ||
206 | #then | ||
207 | # echo -e ${COLOREDSTAR}"Loading kernel-module 'psmouse' ..." | ||
208 | # echo "psmouse" >> /etc/modules.autoload.d/kernel-$(kernel_major_version) | ||
209 | #fi | ||
210 | fi | ||
211 | echo " Option \"Device\" \"${DEVICE}\"" >> ${xfconfig} | ||
212 | else | ||
213 | echo ' Option "Device" "/dev/mouse"' >> ${xfconfig} | ||
214 | fi | ||
215 | |||
216 | echo ' Option "Resolution" "1200"' >> ${xfconfig} | ||
217 | |||
218 | [ "${XMOUSETYPE}" = "IMPS/2" ] && echo ' Option "ZAxisMapping" "4 5"' >> ${xfconfig} | ||
219 | |||
220 | echo 'EndSection' >> ${xfconfig} | ||
221 | |||
222 | #to be safe | ||
223 | unset MOUSETYPE XMOUSETYPE FULLNAME DEVICE | ||
224 | |||
225 | |||
226 | #vnc keyboard && mouse | ||
227 | if [ "${HAS_VNC}" = "yes" ] | ||
228 | then | ||
229 | echo '' >> ${xfconfig} | ||
230 | echo 'Section "InputDevice"' >> ${xfconfig} | ||
231 | echo ' Identifier "vncKeyboard"' >> ${xfconfig} | ||
232 | echo ' Driver "rfbkeyb"' >> ${xfconfig} | ||
233 | echo 'EndSection' >> ${xfconfig} | ||
234 | |||
235 | echo '' >> ${xfconfig} | ||
236 | echo 'Section "InputDevice"' >> ${xfconfig} | ||
237 | echo ' Identifier "vncMouse"' >> ${xfconfig} | ||
238 | echo ' Driver "rfbmouse"' >> ${xfconfig} | ||
239 | echo 'EndSection' >> ${xfconfig} | ||
240 | fi | ||
241 | |||
242 | |||
243 | #monitor | ||
244 | echo '' >> ${xfconfig} | ||
245 | echo 'Section "Monitor"' >> ${xfconfig} | ||
246 | echo ' Identifier "mon0"' >> ${xfconfig} | ||
247 | echo ' HorizSync 28 - 96' >> ${xfconfig} | ||
248 | echo ' VertRefresh 50-60' >> ${xfconfig} | ||
249 | echo ' Option "DPMS"' >> ${xfconfig} | ||
250 | echo 'EndSection' >> ${xfconfig} | ||
251 | |||
252 | |||
253 | #vga | ||
254 | #to be safe | ||
255 | local XSERVER XMODULE XDESC | ||
256 | |||
257 | #get config | ||
258 | [ -f /etc/sysconfig/hwsetup/xserver ] && source /etc/sysconfig/hwsetup/xserver | ||
259 | |||
260 | echo '' >> ${xfconfig} | ||
261 | echo 'Section "Device"' >> ${xfconfig} | ||
262 | echo ' Identifier "vga0"' >> ${xfconfig} | ||
263 | |||
264 | if [ -n "${XMODULE}" ] | ||
265 | then | ||
266 | echo -e ${COLOREDSTAR}"Video: ${XDESC}" | ||
267 | echo -e ${COLOREDSTAR}"Video module: ${XMODULE}" | ||
268 | echo " Driver \"${XMODULE}\"" >> ${xfconfig} | ||
269 | else | ||
270 | echo -e ${COLOREDSTAR}"Video unknown, trying to use the standard 'vesa' module ..." | ||
271 | echo ' Driver "vesa"' >> ${xfconfig} | ||
272 | fi | ||
273 | |||
274 | #vnc server options | ||
275 | if [ "${HAS_VNC}" = "yes" ] | ||
276 | then | ||
277 | echo '' >> ${xfconfig} | ||
278 | echo ' # rfb options' >> ${xfconfig} | ||
279 | echo ' Option "rfbauth" "/root/.vnc/passwd"' >> ${xfconfig} | ||
280 | echo ' Option "rfbport" "5900"' >> ${xfconfig} | ||
281 | echo ' #Option "nevershared"' >> ${xfconfig} | ||
282 | echo ' Option "alwaysshared"' >> ${xfconfig} | ||
283 | echo ' Option "dontdisconnect"' >> ${xfconfig} | ||
284 | echo ' Option "httpdir" "/usr/share/vnc/classes"' >> ${xfconfig} | ||
285 | echo ' Option "httpport" "5800"' >> ${xfconfig} | ||
286 | echo ' # Option "useraccept"' >> ${xfconfig} | ||
287 | echo ' Option "usevnc"' >> ${xfconfig} | ||
288 | echo ' # Option "localhost"' >> ${xfconfig} | ||
289 | echo ' # Option "interface" "192.168.0.1"' >> ${xfconfig} | ||
290 | echo ' # Option "viewonly"' >> ${xfconfig} | ||
291 | echo ' # Option "loginauth"' >> ${xfconfig} | ||
292 | echo '' >> ${xfconfig} | ||
293 | fi | ||
294 | |||
295 | echo 'EndSection' >> ${xfconfig} | ||
296 | #to be safe | ||
297 | unset XSERVER XMODULE XDESC | ||
298 | |||
299 | |||
300 | #screens | ||
301 | echo '' >> ${xfconfig} | ||
302 | echo 'Section "Screen"' >> ${xfconfig} | ||
303 | echo ' Identifier "Screen 1"' >> ${xfconfig} | ||
304 | echo ' Device "vga0"' >> ${xfconfig} | ||
305 | echo ' Monitor "mon0"' >> ${xfconfig} | ||
306 | echo ' DefaultDepth 16' >> ${xfconfig} | ||
307 | echo ' Subsection "Display"' >> ${xfconfig} | ||
308 | echo ' Depth 8' >> ${xfconfig} | ||
309 | echo ' Modes "1024x768"' >> ${xfconfig} | ||
310 | echo ' ViewPort 0 0' >> ${xfconfig} | ||
311 | echo ' EndSubsection' >> ${xfconfig} | ||
312 | echo ' Subsection "Display"' >> ${xfconfig} | ||
313 | echo ' Depth 16' >> ${xfconfig} | ||
314 | echo ' Modes "1024x768"' >> ${xfconfig} | ||
315 | echo ' ViewPort 0 0' >> ${xfconfig} | ||
316 | echo ' EndSubsection' >> ${xfconfig} | ||
317 | echo ' Subsection "Display"' >> ${xfconfig} | ||
318 | echo ' Depth 24' >> ${xfconfig} | ||
319 | echo ' Modes "1024x768"' >> ${xfconfig} | ||
320 | echo ' ViewPort 0 0' >> ${xfconfig} | ||
321 | echo ' EndSubsection' >> ${xfconfig} | ||
322 | echo 'EndSection' >> ${xfconfig} | ||
323 | |||
324 | |||
325 | #server layout | ||
326 | echo '' >> ${xfconfig} | ||
327 | echo 'Section "ServerLayout"' >> ${xfconfig} | ||
328 | echo ' Identifier "Simple Layout"' >> ${xfconfig} | ||
329 | echo ' Screen "Screen 1"' >> ${xfconfig} | ||
330 | echo ' InputDevice "Mouse1" "CorePointer"' >> ${xfconfig} | ||
331 | echo ' InputDevice "Keyboard1" "CoreKeyboard"' >> ${xfconfig} | ||
332 | |||
333 | #load vnc keyboard && mouse | ||
334 | if [ "${HAS_VNC}" = "yes" ] | ||
335 | then | ||
336 | echo ' InputDevice "vncMouse" "ExtraPointer"' >> ${xfconfig} | ||
337 | echo ' InputDevice "vncKeyboard" "ExtraKeyboard"' >> ${xfconfig} | ||
338 | fi | ||
339 | |||
340 | echo 'EndSection' >> ${xfconfig} | ||
341 | |||
342 | |||
343 | #dri (here disabled, use default of xserver) | ||
344 | echo '' >> ${xfconfig} | ||
345 | echo '# Section "DRI"' >> ${xfconfig} | ||
346 | echo '# Mode 0666' >> ${xfconfig} | ||
347 | echo '# EndSection' >> ${xfconfig} | ||
348 | } | ||
349 | |||
350 | |||
351 | run_hwdetection() { | ||
352 | echo -e ${COLOREDSTAR}"Hardware Autodetection started ..." | ||
353 | echo -e ${COLOREDSTAR}"Prozessor: $(cat /proc/cpuinfo |grep "model name" | sed -e 's:model\ name*.*\: ::')" | ||
354 | |||
355 | |||
356 | #cleaning up old data-crap | ||
357 | if [ -e /etc/sysconfig/hwsetup ] | ||
358 | then | ||
359 | echo -e ${COLOREDSTAR}"Cleaning up old data ..." | ||
360 | rm -f /etc/sysconfig/hwsetup/* | ||
361 | fi | ||
362 | |||
363 | echo -en "${COLOREDSTAR}";hwsetup -p > /dev/null | ||
364 | |||
365 | #clean up modules | ||
366 | if [ -f /etc/modules.autoload.d/kernel-$(kernel_major_version) ] | ||
367 | then | ||
368 | echo -e ${COLOREDSTAR}"Cleaning up /etc/modules.autoload.d/kernel-$(kernel_major_version) ..." | ||
369 | echo > /etc/modules.autoload.d/kernel-$(kernel_major_version) | ||
370 | evaluate_retval | ||
371 | fi | ||
372 | |||
373 | #load module for parallel printing if exists | ||
374 | if [ -e /lib/modules/`uname -r`/kernel/drivers/char/lp.o ] | ||
375 | then | ||
376 | echo "lp" >> /etc/modules.autoload.d/kernel-$(kernel_major_version) | ||
377 | fi | ||
378 | |||
379 | #get what hwsetup has found | ||
380 | if [ -f /etc/sysconfig/hwsetup/knoppix ] | ||
381 | then | ||
382 | source /etc/sysconfig/hwsetup/knoppix | ||
383 | fi | ||
384 | |||
385 | #network setup (dhcp) | ||
386 | #for i in $(cat /proc/net/dev|grep eth.|cut -d ':' -f1) | ||
387 | #do | ||
388 | # echo -e ${COLOREDSTAR}"Network ${i}: ${NETCARD_FULLNAME}" | ||
389 | if [ -n "${NETCARD_DRIVER}" ] | ||
390 | then | ||
391 | echo -e ${COLOREDSTAR}"Network eth0: ${NETCARD_FULLNAME}" | ||
392 | echo -e ${COLOREDSTAR}"Network module: ${NETCARD_DRIVER}" | ||
393 | echo "${NETCARD_DRIVER}" >> /etc/modules.autoload.d/kernel-$(kernel_major_version) | ||
394 | evaluate_retval | ||
395 | fi | ||
396 | #done | ||
397 | |||
398 | #sound setup | ||
399 | if [ -n "${SOUND_DRIVER}" ] | ||
400 | then | ||
401 | echo -e ${COLOREDSTAR}"Sound (${SOUND_FULLNAME}) found" | ||
402 | echo -e ${COLOREDSTAR}"Sound module: ${SOUND_DRIVER}" | ||
403 | echo "${SOUND_DRIVER}" >> /etc/modules.autoload.d/kernel-$(kernel_major_version) | ||
404 | evaluate_retval | ||
405 | fi | ||
406 | |||
407 | #write default xfree-config | ||
408 | echo -e ${COLOREDSTAR}"Generating x11 configuration ..." | ||
409 | write_x11_config | ||
410 | evaluate_retval | ||
411 | } | ||
412 | |||
413 | ########### main part starts here ############## | ||
414 | |||
415 | source /etc/sysconfig/rc | ||
416 | source $rc_functions | ||
417 | |||
418 | case $1 in | ||
419 | start) | ||
420 | #we wouldn't start hwdetection if settings where imported (alx-only) | ||
421 | if [ ! -e /etc/alx-config/imported ] | ||
422 | then | ||
423 | run_hwdetection | ||
424 | fi | ||
425 | |||
426 | update_svcstatus $1 | ||
427 | splash svc_started "$(basename $0)" 0 | ||
428 | ;; | ||
429 | |||
430 | restart) | ||
431 | $0 start | ||
432 | ;; | ||
433 | |||
434 | *) | ||
435 | echo "Usage: $0 {start|restart}" | ||
436 | exit 1 | ||
437 | ;; | ||
438 | esac |
Properties
Name | Value |
---|---|
svn:executable | * |