Subversion Repositories livecd

Rev

Rev 105 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 beyerle@PS 1
#!/bin/bash
2
#
3
# Fix things during bootup - run first 
84 beyerle@PS 4
# For example: Enable services, etc ...
1 beyerle@PS 5
# Executed at the very end of /etc/rc.d/rc.sysinit
6
#
7
# Urs Beyerle, PSI
8
#
9
 
10
### -----------------------------------------------------------
84 beyerle@PS 11
### Definitions
1 beyerle@PS 12
### -----------------------------------------------------------
13
 
14
# dir of mounted /$MOUNTDIR/live
15
MOUNTDIR=livecd
16
 
17
# source functions
18
. /$MOUNTDIR/live/liblinuxlive
19
. /etc/init.d/functions
20
 
21
 
22
### -----------------------------------------------------------
23
### Get boot parameters
24
### -----------------------------------------------------------
25
 
26
# start afs?
27
AFS=$( cmdline_parameter afs )
28
CELL=$( cmdline_value cell )
29
 
30
# or force no afs
31
[ $( cmdline_parameter noafs ) ] && AFS=""
32
 
33
# start ssh server?
34
SSH=$( cmdline_parameter ssh )
35
 
36
# root on NFS?
37
NFSROOT=$( cmdline_value nfsroot )
38
 
39
# PSI setup?
40
PSI=$( cmdline_parameter psi )
41
 
42
# do not start network
43
NONET=$( cmdline_parameter nonet )
44
 
45
# Are PXE/TFTP and NFS Server the same host ? not uesed any more
46
ONEMASTER=$( cmdline_parameter onemaster )
47
 
48
# fast booting ?
49
FASTBOOT=$( cmdline_parameter fastboot )
50
 
51
# if run=rdesktop, we do fast boot
52
if [ "$( cmdline_value run )" = "rdesktop" ]; then
53
    FASTBOOT="fastboot"
54
fi
55
 
56
# start ntpd ?
57
NTPD=$( cmdline_parameter ntpd )
58
 
59
# services on/off
60
SERVICEON=$( cmdline_value serviceon )
61
SERVICEOFF=$( cmdline_value serviceoff )
62
 
88 beyerle@PS 63
# Xserver configurations
64
SCREEN=$( cmdline_value screen )
1 beyerle@PS 65
 
88 beyerle@PS 66
 
1 beyerle@PS 67
### -----------------------------------------------------------
84 beyerle@PS 68
### Configure services
1 beyerle@PS 69
### -----------------------------------------------------------
70
 
71
### disable rpcidmapd, if LiveCD mounted over NFS
72
if [ $NFSROOT ]; then
105 beyerle@PS 73
    chkconfig rpcidmapd off >/dev/null 2>&1
1 beyerle@PS 74
fi
75
 
88 beyerle@PS 76
### disable NetworkManager, if LiveCD mounted over NFS
77
if [ $NFSROOT ]; then
105 beyerle@PS 78
    chkconfig NetworkManager off           >/dev/null 2>&1
79
    chkconfig NetworkManagerDispatcher off >/dev/null 2>&1 
88 beyerle@PS 80
fi
81
 
1 beyerle@PS 82
### disable shutdown of network and nfs, 
83
# if we have the LiveCD mounted over NFS
84
if [ $NFSROOT ]; then
85
    if [ $ONEMASTER ]; then
86
        # "network off" is only necessary, 
87
        # if PXE/TFTP and NTS server is on same machine
88
	chkconfig network off
89
    fi
90
 
91
    rm -f /etc/rc.d/rc6.d/K75netfs
92
    rm -f /etc/rc.d/rc6.d/K86nfslock
93
    rm -f /etc/rc.d/rc6.d/K87portmap
94
    rm -f /etc/rc.d/rc6.d/K90network
95
 
96
    rm -f /etc/rc.d/rc0.d/K75netfs
97
    rm -f /etc/rc.d/rc0.d/K86nfslock
98
    rm -f /etc/rc.d/rc0.d/K87portmap
99
    rm -f /etc/rc.d/rc0.d/K90network
100
fi
101
 
102
### enable AFS during start up, if given by boot parameter
103
if [ $AFS ]; then
104
    chkconfig afs on
105
fi
106
 
107
### disable some services for fast booting
108
if [ $FASTBOOT ]; then    
109
    echo "Fast booting enabled"
110
    chkconfig vpnclient_init off
111
    chkconfig haldaemon off
112
    chkconfig pcmcia off
