Subversion Repositories livecd

Rev

Rev 1 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1 Rev 73
Line 1... Line 1...
1
#!/bin/bash
1
#!/bin/bash
2
#
2
#
3
# Noninteractive HW detection and configuration
3
# Noninteractive HW detection and configuration
-
 
4
# in particular configure network devices
4
#
5
#
5
# Urs Beyerle, PSI
6
# Urs Beyerle, PSI
6
#
7
#
7
 
8
 
8
### -----------------------------------------------------------
9
### -----------------------------------------------------------
Line 22... Line 23...
22
### -----------------------------------------------------------
23
### -----------------------------------------------------------
23
 
24
 
24
# do not start network
25
# do not start network
25
NONET=$( cmdline_parameter nonet )
26
NONET=$( cmdline_parameter nonet )
26
 
27
 
-
 
28
# static IP
-
 
29
IPADDR=$( cmdline_value ip )
-
 
30
 
-
 
31
# gateway
-
 
32
GATEWAY=$( cmdline_value gw )
-
 
33
 
-
 
34
# netmask
-
 
35
NETMASK=$( cmdline_value netmask )
-
 
36
 
27
 
37
 
28
### -----------------------------------------------------------
38
### -----------------------------------------------------------
29
### Main
39
### Main
30
### -----------------------------------------------------------
40
### -----------------------------------------------------------
31
 
41
 
32
# run kudzu in quiet mode
42
### run kudzu in quiet mode
33
action $"Hardware auto-detection, please wait... " /usr/sbin/kudzu -q
43
action $"Hardware auto-detection, please wait... " /usr/sbin/kudzu -q
34
 
44
 
-
 
45
 
-
 
46
### never start on boot the following network devices (wifi0, ath0)
-
 
47
for iface in wifi0 ath0; do
-
 
48
    for file in networking/profiles/default/ifcfg \
-
 
49
	networking/devices/ifcfg \
-
 
50
	network-scripts/ifcfg; do
-
 
51
      if [ -e /etc/sysconfig/${file}-${iface} ]; then
-
 
52
	  sed -i "s/ONBOOT=.*/ONBOOT=no/" /etc/sysconfig/${file}-${iface}
-
 
53
      fi
-
 
54
    done
-
 
55
done
-
 
56
 
-
 
57
 
35
# disable start network devices, if NONET is defined
58
### disable start network devices, if NONET is defined
36
if [ $NONET ]; then
59
if [ $NONET ]; then
37
    for iface in eth0 eth1 eth2 eth3; do
60
    # find all network devices (exclude loopback device)
38
        for file in networking/profiles/default/ifcfg \
61
    config_files=$( find /etc/sysconfig -name ifcfg-* 2>/dev/null | grep -v ifcfg-lo )
39
                    networking/devices/ifcfg \
-
 
40
                    network-scripts/ifcfg; do
62
    for file in $config_files; do
41
	  if [ -e /etc/sysconfig/${file}-${iface} ]; then
-
 
42
	      sed -i "s/ONBOOT=.*/ONBOOT=no/" /etc/sysconfig/${file}-${iface}
63
	sed -i "s/ONBOOT=.*/ONBOOT=no/" $file
43
	  fi
-
 
44
        done
-
 
45
    done
64
    done
46
fi
65
fi
47
 
66
 
-
 
67
 
-
 
68
### define static IP and gateway, netmask
-
 
69
if [ $IPADDR ]; then    
-
 
70
    if [ ! $GATEWAY ]; then
-
 
71
	# default gatway x.y.z.1
-
 
72
	GATEWAY=$( echo $IPADDR | awk -F"." '{ print $1"."$2"."$3".1" }' )
-
 
73
	if [ ! $NETMASK ]; then
-
 
74
	    NETMASK=255.255.255.0
-
 
75
	fi
-
 
76
    fi
-
 
77
    # create config files for eth0
-
 
78
    for iface in eth0; do
-
 
79
	for file in networking/profiles/default/ifcfg \
-
 
80
	            networking/devices/ifcfg \
-
 
81
	            network-scripts/ifcfg; do
-
 
82
	  sed -i "s/BOOTPROTO=.*/BOOTPROTO=none/" /etc/sysconfig/${file}-${iface}
-
 
83
	  echo "IPADDR=$IPADDR" > /etc/sysconfig/${file}-${iface}
-
 
84
	  echo "NETMASK=$NETMASK" > /etc/sysconfig/${file}-${iface}
-
 
85
	  echo "GATEWAY=$GATEWAY" > /etc/sysconfig/${file}-${iface}
-
 
86
	done
-
 
87
    done
-
 
88
fi
-
 
89
 
-
 
90
 
-
 
91
### activate ipw3945d daemon, if we have Intel IPW3945 WLAN 
-
 
92
lspci | grep -q Intel.*3945ABG
-
 
93
[ "$?" = "0" ] && chkconfig ipw3945d on 2>/dev/null
-
 
94
 
-
 
95
 
-
 
96
### activate Atheros WLAN
-
 
97
lspci | grep -q Ethernet.*Atheros
-
 
98
if [ "$?" = "0" ]; then
-
 
99
    # bring ath0 up
-
 
100
    ifconfig ath0 up > /dev/null 2>&1
-
 
101
    # replace wifi with ath0
-
 
102
    for file in networking/profiles/default/ifcfg \
-
 
103
	networking/devices/ifcfg \
-
 
104
	network-scripts/ifcfg; do
-
 
105
      if [ -e /etc/sysconfig/${file}-wifi0 ]; then
-
 
106
	  mv /etc/sysconfig/${file}-wifi0 /etc/sysconfig/${file}-ath0
-
 
107
	  sed -i "s/wifi0/ath0/" /etc/sysconfig/${file}-ath0
-
 
108
	  grep -q Wireless /etc/sysconfig/${file}-ath0
-
 
109
	  [ "$?" != "0" ] && echo "TYPE=Wireless" >> /etc/sysconfig/${file}-ath0
-
 
110
      fi
-
 
111
    done
-
 
112
fi
48
113