Magellan Linux

Annotation of /branches/init-0_3_3-r1/magellan-initscripts/etc/rc.d/init.d/hwdetect

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2 - (hide annotations) (download)
Mon Dec 13 22:52:07 2004 UTC (19 years, 4 months ago) by niro
Original Path: branches/unlabeled-1.1.1/magellan-initscripts/etc/rc.d/init.d/hwdetect
File size: 12833 byte(s)
imported.

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 *