113
    chkconfig ntpd off
114
    chkconfig atd off
115
    chkconfig cpuspeed off
116
    chkconfig gpm off
117
    chkconfig messagebus off
118
    rm -rf /etc/rc.d/rc3.d/S04kudzu-auto
119
    rm -rf /etc/rc.d/rc5.d/S04kudzu-auto
120
fi
121
 
122
### enable ntpd?
123
if [ $NTPD ]; then
124
    chkconfig ntpd on
125
fi
126
 
127
### enable SSH server during start up, if given by boot parameter
128
if [ $SSH ]; then
129
    chkconfig sshd on
130
fi
131
 
84 beyerle@PS 132
### activate ipw3945d daemon, if we have Intel IPW3945 WLAN 
133
if [ ! $NONET ]; then
134
    lspci | grep -q Intel.*3945ABG
135
    if [ "$?" = "0" ]; then
136
	chkconfig ipw3945d on 2>/dev/null
137
    fi
138
fi
139
 
140
### enable 915resolution on Intel Mobile Display controller
88 beyerle@PS 141
#   and set resolution in /etc/sysconfig/915resolution defined by screen=
84 beyerle@PS 142
lspci | grep -q Display.*Intel.*Mobile
143
if [ "$?" = "0" ]; then 
144
    chkconfig 915resolution on 2>/dev/null
88 beyerle@PS 145
    if [ -e /etc/sysconfig/915resolution ]; then
146
	X=$( echo $SCREEN | cut -d"x" -f1 )
147
	Y=$( echo $SCREEN | cut -d"x" -f2 )
148
	if [ $X ]; then
149
	    sed -i "s|^X=.*|X=$X|" /etc/sysconfig/915resolution
150
	fi
151
	if [ $Y ]; then
152
	    sed -i "s|^Y=.*|Y=$Y|" /etc/sysconfig/915resolution
153
	fi
154
    fi
84 beyerle@PS 155
fi
156
 
1 beyerle@PS 157
### services on
158
if [ -n $SERVICEON ]; then
159
    for service in `echo "$SERVICEON" | tr ':' ' '`; do
160
	if [ -f /etc/init.d/$service ]; then
161
	    chkconfig $service on
162
	fi
163
    done
164
fi
165
 
166
### services off
167
if [ -n $SERVICEOFF ]; then
168
    for service in `echo "$SERVICEOFF" | tr ':' ' '`; do
169
	if [ -f /etc/init.d/$service ]; then
170
	    chkconfig $service off
171
	fi
172
    done
173
fi
174
 
84 beyerle@PS 175
 
176
### -----------------------------------------------------------
177
### Main
178
### -----------------------------------------------------------
179
 
180
### get resolv.conf, if we have the LiveCD mounted over NFS
181
if [ $NFSROOT ]; then
182
    cp -f /$MOUNTDIR/live/etc/resolv.conf /etc/
183
fi
184
 
185
### restore blacklist (modified in runveryfirst)
186
if [ $NFSROOT ]; then
187
    [ -e /etc/hotplug/blacklist ] && BLACKLIST_FILE=/etc/hotplug/blacklist
188
    [ -e /etc/modprobe.d/blacklist ] && BLACKLIST_FILE=/etc/modprobe.d/blacklist
189
    mv -f ${BLACKLIST_FILE}.backup ${BLACKLIST_FILE}
190
fi
191
 
192
### create AFS mount point
193
mkdir -p /afs
194
 
195
### set afs cell, if given by boot parameter
196
if [ $CELL ]; then
197
    echo $CELL > /usr/vice/etc/ThisCell
198
fi
199
 
1 beyerle@PS 200
### fix perm of /tmp
201
chmod 1777 /tmp
202
 
101 beyerle@PS 203
### link /opt -> /usr/opt ! 
204
[ ! -e /opt ] && ln -s /usr/opt /opt
1 beyerle@PS 205
 
206
### create home
207
mkdir -p /home
208
 
209
### create /scratch
210
mkdir -p /scratch
211
chmod 1777 /scratch
212
 
213
### create /data
214
if [ $PSI ]; then
215
    mkdir -p /data
216
    chmod 1777 /data
217
fi
218
 
219
### add PSI master
220
if [ $PSI ]; then
221
    mkdir -p /mnt/master
125 beyerle@PS 222
    echo "pxeserv01:/master       /mnt/master             nfs     noauto,nolock,ro 0 0" >> /etc/fstab
1 beyerle@PS 223
fi
224