/[livecd-tools]/trunk/autoconfig
Gentoo

Diff of /trunk/autoconfig

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 77 Revision 141
1#!/sbin/runscript 1#!/sbin/runscript
2# Copyright 1999-2005 Gentoo Foundation
3# Distributed under the terms of the GNU General Public License v2
4# $Header: /var/cvsroot/gentoo/src/livecd-tools/autoconfig,v 1.42 2005/08/30 17:52:45 wolf31o2 Exp $
5 2
3# This script is used by Gentoo release media to start certain services and to
4# ensure a sane setup for a CD-based boot.
5
6ACPI="yes"
7ALSA="yes"
8APM="no"
9DETECT="yes"
6DHCP="yes" 10DHCP="yes"
7DETECT="yes" 11DMRAID="yes"
12EVMS="no"
13FIREWIRE="yes"
8GPM="yes" 14GPM="yes"
9PCMCIA="no" 15HALD="yes"
10HOTPLUG="yes" 16HOTPLUG="yes"
11APM="no"
12ACPI="no"
13IDEDMA="yes" 17IDEDMA="yes"
18LVM="no"
19MDADM="yes"
20NET="yes"
21NFS="yes"
22PASSWD="yes"
14ALSA="yes" 23PATA="yes"
24PCMCIA="yes"
25SATA="yes"
26SCSI="no"
27SSHD="no"
28USB="yes"
15X11="yes" 29X11="yes"
16 30
17get_config() { 31get_config() {
18 CMDLINE="$(cat /proc/cmdline)" 32 CMDLINE="$(cat /proc/cmdline)"
19 33
20 for x in ${CMDLINE} ; do 34 for x in ${CMDLINE} ; do
21 if [ "${x}" = "nodetect" ] 35 case "${x}" in
22 then 36 # We put nodetect first, so we can override it with do* commands
37 nodetect)
38 ACPI="no"
39 ALSA="no"
40 APM="no"
23 DETECT="no" 41 DETECT="no"
42 DMRAID="no"
43 EVMS="no"
44 FIREWIRE="no"
24 GPM="no" 45 GPM="no"
46 HALD="no"
25 HOTPLUG="no" 47 HOTPLUG="no"
48 LVM="no"
26 APM="no" 49 MDADM="no"
27 ACPI="no" 50 NET="no"
51 NFS="no"
52 PCMCIA="no"
28 ALSA="no" 53 PATA="no"
54 SATA="no"
55 SCSI="no"
56 USB="no"
29 X11="no" 57 X11="no"
30 fi 58 ;;
31 59 noapm)
32 if [ "${x}" = "nodhcp" ] 60 APM="no"
33 then 61 ;;
62 nodhcp)
34 DHCP="no" 63 DHCP="no"
35 fi 64 ;;
36 65 nodmraid)
37 if [ "${x}" = "nogpm" ] 66 DMRAID="no"
38 then 67 ;;
68 noevms|noevms2)
69 EVMS="no"
70 ;;
71 nofirewire)
72 FIREWIRE="no"
73 ;;
74 nogpm)
39 GPM="no" 75 GPM="no"
40 fi 76 ;;
41 77 nohotplug)
42 if [ "${x}" = "dopcmcia" ]
43 then
44 PCMCIA="yes"
45 fi
46
47 if [ "${x}" = "doapm" ]
48 then
49 APM="yes"
50 ACPI="no"
51 fi
52
53 if [ "${x}" = "acpi=on" -o "${x}" = "acpi=force" ]
54 then
55 APM="no"
56 ACPI="yes"
57 fi
58
59 if [ "${x}" = "ide=nodma" ]
60 then
61 IDEDMA="no"
62 fi
63
64 if [ "${x}" = "nohotplug" ]
65 then
66 HOTPLUG="no" 78 HOTPLUG="no"
67 fi 79 ;;
68 80 noload=*)
69 if [ "${x}" = "nosound" ] 81 NOLOAD="$*"
70 then 82 ;;
83 nolvm|nolvm2)
84 LVM="no"
85 ;;
86 nomdadm)
87 MDADM="no"
88 ;;
89 nonet)
90 NET="no"
91 ;;
92 nonfs)
93 NFS="no"
94 ;;
95 nopata)
96 PATA="no"
97 ;;
98 nopcmcia)
99 PCMCIA="no"
100 ;;
101 nosata)
102 SATA="no"
103 ;;
104 noscsi)
105 SCSI="no"
106 ;;
107 nosshd)
108 SSHD="no"
109 ;;
110 nosound)
71 ALSA="no" 111 ALSA="no"
72 fi 112 ;;
73 113 nousb)
74 if [ "${x}" = "nox" ] 114 USB="no"
75 then 115 nox)
76 X11="no" 116 X11="no"
77 fi 117 ;;
118 ide\=nodma)
119 IDEDMA="no"
120 ;;
121 acpi\=on|acpi\=force)
122 ACPI="yes"
123 APM="no"
124 ;;
125 doapm)
126 ACPI="no"
127 APM="yes"
128 ;;
129 dodhcp)
130 DHCP="yes"
131 ;;
132 dodmraid)
133 DMRAID="yes"
134 ;;
135 doevms|doevms2)
136 EVMS="yes"
137 ;;
138 dofirewire)
139 FIREWIRE="yes"
140 ;;
141 dogpm)
142 GPM="yes"
143 ;;
144 dohotplug)
145 HOTPLUG="yes"
146 ;;
147 dolvm|dolvm2)
148 LVM="yes"
149 ;;
150 domdadm)
151 MDADM="yes"
152 ;;
153 donet)
154 NET="yes"
155 ;;
156 dopata)
157 PATA="yes"
158 ;;
159 dopcmcia)
160 PCMCIA="yes"
161 ;;
162 dosata)
163 SATA="yes"
164 ;;
165 doscsi)
166 SCSI="yes"
167 ;;
168 dosshd)
169 SSHD="yes"
170 ;;
171 dosound)
172 SOUND="yes"
173 ;;
174 dousb)
175 USE="yes"
176 ;;
177 dox)
178 X11="yes"
179 ;;
180 passwd=*)
181 PASSWD="no"
182 PASSWORD="$*"
183 ;;
184 esac
78 done 185 done
79} 186}
80 187
81depend() { 188depend() {
82 need modules 189 need modules
83 before net 190 before net
84# provide gpm pcmcia apmd acpid coldplug hdparm alsasound x-setup
85} 191}
86 192
87# Checks whether a service will be started by autoconfig. 193# Checks whether a service will be started by autoconfig.
88# Usage: check_svc var service [service_alternative] 194# Usage: check_svc var service [service_alternative]
89check_svc() { 195check_svc() {
90 if [ "$1" = "yes" ]; then 196 if [ "${1}" = "yes" ]
197 then
91 if [ -x "/etc/init.d/$2" ]; then 198 if [ -x "/etc/init.d/${2}" ]
199 then
92 echo "$2" 200 echo "${2}"
93 elif [ -n "$3" -a -x "/etc/init.d/$3" ]; then 201 elif [ -n "${3}" -a -x "/etc/init.d/${3}" ]
202 then
94 echo "$3" 203 echo "${3}"
95 fi 204 fi
96 fi 205 fi
97} 206}
98 207
99# Prints an ordered list of services that will be started by autoconfig. 208# Prints an ordered list of services that will be started by autoconfig.
100list_services() { 209list_services() {
101 get_config 210 get_config
102 211
103 local svcs="$(check_svc ${APM} apmd)" 212 local svcs="$(check_svc ${ACPI} acpid)"
213 svcs="${svcs} $(check_svc ${ALSA} alsasound)"
104 svcs="${svcs} $(check_svc ${ACPI} acpid)" 214 svcs="${svcs} $(check_svc ${APM} apmd)"
215 svcs="${svcs} $(check_svc ${GPM} gpm)"
216 svcs="${svcs} $(check_svc ${HALD} hald)"
217 svcs="${svcs} $(check_svc ${HOTPLUG} coldplug hotplug)"
105 svcs="${svcs} $(check_svc ${IDEDMA} hdparm)" 218 svcs="${svcs} $(check_svc ${IDEDMA} hdparm)"
219 svcs="${svcs} $(check_svc ${NFS} nfsmount)"
220 svcs="${svcs} $(check_svc ${PASSWD} pwgen"
106 svcs="${svcs} $(check_svc ${PCMCIA} pcmcia)" 221 svcs="${svcs} $(check_svc ${PCMCIA} pcmcia)"
107 svcs="${svcs} $(check_svc ${GPM} gpm)"
108 svcs="${svcs} $(check_svc ${HOTPLUG} coldplug hotplug)"
109 svcs="${svcs} $(check_svc ${ALSA} alsasound)" 222 svcs="${svcs} $(check_svc ${SSH} sshd)"
223 svcs="${svcs} $(check_svc ${X11} mkxf86config x-setup)"
224
225 ### TODO: make this baselayout-2 compatible
226 ### TODO: make these checks accurate using service dependencies
110 227
111 echo ${svcs} 228 echo ${svcs}
229}
230
231unpack_firmware() {
232 # This unpacks any firmware tarballs.
233 if [ -e /lib/firmware.tar.bz2 ]
234 then
235 ebegin "Unpacking hotplug firmware"
236 tar xjf /lib/firmware.tar.bz2 -C /lib/firmware
237 eend 0
238 fi
239}
240
241get_info() {
242 local tmp
243
244 if [ ! -z "${1}" -a ! -z "${2}" ]
245 then
246 tmp=$(grep "^$1[[:space:]]\+:" /proc/cpuinfo | head -n 1 | cut -d" " -f3-)
247 eval "${2}='${tmp}'"
248 fi
249}
250
251detect_mips() {
252 get_info "cpu model" cpuinfo
253 get_info "system type" machinfo
254 cpuinfo="${cpuinfo%% FPU*}"
255
256 case "${machinfo}" in
257 "SGI Indigo2")
258 case "${cpuinfo}" in
259 R4*)
260 machinfo="SGI Indigo2" # I2 R4x00
261 ;;
262 R8*)
263 machinfo="SGI Indigo2 Power" # I2 R8000
264 ;;
265 R10*)
266 machinfo="SGI Indigo2 Impact" # I2 R10000
267 ;;
268 esac
269 ;;
270 esac
271
272 PC="Detected an ${machinfo} w/ ${numcpu} ${cpuinfo} CPU(s)"
273}
274
275detect_x86_amd64_ia64() {
276 if [ "${1}" = "ia64" ]
277 then
278 get_info "family" cpuinfo
279 else
280 get_info "model name" cpuinfo
281 fi
282 get_info "cpu MHz" mhz
283 mhz="${mhz%%.*}MHz"
284
285 PC="Detected ${numcpu} ${cpuinfo} CPU(s) @ ${mhz}"
286}
287
288detect_alpha() {
289 get_info "platform string" machinfo
290 get_info "cpu" cpuinfo1
291 get_info "cpu model" cpuinfo2
292 get_info "cpus detected" numcpu
293
294 PC="Detected ${numcpu} ${cpuinfo1} ${cpuinfo2} CPU(s) in a ${machinfo} system"
295}
296
297detect_ppc() {
298 get_info "cpu" cpuinfo
299 get_info "clock" mhz
300 get_info "detected as" machinfo
301 machinfo="${machinfo##*\(}"
302 machinfo="${machinfo%%\)*}"
303
304 local machtype=""
305
306 case "${machinfo}" in
307 "CHRP Pegasos2")
308 machtype="Pegasos 2"
309 ;;
310 "CHRP IBM,9124-720")
311 machtype="IBM OP720"
312 ;;
313 "iBook 2 rev. 2")
314 machtype="Apple iBook G3"
315 ;;
316 "iMac G5"*)
317 machtype="Apple iMac G5"
318 ;;
319 "MPC8241")
320 machtype="Kurobox"
321 ;;
322 "PowerMac G5")
323 machtype="Apple PowerMac G5"
324 ;;
325 "PowerMac G5 Dual Core")
326 machtype="Apple PowerMac G5 Dual Core"
327 ;;
328 "PowerMac G4 AGP Graphics")
329 machtype="Apple PowerMac G4"
330 ;;
331 "PowerBook Titanium"|'PowerBook G4 15"')
332 machtype="Apple Powerbook G4"
333 ;;
334 "Unknown Intrepid-based")
335 machtype="Apple Mac-Mini"
336 ;;
337 *)
338 machtype="Unknown PPC System"
339 ;;
340 esac
341
342 PC="Detected a(n) ${machtype} w/ ${numcpu} ${cpuinfo} CPU(s)"
343}
344
345detect_sparc() {
346 get_info "cpu" cpuinfo
347 get_info "ncpus active" numcpu
348 get_info "ncpus probed" numprobed
349
350 PC="Detected ${numcpu} active ${cpuinfo} CPU(s) of ${numprobed} total"
112} 351}
113 352
114start() { 353start() {
115 echo "0" > /proc/sys/kernel/printk 354 echo "0" > /proc/sys/kernel/printk
116 get_config 355 get_config
356
357 # First off, we want hotplug/coldplug enabled, so let's re-enable it.
358 # We do this even if we aren't starting up the hotplug/coldplug
359 # services for the installer.
360 sed -i 's/RC_COLDPLUG="no"/RC_COLDPLUG="yes"/' /etc/conf.d/rc
361 # Now, we check if we're supposed to run a coldplug script.
362 if [ "${HOTPLUG}" = "yes" ]
363 then
364 # Check whether we should be using hotplug/coldplug or whether we should
365 # just let udev do it all.
366 if [ -x /etc/init.d/coldplug ]
367 then
368 start_service coldplug
369 elif [ -x /etc/init.d/hotplug ]
370 then
371 start_service hotplug
372 else
373 unpack_firmware
374 [ -x /sbin/udevtrigger ] && /sbin/udevtrigger
375 fi
376 else
377 ewarn "Hotplug/Coldplug disabled via cmdline ..."
378 fi
379
117 if [ "${DETECT}" = "yes" ] 380 if [ "${DETECT}" = "yes" ]
118 then 381 then
119 ebegin ${WARN}"Hardware detection started" 382 ebegin "Hardware detection started"
120 PC=$(awk -F: '/^processor/{printf "Processor"$2" is"};/^model name/{printf $2};/^vendor_id/{printf vendor};/^cpu MHz/{printf " %dMHz",int($2)};/^cache size/{printf ","$2" Cache"};/^$/{print ""}' /proc/cpuinfo 2>/dev/null) 383 local numcpu="$(grep -c '^processor[[:space:]]\+:' /proc/cpuinfo)"
121 ebegin ${GOOD}"${PC}" 384 local arch="$(uname -m)"
122 eend 385
386 case ${arch} in
387 mips*)
388 detect_mips
389 ACPI="no"
390 APM="no"
391 IDEDMA="no"
392 ;;
393 i?86|x86_64)
394 detect_x86_amd64_ia64
395 ;;
396 alpha)
397 detect_alpha
398 ACPI="no"
399 APM="no"
400 ;;
401 sparc*)
402 detect_sparc
403 ACPI="no"
404 APM="no"
405 ;;
406 powerpc*)
407 detect_ppc
408 ACPI="no"
409 APM="no"
410 ;;
411 ia64)
412 detect_x86_amd64_ia64 "ia64"
413 APM="no"
414 ;;
415 *)
416 PC=
417 ;;
418 esac
419 [ -n "${PC}" ] && einfo "${PC}"
123 [ -x /usr/sbin/hwsetup ] && hwsetup -p >/dev/null 420 [ -x /usr/sbin/hwsetup ] && hwsetup
124 eend 421 eend
125 else 422 else
126 ebegin ${WARN}"Hardware detection disabled via cmdline$NORMAL" 423 ewarn "Hardware detection disabled via cmdline ..."
127 fi 424 fi
128 425
129 if [ "${APM}" = "yes" ] 426 if [ "${APM}" = "yes" ]
130 then 427 then
131 modprobe apm power_off=1 >/dev/null 2>&1 && ebegin ${GOOD}"APM BIOS found, power management functions enabled.${NORMAL}" 428 modprobe apm power_off=1 >/dev/null 2>&1 && \
429 einfo "APM BIOS found, power management functions enabled ..."
132 [ -x /etc/init.d/apmd ] && start_service apmd 430 [ -x /etc/init.d/apmd ] && start_service apmd
133 else 431 else
134 ebegin ${GOOD}"Not Loading APM Bios support.${NORMAL}" 432 einfo "Not Loading APM Bios support ..."
135 eend
136 fi 433 fi
137 434
138 if [ "${ACPI}" = "yes" ] 435 if [ "${ACPI}" = "yes" ]
139 then 436 then
140 modprobe processor >/dev/null 2>&1 && ebegin ${GOOD} ACPI power management functions enabled.${NORMAL} && modprobe thermal >/dev/null 437 modprobe processor >/dev/null 2>&1 && \
438 ebegin "ACPI power management functions enabled" && \
439 modprobe thermal >/dev/null
141 modprobe fan >/dev/null 2>&1 440 modprobe fan >/dev/null 2>&1
142 modprobe button >/dev/null 2>&1 441 modprobe button >/dev/null 2>&1
143 modprobe battery >/dev/null 2>&1 442 modprobe battery >/dev/null 2>&1
144 modprobe ac >/dev/null 2>&1 443 modprobe ac >/dev/null 2>&1
444 modprobe thermal >/dev/null 2>&1
445 modprobe video >/dev/null 2>&1
446 modprobe dock >/dev/null 2>&1
145 [ -x /etc/init.d/acpid ] && start_service acpid 447 [ -x /etc/init.d/acpid ] && start_service acpid
146 eend 448 eend
449 else
450 einfo "Not Loading ACPI support ..."
147 fi 451 fi
148 452
149 if [ "${IDEDMA}" = "yes" ] 453 if [ "${IDEDMA}" = "yes" ]
150 then 454 then
151 [ -x /etc/init.d/hdparm ] && start_service hdparm 455 [ -x /etc/init.d/hdparm ] && start_service hdparm
456 else
457 ewarn "Disabling IDE DMA support ..."
152 fi 458 fi
153 459
154 if [ "${PCMCIA}" = "yes" ] 460 if [ "${PCMCIA}" = "yes" ]
155 then 461 then
156 ebegin ${HILITE} "PCMCIA enabled via cmdline"
157 [ -x /etc/init.d/pcmcia ] && start_service pcmcia 462 [ -x /etc/init.d/pcmcia ] && start_service pcmcia
463 else
464 ewarn "PCMCIA disabled via cmdline ..."
158 fi 465 fi
159 466
160 if [ "${DHCP}" = "no" ] 467 if [ "${DHCP}" = "no" ]
161 then 468 then
162 sed -i -e '/^ifconfig_eth.*dhcp.*/ s/^/#/' \ 469 sed -i -e '/^ifconfig_eth.*dhcp.*/ s/^/#/' \
163 -e '/^iface_eth.*dhcp.*/ s/^/#/' \ 470 -e '/^iface_eth.*dhcp.*/ s/^/#/' \
164 -e '/^config_eth.*dhcp.*/ s/^/#/' \ 471 -e '/^config_eth.*dhcp.*/ s/^/#/' \
165 /etc/conf.d/net 472 /etc/conf.d/net
166 ebegin ${BAD}"Skipping DHCP broadcast detection as requested on boot commandline." 473 for i in `seq 0 4`
474 do
475 echo "config_eth${i}=( \"none\" )" >> /etc/conf.d/net
476 done
477 ewarn "Skipping DHCP broadcast ..."
167 fi 478 fi
168 479
169 #Read in what hwsetup has found 480 # Read in what hwsetup has found
170 [ -f /etc/sysconfig/knoppix ] && . /etc/sysconfig/knoppix
171 [ -f /etc/sysconfig/gentoo ] && . /etc/sysconfig/gentoo 481 [ -f /etc/sysconfig/gentoo ] && source /etc/sysconfig/gentoo
172 482
173 # Mouse 483 # Mouse
174 if [ -n "${MOUSE_DEVICE}" ] 484 if [ -n "${MOUSE_DEVICE}" ]
175 then 485 then
176 ebegin ${GOOD}"Mouse is ${HILITE}${MOUSE_FULLNAME}${GOOD} at ${HILITE}${MOUSE_DEVICE}${NORMAL}" 486 einfo "Mouse is ${HILITE}${MOUSE_FULLNAME}${NORMAL} at ${HILITE}${MOUSE_DEVICE}${NORMAL} ..."
177 source /etc/sysconfig/mouse 487 source /etc/sysconfig/mouse
178 if [ -x /usr/sbin/gpm ] 488 if [ -x /usr/sbin/gpm ]
179 then 489 then
180 if [ $(grep "#MOUSE=${MOUSETYPE}" /etc/conf.d/gpm) ] 490 if [ $(grep "#MOUSE=${MOUSETYPE}" /etc/conf.d/gpm) ]
181 then 491 then
182 sed -i "\@MOUSE=${MOUSETYPE}@s@^#@@" /etc/conf.d/gpm 492 sed -i "\@MOUSE=${MOUSETYPE}@s@^#@@" /etc/conf.d/gpm
183 else 493 else
184 echo "MOUSE=${MOUSETYPE}" >>/etc/conf.d/gpm 494 echo "MOUSE=${MOUSETYPE}" >>/etc/conf.d/gpm
185 fi 495 fi
496
186 if [ $(grep "#MOUSEDEV=${DEVICE}" /etc/conf.d/gpm) ] 497 if [ $(grep "#MOUSEDEV=${DEVICE}" /etc/conf.d/gpm) ]
187 then 498 then
188 sed -i "\@MOUSEDEV=${DEVICE}@s@^#@@" /etc/conf.d/gpm 499 sed -i "\@MOUSEDEV=${DEVICE}@s@^#@@" /etc/conf.d/gpm
189 else 500 else
190 echo "MOUSEDEV=${DEVICE}" >>/etc/conf.d/gpm 501 echo "MOUSEDEV=${DEVICE}" >>/etc/conf.d/gpm
191 fi 502 fi
503
192 if [ "${GPM}" = "yes" ] 504 [ "${GPM}" = "yes" ] \
193 then
194 [ -x /etc/init.d/gpm ] && start_service gpm 505 && [ -x /etc/init.d/gpm ] && start_service gpm
195 fi
196 fi 506 fi
197 eend
198 fi
199
200 if [ "${HOTPLUG}" = "yes" ]
201 then
202 #Check whether we should be using hotplug or coldplug
203 if [ -x /etc/init.d/coldplug ]
204 then
205 start_service coldplug
206 elif [ -x /etc/init.d/hotplug ]
207 then
208 start_service hotplug
209 fi 507 fi
210 else
211 ebegin ${BAD}"Hotplug disabled via cmdline${NORMAL}"
212 fi
213 508
214 if [ "${DETECT}" = "no" ] 509 [ "${DETECT}" = "no" ] && DHCP="no"
215 then
216 DHCP="no"
217 fi
218
219 if [ "${DETECT}" = "yes" ] 510 [ "${DETECT}" = "yes" ] \
220 then
221 NETDEVICES="$(awk -F: '/eth.:|tr.:|ath.:|wlan.:/{print $1}' /proc/net/dev 2>/dev/null)" 511 && NETDEVICES="$(awk -F: '/eth.:|tr.:|ath.:|wlan.:/{print $1}' /proc/net/dev 2>/dev/null)"
222 fi
223 512
224 if [ -n "${NETDEVICES}" ] 513 if [ -n "${NETDEVICES}" ]
225 then 514 then
226 for nics in ${NETDEVICES} 515 for nics in ${NETDEVICES}
227 do 516 do
228 if [ "${DHCP}" = "yes" ] 517 if [ "${DHCP}" = "yes" ]
229 then 518 then
230 ebegin ${GOOD}"Network device${HILITE}${nics}${GOOD} detected,${WARN} DHCP broadcasting for IP.${NORMAL}" 519 einfo "Network device ${HILITE}${nics}${NORMAL} detected, DHCP broadcasting for IP ..."
520 if [ -f /var/run/dhcpcd-${nics}.pid ]
521 then
522 if [ -z "$(/sbin/ifconfig ${nics} | grep 'inet addr')" ]
523 then
524 kill $(cat /var/run/dhcpcd-${nics}.pid)
525 sleep 2
231 dhcpcd -n -h $(hostname) & 526 dhcpcd -n -h $(hostname) ${nics}
527 fi
528 fi
232 fi 529 fi
233 eend
234 done 530 done
531 [ "${NFS}" = "yes" ] \
532 && [ -x /etc/init.d/nfsmount ] && start_service nfsmount
533 if [ "${PASSWD}" = "no" ]
534 then
535 echo "root:${PASSWORD}" | chpasswd > /dev/null 2>&1
235 else 536 else
537 start_service pwgen
538 fi
539 if [ "${SSHD}" = "yes" ]
540 then
541 # If we have passwd= on the command line, we don't run pwgen and we
542 # set the root password to PASSWORD.
543 if [ "${PASSWD}" = "yes" ]
544 then
545 ewarn "WARNING: You are starting sshd with a scrambled root password!!!"
546 ewarn "WARNING: You need to set a root password to be able to login remotely."
547 fi
548 [ -x /etc/init.d/sshd ] && start_service sshd
549 fi
550 else
236 ebegin ${BAD}"No Network device auto detected.${NORMAL}" 551 ewarn "No Network device auto detected ..."
237 fi 552 fi
238 553
239 if [ "${ALSA}" = "yes" ] 554 if [ "${ALSA}" = "yes" ]
240 then 555 then
241 if [ -n "${SOUND_FULLNAME}" -o -n "${SOUND_DRIVER}" ] 556 if [ -n "${SOUND_FULLNAME}" -o -n "${SOUND_DRIVER}" ]
242 then 557 then
243 ebegin ${GOOD}"Soundcard:" 558 local sndmsg="Soundcard:\n"
244 eend 559
245 [ -n "${SOUND_FULLNAME}" ] 560 [ -n "${SOUND_FULLNAME}" ] \
246 ebegin " ${WARN}${SOUND_FULLNAME}" 561 && sndmsg="${sndmsg} ${WARN}${SOUND_FULLNAME}\n"
247 [ -n "${SOUND_DRIVER}" ] 562 [ -n "${SOUND_DRIVER}" ] \
248 ebegin ${WARN}" driver = ${SOUND_DRIVER}"${HILITE} 563 && sndmsg="${sndmsg} driver = ${SOUND_DRIVER}\n"
564
565 einfo "${sndmsg}"
566
249 if [ -x /etc/init.d/alsasound ] 567 if [ -x /etc/init.d/alsasound ]
250 then 568 then
251 start_service alsasound 569 start_service alsasound
252 else
253 ebegin ${WARN}"/etc/init.d/alsasound not found, skipping."
254 einfo "You will need to set volume controls manually."
255 fi 570 fi
256 for i in $(cat /proc/asound/cards | cut -d" " -f1) 571
572 if [ -e /proc/asound/cards ]
573 then
574 for i in $(cat /proc/asound/cards | awk '{print $1}' | grep ^[[:digit:]])
257 do 575 do
258 if [ -d /proc/asound/card$i ] && [ -x /usr/bin/amixer ] 576 if [ -d /proc/asound/card$i ] && [ -x /usr/bin/amixer ]
259 then
260 amixer -c $i scontrols > /etc/amixer
261 if [ -n "$(grep Master /etc/amixer)" ]
262 then 577 then
578 amixer -c $i scontrols > /etc/amixer
579 [ -n "$(grep Master /etc/amixer)" ] \
263 amixer -c $i -q set Master 95% unmute >/dev/null 2>&1 580 && amixer -c $i -q set Master 95% unmute \
581 >/dev/null 2>&1
582 [ -n "$(grep PCM /etc/amixer)" ] \
583 && amixer -c $i -q set PCM 95% unmute \
584 >/dev/null 2>&1
585 [ -n "$(grep Mic /etc/amixer)" ] \
586 && amixer -c $i -q set Mic 95% mute cap \
587 >/dev/null 2>&1
588 [ -n "$(grep Wave /etc/amixer)" ] \
589 && amixer -c $i -q set Wave 95% unmute \
590 >/dev/null 2>&1
591 [ -n "$(grep Capture /etc/amixer)" ] \
592 && amixer -c $i -q set Capture 95% unmute cap \
593 >/dev/null 2>&1
264 fi 594 fi
265 if [ -n "$(grep PCM /etc/amixer)" ]
266 then
267 amixer -c $i -q set PCM 95% unmute >/dev/null 2>&1
268 fi
269 if [ -n "$(grep Mic /etc/amixer)" ]
270 then
271 amixer -c $i -q set Mic 95% mute cap >/dev/null 2>&1
272 fi
273 if [ -n "$(grep Wave /etc/amixer)" ]
274 then
275 amixer -c $i -q set Wave 95% unmute >/dev/null 2>&1
276 fi
277 if [ -n "$(grep Capture /etc/amixer)" ]
278 then
279 amixer -c $i -q set Capture 95% unmute cap >/dev/null 2>&1
280 fi
281 fi
282 done 595 done
596 fi
283 fi 597 fi
284 else 598 else
285 ebegin ${BAD}"Skipping ALSA detection as requested on boot commandline." 599 ewarn "Skipping ALSA detection as requested on command line ..."
286 fi 600 fi
287 601
602 [ -n "${XDESC}" ] && einfo "VideoCard: ${HILITE}${XDESC}${NORMAL}"
603
288 if [ "${DETECT}" = "yes" ] 604 if [ "${X11}" = "yes" ]
605 then
606 if [ -x /etc/init.d/mkxf86config ]
289 then 607 then
608 start_service mkxf86config
609 fi
290 if [ -x /etc/init.d/x-setup ] 610 if [ -x /etc/init.d/x-setup ]
291 then 611 then
292 schedule_service_startup x-setup 612 start_service x-setup
293 fi 613 fi
294 fi 614 else
295
296 if [ "${X11}" = "no" ]
297 then
298 touch /etc/init.d/.noxdm 615 touch /etc/init.d/.noxdm
299 fi
300
301 if [ -n "${XDESC}" ]
302 then
303 ebegin ${GOOD}"VideoCard: ${WARN} ${XDESC}"
304 eend
305 fi 616 fi
306 617
307 killall hwsetup 2>/dev/null 618 killall hwsetup 2>/dev/null
308 echo "6" > /proc/sys/kernel/printk 619 echo "6" > /proc/sys/kernel/printk
309} 620}

Legend:
Removed from v.77  
changed lines
  Added in v.141

  ViewVC Help
Powered by ViewVC 1.1.20