Subversion Repositories livecd

Rev

Rev 47 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 47 Rev 49
1
#!/bin/bash
1
#!/bin/bash
2
#
2
#
3
###############################################################
3
###############################################################
4
#
4
#
5
# Installes the LiveCD on local harddisk
5
# Installes the LiveCD on local harddisk
6
# 
6
# 
7
# Boot LiveCD and run this script as root
7
# Boot LiveCD and run this script as root
8
#
8
#
9
# Urs Beyerle, PSI
9
# Urs Beyerle, PSI
10
#
10
#
11
###############################################################
11
###############################################################
12
 
12
 
13
 
13
 
14
###############################################################
14
###############################################################
15
# Definitions
15
# Definitions
16
###############################################################
16
###############################################################
17
 
17
 
18
# set PATH
18
# set PATH
19
PATH="/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin"
19
PATH="/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin"
20
 
20
 
21
# RPMs that are no longer needed and can break future udpates
21
# RPMs that are no longer needed and can break future udpates
22
RPMS_TO_REMOVE="kernel-module-squashfs \
22
RPMS_TO_REMOVE="kernel-module-squashfs \
23
                kernel-module-unionfs \
23
                kernel-module-unionfs \
24
                kernel-module-aufs \
24
                kernel-module-aufs \
25
                unionfs-.* \
25
                unionfs-.* \
26
                aufs-.* \
26
                aufs-.* \
27
                squashfs-.*"
27
                squashfs-.*"
28
 
28
 
29
# RPMs that can break future Scientific Linux updates
29
# RPMs that can break future Scientific Linux updates
30
# because there are not part of Scientific Linux
30
# because there are not part of Scientific Linux
31
RPMS_TO_REMOVE_SL="kernel-module-ntfs \
31
RPMS_TO_REMOVE_SL="kernel-module-ntfs \
32
                   nvidia.*psi"
32
                   nvidia.*psi"
33
                   
33
                   
34
# RPMs that can break future PSI SL updates
34
# RPMs that can break future PSI SL updates
35
# because there are not part of PSI Scientific Linux
35
# because there are not part of PSI Scientific Linux
36
RPMS_TO_REMOVE_PSI=""
36
RPMS_TO_REMOVE_PSI=""
37
                   
37
                   
38
# files which should be restored from .ori files
38
# files which should be restored from .ori files
39
FILES_RESTORE="/etc/init.d/netfs \
39
FILES_RESTORE="/etc/init.d/netfs \
40
           /etc/init.d/autofs \
40
           /etc/init.d/autofs \
41
           /etc/init.d/halt \
41
           /etc/init.d/halt \
42
           /etc/init.d/network
42
           /etc/init.d/network
43
           /etc/init.d/functions \
43
           /etc/init.d/functions \
44
           /etc/rc.d/rc.sysinit \
44
           /etc/rc.d/rc.sysinit \
45
           /etc/sysconfig/afs \
45
           /etc/sysconfig/afs \
46
           /etc/motd \
46
           /etc/motd \
47
           /etc/redhat-release \
47
           /etc/redhat-release \
48
	   /etc/rc.d/rc.local"
48
	   /etc/rc.d/rc.local"
49
 
49
 
50
# LiveCD init scripts will be removed
50
# LiveCD init scripts will be removed
51
LIVECD_INIT_SCRIPTS="runfirst \
51
LIVECD_INIT_SCRIPTS="runfirst \
52
                    runveryfirst \
52
                    runveryfirst \
53
                    runlast \
53
                    runlast \
54
                    kudzu-auto \
54
                    kudzu-auto \
55
                    login"
55
                    login"
56
 
56
 
57
# Main directories which should be not be copied
57
# Main directories which should be not be copied
58
DIR_NOT_COPY="/proc \
58
DIR_NOT_COPY="/proc \
59
              /dev \
59
              /dev \
60
              /livecd \
60
              /livecd \
61
              /boot \
61
              /boot \
62
              /afs \
62
              /afs \
63
              /sys \
63
              /sys \
64
              /mnt \
64
              /mnt \
65
              /media \
65
              /media \
66
              /initrd"
66
              /initrd"
67
 
67
 
68
# Mount point of the new SL system
68
# Mount point of the new SL system
69
NEW=/mnt/harddisk
69
NEW=/mnt/harddisk
70
 
70
 
71
# Name of the script
71
# Name of the script
72
SCRIPTNAME=$( basename $0 )
72
SCRIPTNAME=$( basename $0 )
73
 
73
 
74
 
74
 
75
 
75
 
76
 
76
 
77
###############################################################
77
###############################################################
78
# Functions
78
# Functions
79
###############################################################
79
###############################################################
80
 
80
 
81
function usage() {
81
function usage() {
82
 
82
 
83
   ## Usage
83
   ## Usage
84
   # ----------------------------------------------------------
84
   # ----------------------------------------------------------
85
 
85
 
86
   cat <<EOF
86
   cat <<EOF
87
   
87
   
88
  $SCRIPTNAME [OPTIONS] -mbr=[DEVICE] [PARTITION]
88
  $SCRIPTNAME [OPTIONS] -mbr=[DEVICE] [PARTITION]
89
 
89
 
90
    Installes LiveCD on PARTITION and the bootloader grub into 
90
    Installes LiveCD on PARTITION and the bootloader grub into 
91
    the Master Boot Record (MBR) of DEVICE. The MBR will be 
91
    the Master Boot Record (MBR) of DEVICE. The MBR will be 
92
    backed up to PARTITION.
92
    backed up to PARTITION.
93
 
93
 
94
  OPTIONS:
94
  OPTIONS:
95
 
95
 
96
    -h   --help       : Print this screen
96
    -h   --help       : Print this screen
97
    -swap=[partition] : Use [partition] as swap
97
    -swap=[partition] : Use [partition] as swap
98
    -win=[partition]  : Your active Windows partition. If not given, 
98
    -win=[partition]  : Your active Windows partition. If not given, 
99
                        $SCRIPTNAME tries to find it
99
                        $SCRIPTNAME tries to find it
100
    -nogrub           : Do not install grub. You have to install 
100
    -nogrub           : Do not install grub. You have to install 
101
                        manually a bootloader (not recommended)
101
                        manually a bootloader (not recommended)
102
    -floppy           : Needed, if grub should be installed on floppy
102
    -floppy           : Needed, if grub should be installed on floppy
103
                        In this case use -mbr=/dev/fd0 -floppy
103
                        In this case use -mbr=/dev/fd0 -floppy
104
    -norpmremove      : Do not remove RPMs that can break future 
104
    -norpmremove      : Do not remove RPMs that can break future 
105
                        updates (not recommended)
105
                        updates (not recommended)
106
    -y                : Answer all questions with yes
106
    -y                : Answer all questions with yes
107
 
107
 
108
  Example:
108
  Example:
109
 
109
 
110
  $SCRIPTNAME -swap=/dev/sda3 -mbr=/dev/sda /dev/sda2
110
  $SCRIPTNAME -swap=/dev/sda3 -mbr=/dev/sda /dev/sda2
111
 
111
 
112
    Will install LiveCD on /dev/sda2 (= second partition on 
112
    Will install LiveCD on /dev/sda2 (= second partition on 
113
    first SATA disk). All data on /dev/sda2 will be deleted.
113
    first SATA disk). All data on /dev/sda2 will be deleted.
114
    /dev/sda3 has to be a Linux Swap partion. GRUB will be 
114
    /dev/sda3 has to be a Linux Swap partion. GRUB will be 
115
    installed in the MBR of /dev/sda (= first SATA disk).
115
    installed in the MBR of /dev/sda (= first SATA disk).
116
   
116
   
117
  Remarks:
117
  Remarks:
118
 
118
 
119
    To display your hard disk partitions, user 'fdisk -l'.
119
    To display your hard disk partitions, user 'fdisk -l'.
120
    Use fdisk, qtparted or parted to create an empty Linux
120
    Use fdisk, qtparted or parted to create an empty Linux
121
    partition.
121
    partition.
122
 
122
 
123
EOF
123
EOF
124
}
124
}
125
 
125
 
126
 
126
 
127
function exit_now() {
127
function exit_now() {
128
 
128
 
129
    local exitcode=$1
129
    local exitcode=$1
130
    umount $INSTALL_PART 2>/dev/null
130
    umount $INSTALL_PART 2>/dev/null
131
    exit $exitcode
131
    exit $exitcode
132
}
132
}
133
 
133
 
134
 
134
 
135
 
135
 
136
###############################################################
136
###############################################################
137
# Main
137
# Main
138
###############################################################
138
###############################################################
139
 
139
 
140
### are we root?
140
### are we root?
141
### -----------------------------------------------------------
141
### -----------------------------------------------------------
142
if [ "$( whoami )" != "root" ]; then
142
if [ "$( whoami )" != "root" ]; then
143
    echo; echo "Please run this script as root: 'su - -c $SCRIPTNAME'"; echo
143
    echo; echo "Please run this script as root: 'su - -c $SCRIPTNAME'"; echo
144
    exit_now 1
144
    exit_now 1
145
fi
145
fi
146
 
146
 
147
 
147
 
148
### read options from command-line
148
### read options from command-line
149
### -----------------------------------------------------------
149
### -----------------------------------------------------------
150
while [ $# -gt 0 ]; do
150
while [ $# -gt 0 ]; do
151
 
151
 
152
    case "$1" in
152
    case "$1" in
153
       -h)
153
       -h)
154
            usage; exit_now;;
154
            usage; exit_now;;
155
 
155
 
156
       --help)
156
       --help)
157
            usage; exit_now;;
157
            usage; exit_now;;
158
 
158
 
159
       -swap*)
159
       -swap*)
160
           if echo $1 | grep -q '=' ; then
160
           if echo $1 | grep -q '=' ; then
161
	       SWAP_PART=$( echo $1 | sed 's/^-swap=//' )
161
	       SWAP_PART=$( echo $1 | sed 's/^-swap=//' )
162
	   else
162
	   else
163
	       shift
163
	       shift
164
               SWAP_PART=$1
164
               SWAP_PART=$1
165
	   fi
165
	   fi
166
	   ;;
166
	   ;;
167
 
167
 
168
       -mbr*)
168
       -mbr*)
169
           if echo $1 | grep -q '=' ; then
169
           if echo $1 | grep -q '=' ; then
170
	       MBR_DEV=$( echo $1 | sed 's/^-mbr=//' )
170
	       MBR_DEV=$( echo $1 | sed 's/^-mbr=//' )
171
	   else
171
	   else
172
	       shift
172
	       shift
173
               MBR_DEV=$1
173
               MBR_DEV=$1
174
	   fi
174
	   fi
175
	   ;;
175
	   ;;
176
 
176
 
177
       -win*)
177
       -win*)
178
           if echo $1 | grep -q '=' ; then
178
           if echo $1 | grep -q '=' ; then
179
	       WIN_PART=$( echo $1 | sed 's/^-win=//' )
179
	       WIN_PART=$( echo $1 | sed 's/^-win=//' )
180
	   else
180
	   else
181
	       shift
181
	       shift
182
               WIN_PART=$1
182
               WIN_PART=$1
183
	   fi
183
	   fi
184
	   ;;
184
	   ;;
185
 
185
 
186
       -nogrub)
186
       -nogrub)
187
            NOGRUB=$1;;
187
            NOGRUB=$1;;
188
 
188
 
189
       -norpmremove)
189
       -norpmremove)
190
            NORPMREMOVE=$1;;
190
            NORPMREMOVE=$1;;
191
 
191
 
192
       -floppy)
192
       -floppy)
193
            FLOPPY=$1;;
193
            FLOPPY=$1;;
194
 
194
 
195
       -y)
195
       -y)
196
            YES=$1;;
196
            YES=$1;;
197
 
197
 
198
       *)
198
       *)
199
            INSTALL_PART=$1;;
199
            INSTALL_PART=$1;;
200
    esac
200
    esac
201
 
201
 
202
    shift
202
    shift
203
 
203
 
204
done
204
done
205
echo
205
echo
206
 
206
 
207
 
207
 
208
### display fdisk -l
208
### display fdisk -l
209
### -----------------------------------------------------------
209
### -----------------------------------------------------------
210
echo "Output of 'fdisk -l' ..."
210
echo "Output of 'fdisk -l' ..."
211
fdisk -l
211
fdisk -l
212
echo
212
echo
213
 
213
 
214
 
214
 
215
### test if $INSTALL_PART is defined
215
### test if $INSTALL_PART is defined
216
### -----------------------------------------------------------
216
### -----------------------------------------------------------
217
if [ ! $INSTALL_PART ]; then
217
if [ ! $INSTALL_PART ]; then
218
    echo "No partition defined for installation"
218
    echo "No partition defined for installation."
219
    echo "Please see '$SCRIPTNAME -h'"; echo
219
    echo "Please see '$SCRIPTNAME -h'."; echo
220
    exit_now 1
220
    exit_now 1
221
fi
221
fi
222
 
222
 
223
 
223
 
224
### test if MBR_DEV is given
224
### test if MBR_DEV is given
225
### -----------------------------------------------------------
225
### -----------------------------------------------------------
226
if [ ! $NOGRUB ]; then
226
if [ ! $NOGRUB ]; then
227
    if [ ! $MBR_DEV ]; then
227
    if [ ! $MBR_DEV ]; then
228
	echo "No MBR device defined."
228
	echo "No MBR device defined."
229
	echo "Please see '$SCRIPTNAME -h'"; echo
229
	echo "Please see '$SCRIPTNAME -h'."
-
 
230
	echo
230
	exit_now 1
231
	exit_now 1
231
    fi
232
    fi
232
fi
233
fi
233
 
234
 
234
 
235
 
235
### test if $INSTALL_PART exists
236
### test if $INSTALL_PART exists
236
### -----------------------------------------------------------
237
### -----------------------------------------------------------
237
fdisk -l | cut -d" " -f1 | grep -q "^${INSTALL_PART}$"
238
fdisk -l | cut -d" " -f1 | grep -q "^${INSTALL_PART}$"
238
if [ "$?" != "0" ]; then
239
if [ "$?" != "0" ]; then
239
    echo "Partition $INSTALL_PART not found! See 'fdisk -l'"
240
    echo "Partition $INSTALL_PART not found! See 'fdisk -l'."
240
    echo "Or you have to reboot first to make the partition table active"; echo
241
    echo "Or you have to reboot first to make the partition table active." 
-
 
242
    echo
241
    exit_now 1
243
    exit_now 1
242
fi
244
fi
243
 
245
 
244
 
246
 
245
### test if $INSTALL_PART is a Linux partition
247
### test if $INSTALL_PART is a Linux partition
246
### -----------------------------------------------------------
248
### -----------------------------------------------------------
247
fdisk -l | grep "Linux$" | cut -d" " -f1 | grep -q "^${INSTALL_PART}$"
249
fdisk -l | grep "Linux$" | cut -d" " -f1 | grep -q "^${INSTALL_PART}$"
248
if [ "$?" != "0" ]; then
250
if [ "$?" != "0" ]; then
249
    echo "Partition $INSTALL_PART is not a Linux partition! (see 'fdisk -l')"
251
    echo "Partition $INSTALL_PART is not a Linux partition! (see 'fdisk -l')."
250
    echo "Use fdisk and/or qtparted to create a Linux partition!"
252
    echo "Use fdisk and/or qtparted to create a Linux partition!"
251
    echo "You have to reboot first to make the partition table active"; echo
253
    echo "You have to reboot first to make the partition table active."
-
 
254
    echo
252
    exit_now 1
255
    exit_now 1
253
fi
256
fi
254
 
257
 
255
 
258
 
256
### test if $SWAP_PART exists and is a Linux Swap partition
259
### test if $SWAP_PART exists and is a Linux Swap partition
257
### -----------------------------------------------------------
260
### -----------------------------------------------------------
258
if [ $SWAP_PART ]; then
261
if [ $SWAP_PART ]; then
259
    fdisk -l | cut -d" " -f1 | grep -q "^${SWAP_PART}$"
262
    fdisk -l | cut -d" " -f1 | grep -q "^${SWAP_PART}$"
260
    if [ "$?" != "0" ]; then
263
    if [ "$?" != "0" ]; then
261
	echo "Swap partition $SWAP_PART not found! (see 'fdisk -l')"
264
	echo "Swap partition $SWAP_PART not found! (see 'fdisk -l')."
262
	echo "Or you have to reboot first to make the partition table active"; echo
265
	echo "Or you have to reboot first to make the partition table active."
-
 
266
	echo
263
	exit_now 1
267
	exit_now 1
264
    fi
268
    fi
265
    fdisk -l | grep "Linux swap" | cut -d" " -f1 | grep -q "^${SWAP_PART}$"
269
    fdisk -l | grep "Linux swap" | cut -d" " -f1 | grep -q "^${SWAP_PART}$"
266
    if [ "$?" != "0" ]; then
270
    if [ "$?" != "0" ]; then
267
	echo "Partition $SWAP_PART is not a Linux swap partition! (see 'fdisk -l')"
271
	echo "Partition $SWAP_PART is not a Linux swap partition! (see 'fdisk -l')."
268
	echo "Use fdisk and/or qtparted to create a Linux Swap partition!"
272
	echo "Use fdisk and/or qtparted to create a Linux Swap partition !"
269
	echo "You have to reboot first to make the partition table active"; echo
273
	echo "You have to reboot first to make the partition table active."
-
 
274
	echo
270
	exit_now 1
275
	exit_now 1
271
    fi
276
    fi
272
fi
277
fi
273
 
278
 
274
 
279
 
275
### set $INSTALL_DEV (eg. /dev/sda)
280
### set $INSTALL_DEV (eg. /dev/sda)
276
### -----------------------------------------------------------
281
### -----------------------------------------------------------
277
INSTALL_DEV=$( echo "$INSTALL_PART" | sed -e 's%\([sh]d[a-z]\)[0-9]*$%\1%' )
282
INSTALL_DEV=$( echo "$INSTALL_PART" | sed -e 's%\([sh]d[a-z]\)[0-9]*$%\1%' )
278
INSTALL_PART_NR=$( echo "$INSTALL_PART" | sed -e 's%.*/[sh]d[a-z]\([0-9]*\)$%\1%' )
283
INSTALL_PART_NR=$( echo "$INSTALL_PART" | sed -e 's%.*/[sh]d[a-z]\([0-9]*\)$%\1%' )
279
 
284
 
280
 
285
 
281
### print warning
286
### print warning
282
### -----------------------------------------------------------
287
### -----------------------------------------------------------
283
echo                     "------------------------------------------------------------"
288
echo                     "------------------------------------------------------------"
284
echo                     "   LiveCD will be installed on partition $INSTALL_PART"
289
echo                     "   LiveCD will be installed on partition $INSTALL_PART"
285
[ "$SWAP_PART" ] && echo " Partition $SWAP_PART will be used as swap partition."
290
[ "$SWAP_PART" ] && echo " Partition $SWAP_PART will be used as swap partition."
286
[ ! $NOGRUB ]    && echo " GRUB will be installed in Master Boot Record of $MBR_DEV"
291
[ ! $NOGRUB ]    && echo " GRUB will be installed in Master Boot Record of $MBR_DEV"
287
echo                     "       !! All data on $INSTALL_PART will be lost !!"
292
echo                     "       !! All data on $INSTALL_PART will be lost !!"
288
echo                     "------------------------------------------------------------"
293
echo                     "------------------------------------------------------------"
289
echo
294
echo
290
 
295
 
291
 
296
 
292
### continue?
297
### continue?
293
### -----------------------------------------------------------
298
### -----------------------------------------------------------
294
if [ ! $YES ]; then
299
if [ ! $YES ]; then
295
    echo -n "Continue (y/N)? "
300
    echo -n "Continue (y/N)? "
296
    read key
301
    read key
297
    echo
302
    echo
298
    [ "$key" != "y" ] && exit_now 0
303
    [ "$key" != "y" ] && exit_now 0
299
fi
304
fi
300
 
305
 
301
 
306
 
302
### format $SWAP_PART
307
### format $SWAP_PART
303
### -----------------------------------------------------------
308
### -----------------------------------------------------------
304
if [ $SWAP_PART ]; then
309
if [ $SWAP_PART ]; then
305
    echo "Make swap on $SWAP_PART ..."
310
    echo "Make swap on $SWAP_PART ..."
306
    mkswap $SWAP_PART
311
    mkswap $SWAP_PART
307
    echo
312
    echo
308
fi
313
fi
309
 
314
 
310
 
315
 
311
### format $INSTALL_PART
316
### format $INSTALL_PART
312
### -----------------------------------------------------------
317
### -----------------------------------------------------------
313
echo -n "Format $INSTALL_PART, please wait ... " 
318
echo -n "Format $INSTALL_PART, please wait ... " 
314
mkfs.ext3 -q $INSTALL_PART || exit_now 1
319
mkfs.ext3 -q $INSTALL_PART || exit_now 1
315
echo "done."; echo
320
echo "done."; echo
316
 
321
 
317
 
322
 
318
### mount $INSTALL_PART
323
### mount $INSTALL_PART
319
### -----------------------------------------------------------
324
### -----------------------------------------------------------
320
echo -n "Try to mount $INSTALL_PART to $NEW ... "
325
echo -n "Try to mount $INSTALL_PART to $NEW ... "
321
mkdir -p $NEW
326
mkdir -p $NEW
322
mount $INSTALL_PART $NEW || exit_now 1
327
mount $INSTALL_PART $NEW || exit_now 1
323
echo "done."; echo
328
echo "done."; echo
324
 
329
 
325
 
330
 
326
### copy root dirs
331
### copy root dirs
327
### -----------------------------------------------------------
332
### -----------------------------------------------------------
328
echo "Copy Live System to $INSTALL_PART ..."
333
echo "Copy Live System to $INSTALL_PART ..."
329
root_dirs=$( ls / )
334
root_dirs=$( ls / )
330
for dir in $root_dirs; do
335
for dir in $root_dirs; do
331
    # check if dir is not in $DIR_NOT_COPY
336
    # check if dir is not in $DIR_NOT_COPY
332
    do_not_copy=""
337
    do_not_copy=""
333
    for not_dir in $DIR_NOT_COPY; do
338
    for not_dir in $DIR_NOT_COPY; do
334
	if [ "$not_dir" = "/$dir" ]; then 
339
	if [ "$not_dir" = "/$dir" ]; then 
335
	    do_not_copy="yes"
340
	    do_not_copy="yes"
336
	    break
341
	    break
337
	fi
342
	fi
338
    done
343
    done
339
    # do not copy links
344
    # do not copy links
340
    [ -L /$dir ] && do_not_copy="yes"
345
    [ -L /$dir ] && do_not_copy="yes"
341
 
346
 
342
    fail=""
347
    fail=""
343
    if [ ! $do_not_copy ]; then
348
    if [ ! $do_not_copy ]; then
344
	echo -n "  * Copy  /$dir ... "
349
	echo -n "  * Copy  /$dir ... "
345
	cp -a /$dir $NEW || fail=true
350
	cp -a /$dir $NEW || fail=true
346
	echo "done."
351
	echo "done."
347
    fi
352
    fi
348
done
353
done
349
echo
354
echo
350
if [ $fail ]; then
355
if [ $fail ]; then
351
    echo "ERROR: Not everything was copied to $INSTALL_PART"
356
    echo "ERROR: Not everything was copied to $INSTALL_PART"
352
    exit_now 1
357
    exit_now 1
353
fi
358
fi
354
 
359
 
355
 
360
 
356
### move /usr/opt back to /opt
361
### move /usr/opt back to /opt
357
### -----------------------------------------------------------
362
### -----------------------------------------------------------
358
if [ -d $NEW/usr/opt ]; then
363
if [ -d $NEW/usr/opt ]; then
359
    echo -n "Move /opt back ... "
364
    echo -n "Move /opt back ... "
360
    mv $NEW/usr/opt $NEW/
365
    mv $NEW/usr/opt $NEW/
361
    echo "done."; echo
366
    echo "done."; echo
362
fi
367
fi
363
 
368
 
364
 
369
 
365
### create dirs which were not copied
370
### create dirs which were not copied
366
### -----------------------------------------------------------
371
### -----------------------------------------------------------
367
for dir in $DIR_NOT_COPY; do
372
for dir in $DIR_NOT_COPY; do
368
    mkdir $NEW/$dir
373
    mkdir $NEW/$dir
369
done
374
done
370
# we do not need this directories
375
# we do not need this directories
371
rmdir $NEW/livecd
376
rmdir $NEW/livecd
372
# if not yet existing, create
377
# if not yet existing, create
373
mkdir -p $NEW/srv
378
mkdir -p $NEW/srv
374
mkdir -p $NEW/selinux
379
mkdir -p $NEW/selinux
375
 
380
 
376
 
381
 
377
### copy back original files
382
### copy back original files
378
### -----------------------------------------------------------
383
### -----------------------------------------------------------
379
echo -n "Restore original files ... " 
384
echo -n "Restore original files ... " 
380
for file in $FILES_RESTORE; do
385
for file in $FILES_RESTORE; do
381
    [ -r $NEW/${file}.ori ] && mv -f $NEW/${file}.ori $NEW/${file} 
386
    [ -r $NEW/${file}.ori ] && mv -f $NEW/${file}.ori $NEW/${file} 
382
done
387
done
383
echo "done."; echo
388
echo "done."; echo
384
 
389
 
385
 
390
 
386
### define kernel version
391
### define kernel version
387
### -----------------------------------------------------------
392
### -----------------------------------------------------------
388
rpm --quiet -q kernel     && UP_installed=true
393
rpm --quiet -q kernel     && UP_installed=true
389
rpm --quiet -q kernel-smp && SMP_installed=true
394
rpm --quiet -q kernel-smp && SMP_installed=true
390
[ $UP_installed ]  && KERNEL_VERSION=$( rpm -q --qf "%{V}-%{R}" kernel 2>/dev/null )
395
[ $UP_installed ]  && KERNEL_VERSION=$( rpm -q --qf "%{V}-%{R}" kernel 2>/dev/null )
391
[ $SMP_installed ] && KERNEL_VERSION=$( rpm -q --qf "%{V}-%{R}" kernel-smp  2>/dev/null )
396
[ $SMP_installed ] && KERNEL_VERSION=$( rpm -q --qf "%{V}-%{R}" kernel-smp  2>/dev/null )
392
if [ ! $KERNEL_VERSION ]; then
397
if [ ! $KERNEL_VERSION ]; then
393
    echo "ERROR: Kernel version could not be determined - installation failed"; echo
398
    echo "ERROR: Kernel version could not be determined - installation failed"; echo
394
    exit_now 1
399
    exit_now 1
395
fi    
400
fi    
396
 
401
 
397
 
402
 
398
 
403
 
399
if [ ! $NOGRUB ]; then
404
if [ ! $NOGRUB ]; then
400
 
405
 
401
    ### Backup Master Boot Record MBR
406
    ### Backup Master Boot Record MBR
402
    ### -----------------------------------------------------------
407
    ### -----------------------------------------------------------
403
    if [ ! $NOGRUB ]; then
408
    if [ ! $NOGRUB ]; then
404
	# do we have already a backup?
409
	# do we have already a backup?
405
	MBR_FILENAME="MBR$( echo $MBR_DEV | tr / _ ).bak"
410
	MBR_FILENAME="MBR$( echo $MBR_DEV | tr / _ ).bak"
406
	if [ ! -e /tmp/$MBR_FILENAME ]; then
411
	if [ ! -e /tmp/$MBR_FILENAME ]; then
407
	    echo "Backup Master Boot Record (MBR) of $MBR_DEV ..."
412
	    echo "Backup Master Boot Record (MBR) of $MBR_DEV ..."
408
	    dd if=$MBR_DEV of=/tmp/$MBR_FILENAME bs=512 count=1
413
	    dd if=$MBR_DEV of=/tmp/$MBR_FILENAME bs=512 count=1
409
	fi
414
	fi
410
	cp -a /tmp/$MBR_FILENAME $NEW/$MBR_FILENAME
415
	cp -a /tmp/$MBR_FILENAME $NEW/$MBR_FILENAME
411
	echo "MBR saved as $MBR_FILENAME on $INSTALL_PART and on /tmp"
416
	echo "MBR saved as $MBR_FILENAME on $INSTALL_PART and on /tmp"
412
	echo
417
	echo
413
    fi
418
    fi
414
 
419
 
415
 
420
 
416
    ### install grub
421
    ### install grub
417
    ### -----------------------------------------------------------
422
    ### -----------------------------------------------------------
418
    echo "Run grub-install ... "
423
    echo "Run grub-install ... "
419
    mkdir -p $NEW/boot/grub
424
    mkdir -p $NEW/boot/grub
420
    if [ $FLOPPY ]; then
425
    if [ $FLOPPY ]; then
421
	grub-install --root-directory=$NEW $MBR_DEV
426
	grub-install --root-directory=$NEW $MBR_DEV
422
    else
427
    else
423
	grub-install --no-floppy --root-directory=$NEW $MBR_DEV
428
	grub-install --no-floppy --root-directory=$NEW $MBR_DEV
424
    fi
429
    fi
425
    echo "done."; echo
430
    echo "done."; echo
426
 
431
 
427
 
432
 
428
    ### check for device.map file 
433
    ### check for device.map file 
429
    ### -----------------------------------------------------------
434
    ### -----------------------------------------------------------
430
    DEVICE_MAP=$NEW/boot/grub/device.map
435
    DEVICE_MAP=$NEW/boot/grub/device.map
431
    if [ ! -e $NEW/boot/grub/device.map ]; then
436
    if [ ! -e $NEW/boot/grub/device.map ]; then
432
	echo "ERROR: $NEW/boot/grub/device.map not found"
437
	echo "ERROR: $NEW/boot/grub/device.map not found"
433
	exit_now 1
438
	exit_now 1
434
    fi
439
    fi
435
 
440
 
436
 
441
 
437
    ### convert dev syntax to grub syntax
442
    ### convert dev syntax to grub syntax
438
    ### -----------------------------------------------------------
443
    ### -----------------------------------------------------------
439
    GRUB_INSTALL_DEV=$( grep $INSTALL_DEV $DEVICE_MAP | awk '{ print $1 }' )
444
    GRUB_INSTALL_DEV=$( grep $INSTALL_DEV $DEVICE_MAP | awk '{ print $1 }' )
440
    GRUB_ROOT_PART=$( echo "$GRUB_INSTALL_DEV" | sed "s%)$%,`expr $INSTALL_PART_NR - 1`)%" )
445
    GRUB_ROOT_PART=$( echo "$GRUB_INSTALL_DEV" | sed "s%)$%,`expr $INSTALL_PART_NR - 1`)%" )
441
 
446
 
442
 
447
 
443
    ### find active Windows partition
448
    ### find active Windows partition
444
    ### -----------------------------------------------------------
449
    ### -----------------------------------------------------------
445
    if [ ! $WIN_PART ]; then
450
    if [ ! $WIN_PART ]; then
446
        # try to find active Windows partition
451
        # try to find active Windows partition
447
	WIN_PART=$( fdisk -l 2>/dev/null | awk '{ if ($2 == "*" && $7 ~ "NTFS") print $1 }' | head -1 )
452
	WIN_PART=$( fdisk -l 2>/dev/null | awk '{ if ($2 == "*" && $7 ~ "NTFS") print $1 }' | head -1 )
448
    fi
453
    fi
449
 
454
 
450
    if [ $WIN_PART ]; then
455
    if [ $WIN_PART ]; then
451
	WIN_installed=true
456
	WIN_installed=true
452
	WIN_DISK=$( echo "$WIN_PART" | sed -e 's%\([sh]d[a-z]\)[0-9]*$%\1%' )
457
	WIN_DISK=$( echo "$WIN_PART" | sed -e 's%\([sh]d[a-z]\)[0-9]*$%\1%' )
453
	WIN_PART_NR=$( echo "$WIN_PART" | sed -e 's%.*/[sh]d[a-z]\([0-9]*\)$%\1%' )
458
	WIN_PART_NR=$( echo "$WIN_PART" | sed -e 's%.*/[sh]d[a-z]\([0-9]*\)$%\1%' )
454
        # convert dev syntax to grub syntax
459
        # convert dev syntax to grub syntax
455
	GRUB_WIN_DEV=$( grep $WIN_DISK $DEVICE_MAP | awk '{ print $1 }' )
460
	GRUB_WIN_DEV=$( grep $WIN_DISK $DEVICE_MAP | awk '{ print $1 }' )
456
	GRUB_WIN_PART=$( echo "$GRUB_WIN_DEV" | sed "s%)$%,`expr $WIN_PART_NR - 1`)%" )
461
	GRUB_WIN_PART=$( echo "$GRUB_WIN_DEV" | sed "s%)$%,`expr $WIN_PART_NR - 1`)%" )
457
 
462
 
458
        # $GRUB_WIN_PART should be something like (hd0,0)
463
        # $GRUB_WIN_PART should be something like (hd0,0)
459
	echo "Found active Windows partition ( $WIN_PART = $GRUB_WIN_PART )" 
464
	echo "Found active Windows partition ( $WIN_PART = $GRUB_WIN_PART )" 
460
	echo "Will add entry for Windows in GRUB."
465
	echo "Will add entry for Windows in GRUB."
461
	echo
466
	echo
462
    fi
467
    fi
463
 
468
 
464
 
469
 
465
    ### create grub.conf file
470
    ### create grub.conf file
466
    ### -----------------------------------------------------------
471
    ### -----------------------------------------------------------
467
    echo "Create grub.conf ..."
472
    echo "Create grub.conf ..."
468
 
473
 
469
    TITLE="Linux"
474
    TITLE="Linux"
470
    [ -e $NEW//etc/redhat-release ] && TITLE=$( cat $NEW/etc/redhat-release )
475
    [ -e $NEW//etc/redhat-release ] && TITLE=$( cat $NEW/etc/redhat-release )
471
 
476
 
472
    cat > $NEW/boot/grub/grub.conf <<EOF
477
    cat > $NEW/boot/grub/grub.conf <<EOF
473
# grub.conf generated by $SCRIPTNAME
478
# grub.conf generated by $SCRIPTNAME
474
default=0
479
default=0
475
timeout=5
480
timeout=5
476
splashimage=$GRUB_ROOT_PART/boot/grub/splash.xpm.gz
481
splashimage=$GRUB_ROOT_PART/boot/grub/splash.xpm.gz
477
#hiddenmenu
482
#hiddenmenu
478
EOF
483
EOF
479
 
484
 
480
    if [ $UP_installed ]; then
485
    if [ $UP_installed ]; then
481
	echo "Add entry for UP kernel into grub.conf"
486
	echo "Add entry for UP kernel into grub.conf"
482
	cat >> $NEW/boot/grub/grub.conf <<EOF
487
	cat >> $NEW/boot/grub/grub.conf <<EOF
483
title $TITLE (${KERNEL_VERSION})
488
title $TITLE (${KERNEL_VERSION})
484
        root $GRUB_ROOT_PART
489
        root $GRUB_ROOT_PART
485
	kernel /boot/vmlinuz-$KERNEL_VERSION ro root=$INSTALL_PART
490
	kernel /boot/vmlinuz-$KERNEL_VERSION ro root=$INSTALL_PART
486
	initrd /boot/initrd-$KERNEL_VERSION.img
491
	initrd /boot/initrd-$KERNEL_VERSION.img
487
EOF
492
EOF
488
    fi
493
    fi
489
 
494
 
490
    if [ $SMP_installed ]; then
495
    if [ $SMP_installed ]; then
491
	echo "Add entry for SMP kernel into grub.conf"
496
	echo "Add entry for SMP kernel into grub.conf"
492
	cat >> $NEW/boot/grub/grub.conf <<EOF
497
	cat >> $NEW/boot/grub/grub.conf <<EOF
493
title $TITLE (${KERNEL_VERSION}smp)
498
title $TITLE (${KERNEL_VERSION}smp)
494
        root $GRUB_ROOT_PART
499
        root $GRUB_ROOT_PART
495
	kernel /boot/vmlinuz-${KERNEL_VERSION}smp ro root=$INSTALL_PART
500
	kernel /boot/vmlinuz-${KERNEL_VERSION}smp ro root=$INSTALL_PART
496
	initrd /boot/initrd-${KERNEL_VERSION}smp.img
501
	initrd /boot/initrd-${KERNEL_VERSION}smp.img
497
EOF
502
EOF
498
    fi
503
    fi
499
 
504
 
500
    if [ $WIN_installed ]; then
505
    if [ $WIN_installed ]; then
501
	echo "Add entry for Windows into grub.conf"
506
	echo "Add entry for Windows into grub.conf"
502
	cat >> $NEW/boot/grub/grub.conf <<EOF
507
	cat >> $NEW/boot/grub/grub.conf <<EOF
503
title Windows
508
title Windows
504
        rootnoverify $GRUB_WIN_PART
509
        rootnoverify $GRUB_WIN_PART
505
        chainloader +1
510
        chainloader +1
506
EOF
511
EOF
507
    fi
512
    fi
508
 
513
 
509
    chmod 600 $NEW/boot/grub/grub.conf
514
    chmod 600 $NEW/boot/grub/grub.conf
510
    ln -s ../boot/grub/grub.conf $NEW/etc/grub.conf
515
    ln -s ../boot/grub/grub.conf $NEW/etc/grub.conf
511
    ln -s ./grub.conf $NEW/boot/grub/menu.lst
516
    ln -s ./grub.conf $NEW/boot/grub/menu.lst
512
    echo "done."; echo
517
    echo "done."; echo
513
 
518
 
514
fi
519
fi
515
 
520
 
516
 
521
 
517
### install kernel and other files into /boot
522
### install kernel and other files into /boot
518
### -----------------------------------------------------------
523
### -----------------------------------------------------------
519
echo "Install kernel(s) ..."
524
echo "Install kernel(s) ..."
520
 
525
 
521
[ -e /boot/vmlinuz ]      && BOOT_DIR=/boot
526
[ -e /boot/vmlinuz ]      && BOOT_DIR=/boot
522
[ -e /boot/boot/vmlinuz ] && BOOT_DIR=/boot/boot
527
[ -e /boot/boot/vmlinuz ] && BOOT_DIR=/boot/boot
523
 
528
 
524
if [ ! $BOOT_DIR ]; then
529
if [ ! $BOOT_DIR ]; then
525
    echo "ERROR: No kernel found - installation failed"; echo
530
    echo "ERROR: No kernel found - installation failed"; echo
526
    exit_now 1
531
    exit_now 1
527
fi
532
fi
528
 
533
 
529
cp -a $BOOT_DIR/vmlinuz            $NEW/boot/vmlinuz-${KERNEL_VERSION}
534
cp -a $BOOT_DIR/vmlinuz            $NEW/boot/vmlinuz-${KERNEL_VERSION}
530
cp -a $BOOT_DIR/vmlinuzs           $NEW/boot/vmlinuz-${KERNEL_VERSION}smp  2>/dev/null
535
cp -a $BOOT_DIR/vmlinuzs           $NEW/boot/vmlinuz-${KERNEL_VERSION}smp  2>/dev/null
531
cp -a $BOOT_DIR/System.map-*       $NEW/boot/
536
cp -a $BOOT_DIR/System.map-*       $NEW/boot/
532
cp -a $BOOT_DIR/config-*           $NEW/boot/
537
cp -a $BOOT_DIR/config-*           $NEW/boot/
533
cp -a $BOOT_DIR/symvers-*.gz       $NEW/boot/        2>/dev/null
538
cp -a $BOOT_DIR/symvers-*.gz       $NEW/boot/        2>/dev/null
534
cp -a $BOOT_DIR/grub/splash.xpm.gz $NEW/boot/grub/
539
cp -a $BOOT_DIR/grub/splash.xpm.gz $NEW/boot/grub/
535
cp -a $BOOT_DIR/message.ja         $NEW/boot/        2>/dev/null
540
cp -a $BOOT_DIR/message.ja         $NEW/boot/        2>/dev/null
536
cp -a $BOOT_DIR/message            $NEW/boot/        2>/dev/null
541
cp -a $BOOT_DIR/message            $NEW/boot/        2>/dev/null
537
 
542
 
538
echo "done."; echo
543
echo "done."; echo
539
 
544
 
540
 
545
 
541
### create /etc/fstab
546
### create /etc/fstab
542
### -----------------------------------------------------------
547
### -----------------------------------------------------------
543
cat > $NEW/etc/fstab <<EOF
548
cat > $NEW/etc/fstab <<EOF
544
$INSTALL_PART         /                    ext3    defaults        1 1
549
$INSTALL_PART         /                    ext3    defaults        1 1
545
devpts            /dev/pts             devpts  gid=5,mode=620  0 0
550
devpts            /dev/pts             devpts  gid=5,mode=620  0 0
546
tmpfs             /dev/shm             tmpfs   defaults        0 0
551
tmpfs             /dev/shm             tmpfs   defaults        0 0
547
proc              /proc                proc    defaults        0 0
552
proc              /proc                proc    defaults        0 0
548
sysfs             /sys                 sysfs   defaults        0 0
553
sysfs             /sys                 sysfs   defaults        0 0
549
EOF
554
EOF
550
if [ $SWAP_PART ]; then
555
if [ $SWAP_PART ]; then
551
    echo "$SWAP_PART         swap                 swap    defaults        0 0" >> $NEW/etc/fstab
556
    echo "$SWAP_PART         swap                 swap    defaults        0 0" >> $NEW/etc/fstab
552
fi
557
fi
553
 
558
 
554
 
559
 
555
### make initrd 
560
### make initrd 
556
### (needs $NEW/etc/fstab to find correct modules for root filesystem !!)
561
### (needs $NEW/etc/fstab to find correct modules for root filesystem !!)
557
### -----------------------------------------------------------
562
### -----------------------------------------------------------
558
echo "Create initrd(s) ..."
563
echo "Create initrd(s) ..."
559
# initrd should not be build on tmpfs (we take $NEW/tmp instead of /tmp)
564
# initrd should not be build on tmpfs (we take $NEW/tmp instead of /tmp)
560
sed -i "s|^TMPDIR=.*|TMPDIR=\"$NEW/tmp\"|" /usr/sbin/livecd-mkinitrd
565
sed -i "s|^TMPDIR=.*|TMPDIR=\"$NEW/tmp\"|" /usr/sbin/livecd-mkinitrd
561
 
566
 
562
if [ $UP_installed ]; then
567
if [ $UP_installed ]; then
563
    depmod -a ${KERNEL_VERSION}
568
    depmod -a ${KERNEL_VERSION}
564
    /usr/sbin/livecd-mkinitrd --fstab=$NEW/etc/fstab \
569
    /usr/sbin/livecd-mkinitrd --fstab=$NEW/etc/fstab \
565
                    $NEW//boot/initrd-${KERNEL_VERSION}.img ${KERNEL_VERSION}
570
                    $NEW//boot/initrd-${KERNEL_VERSION}.img ${KERNEL_VERSION}
566
    if [ ! -e $NEW/boot/initrd-${KERNEL_VERSION}.img ]; then
571
    if [ ! -e $NEW/boot/initrd-${KERNEL_VERSION}.img ]; then
567
	echo "ERROR: Failed to create $NEW/boot/initrd-${KERNEL_VERSION}.img"
572
	echo "ERROR: Failed to create $NEW/boot/initrd-${KERNEL_VERSION}.img"
568
	exit_now 1
573
	exit_now 1
569
    fi
574
    fi
570
fi
575
fi
571
if [ $SMP_installed ]; then
576
if [ $SMP_installed ]; then
572
    depmod -a ${KERNEL_VERSION}smp
577
    depmod -a ${KERNEL_VERSION}smp
573
    /usr/sbin/livecd-mkinitrd --fstab=$NEW/etc/fstab \
578
    /usr/sbin/livecd-mkinitrd --fstab=$NEW/etc/fstab \
574
                    $NEW/boot/initrd-${KERNEL_VERSION}smp.img ${KERNEL_VERSION}smp
579
                    $NEW/boot/initrd-${KERNEL_VERSION}smp.img ${KERNEL_VERSION}smp
575
    if [ ! -e $NEW/boot/initrd-${KERNEL_VERSION}smp.img ]; then
580
    if [ ! -e $NEW/boot/initrd-${KERNEL_VERSION}smp.img ]; then
576
	echo "ERROR: Failed to create $NEW/boot/initrd-${KERNEL_VERSION}smp.img"
581
	echo "ERROR: Failed to create $NEW/boot/initrd-${KERNEL_VERSION}smp.img"
577
	exit_now 1
582
	exit_now 1
578
    fi
583
    fi
579
fi
584
fi
580
echo "done."; echo
585
echo "done."; echo
581
 
586
 
582
 
587
 
583
### remove LiveCD init.d scripts
588
### remove LiveCD init.d scripts
584
### -----------------------------------------------------------
589
### -----------------------------------------------------------
585
for file in $LIVECD_INIT_SCRIPTS; do
590
for file in $LIVECD_INIT_SCRIPTS; do
586
    rm -f $NEW/etc/rc.d/init.d/$file
591
    rm -f $NEW/etc/rc.d/init.d/$file
587
    for n in 0 1 2 3 4 5 6; do
592
    for n in 0 1 2 3 4 5 6; do
588
	rm -f $NEW/etc/rc.d/rc${n}.d/*$file
593
	rm -f $NEW/etc/rc.d/rc${n}.d/*$file
589
    done
594
    done
590
done
595
done
591
 
596
 
592
 
597
 
593
### restore cronjobs
598
### restore cronjobs
594
### -----------------------------------------------------------
599
### -----------------------------------------------------------
595
mv $NEW/etc/cron_backup/sysstat $NEW/etc/cron.d/ 2>/dev/null
600
mv $NEW/etc/cron_backup/sysstat $NEW/etc/cron.d/ 2>/dev/null
596
mv $NEW/etc/cron_backup/00-makewhatis.cron.weekly $NEW/etc/cron.weekly/00-makewhatis.cron 2>/dev/null
601
mv $NEW/etc/cron_backup/00-makewhatis.cron.weekly $NEW/etc/cron.weekly/00-makewhatis.cron 2>/dev/null
597
mv $NEW/etc/cron_backup/* $NEW/etc/cron.daily/
602
mv $NEW/etc/cron_backup/* $NEW/etc/cron.daily/ 2>/dev/null
598
 
603
 
599
 
604
 
600
### prepare chroot to $NEW
605
### prepare chroot to $NEW
601
### -----------------------------------------------------------
606
### -----------------------------------------------------------
602
mount --bind /dev $NEW/dev
607
mount --bind /dev $NEW/dev
603
mount --bind /sys $NEW/sys
608
mount --bind /sys $NEW/sys
604
mount -t proc proc $NEW/proc
609
mount -t proc proc $NEW/proc
605
 
610
 
606
 
611
 
607
### turn on kudzu again
612
### turn on kudzu again
608
### -----------------------------------------------------------
613
### -----------------------------------------------------------
609
chroot $NEW chkconfig kudzu on
614
chroot $NEW chkconfig kudzu on
610
 
615
 
611
 
616
 
612
### remove RPMs that can break future updates  
617
### remove RPMs that can break future updates  
613
### -----------------------------------------------------------
618
### -----------------------------------------------------------
614
if [ ! $NORPMREMOVE ]; then
619
if [ ! $NORPMREMOVE ]; then
615
    echo "Remove RPMs that may break future updates ..."
620
    echo "Remove RPMs that may break future updates ..."
616
    chroot $NEW rpm -qa 2>/dev/null > /tmp/rpmlist
621
    chroot $NEW rpm -qa 2>/dev/null > /tmp/rpmlist
617
 
622
 
618
    # Scientific Linux RPMs
623
    # Scientific Linux RPMs
619
    RPMSTOREMOVE="$RPMS_TO_REMOVE $RPMS_TO_REMOVE_SL"
624
    RPMSTOREMOVE="$RPMS_TO_REMOVE $RPMS_TO_REMOVE_SL"
620
 
625
 
621
    # PSI Scientific Linux RPMs
626
    # PSI Scientific Linux RPMs
622
    if [ -e /etc/sysconfig/cfengine ]; then
627
    if [ -e /etc/sysconfig/cfengine ]; then
623
	RPMSTOREMOVE="$RPMS_TO_REMOVE $RPMS_TO_REMOVE_PSI"
628
	RPMSTOREMOVE="$RPMS_TO_REMOVE $RPMS_TO_REMOVE_PSI"
624
    fi
629
    fi
625
 
630
 
626
    for rpm in $RPMSTOREMOVE; do
631
    for rpm in $RPMSTOREMOVE; do
627
	rpms_remove=$( cat /tmp/rpmlist | grep "^$rpm" )
632
	rpms_remove=$( cat /tmp/rpmlist | grep "^$rpm" )
628
	for rpm_remove in $rpms_remove; do	
633
	for rpm_remove in $rpms_remove; do	
629
	    chroot $NEW rpm -e --nodeps $rpm_remove >/dev/null 2>&1
634
	    chroot $NEW rpm -e --nodeps $rpm_remove >/dev/null 2>&1
630
	    [ "$?" = "0" ] && echo " removing $rpm_remove"
635
	    [ "$?" = "0" ] && echo " removing $rpm_remove"
631
	done
636
	done
632
    done
637
    done
633
    echo "done."; echo
638
    echo "done."; echo
634
fi
639
fi
635
 
640
 
636
 
641
 
637
### disable nvidia driver 
642
### disable nvidia driver 
638
### -----------------------------------------------------------
643
### -----------------------------------------------------------
639
# not in case of a PSI installation
644
# not in case of a PSI installation
640
if [ ! -e /etc/sysconfig/cfengine ]; then
645
if [ ! -e /etc/sysconfig/cfengine ]; then
641
    if [ -e $NEW/etc/X11/xorg.conf.nv_SAVED ]; then
646
    if [ -e $NEW/etc/X11/xorg.conf.nv_SAVED ]; then
642
        # copy back original xorg.conf
647
        # copy back original xorg.conf
643
	mv -f $NEW/etc/X11/xorg.conf.nv_SAVED $NEW/etc/X11/xorg.conf
648
	mv -f $NEW/etc/X11/xorg.conf.nv_SAVED $NEW/etc/X11/xorg.conf
644
        # disable nvidia libs
649
        # disable nvidia libs
645
	LIB=lib
650
	LIB=lib
646
	[ $( arch ) = "x86_64" ] && LIB=lib64
651
	[ $( arch ) = "x86_64" ] && LIB=lib64
647
	mv -f $NEW/usr/X11R6/$LIB/modules/extensions/xxx.libGLcore.a.saved_by_nvidia \
652
	mv -f $NEW/usr/X11R6/$LIB/modules/extensions/xxx.libGLcore.a.saved_by_nvidia \
648
              $NEW/usr/X11R6/$LIB/modules/extensions/libGLcore.a
653
              $NEW/usr/X11R6/$LIB/modules/extensions/libGLcore.a 2>/dev/null
649
	mv -f $NEW/usr/X11R6/$LIB/modules/extensions/xxx.libglx.a.saved_by_nvidia \
654
	mv -f $NEW/usr/X11R6/$LIB/modules/extensions/xxx.libglx.a.saved_by_nvidia \
650
              $NEW/usr/X11R6/$LIB/modules/extensions/libglx.a
655
              $NEW/usr/X11R6/$LIB/modules/extensions/libglx.a 2>/dev/null
651
	rm -f $NEW/usr/X11R6/$LIB/modules/extensions/libglx.so
656
	rm -f $NEW/usr/X11R6/$LIB/modules/extensions/libglx.so
652
	rm -f $NEW/usr/X11R6/$LIB/libGL.so*
657
	rm -f $NEW/usr/X11R6/$LIB/libGL.so*
653
	rm -f $NEW/usr/$LIB/libGLcore.so
658
	rm -f $NEW/usr/$LIB/libGLcore.so
654
    fi
659
    fi
655
fi
660
fi
656
 
661
 
657
 
662
 
658
### umount $INSTALL_PART
663
### umount $INSTALL_PART
659
### -----------------------------------------------------------
664
### -----------------------------------------------------------
660
umount $NEW/dev
665
umount $NEW/dev
661
umount $NEW/sys
666
umount $NEW/sys
662
umount $NEW/proc
667
umount $NEW/proc
663
umount $INSTALL_PART
668
umount $INSTALL_PART
664
 
669
 
665
 
670
 
666
### print summary
671
### print summary
667
### -----------------------------------------------------------
672
### -----------------------------------------------------------
668
echo                     "--------------------------------------------------------------"
673
echo                     "--------------------------------------------------------------"
669
echo                     "  LiveCD installed on partition $INSTALL_PART"
674
echo                     "  LiveCD installed on partition $INSTALL_PART"
670
[ "$SWAP_PART" ] && echo "  Partition $SWAP_PART will be used as swap partition"
675
[ "$SWAP_PART" ] && echo "  Partition $SWAP_PART will be used as swap partition"
671
echo
676
echo
672
[ ! $NOGRUB ]    && echo "  GRUB installed in Master Boot Record (MBR) of $MBR_DEV"
677
[ ! $NOGRUB ]    && echo "  GRUB installed in Master Boot Record (MBR) of $MBR_DEV"
673
[ ! $NOGRUB ]    && echo "  MBR saved as $MBR_FILENAME on $INSTALL_PART and in /tmp"
678
[ ! $NOGRUB ]    && echo "  MBR saved as $MBR_FILENAME on $INSTALL_PART and in /tmp"
674
[ ! $NOGRUB ]    && echo "  If you have to restore MBR, execute under Linux:"
679
[ ! $NOGRUB ]    && echo "  If you have to restore MBR, execute under Linux:"
675
[ ! $NOGRUB ]    && echo "  # dd if=$MBR_FILENAME of=$MBR_DEV bs=512 count=1"
680
[ ! $NOGRUB ]    && echo "  # dd if=$MBR_FILENAME of=$MBR_DEV bs=512 count=1"
676
echo 
681
echo 
677
[ $WIN_PART ]    && echo "  Entry created in grub.conf for Windows partition $WIN_PART"
682
[ $WIN_PART ]    && echo "  Entry created in grub.conf for Windows partition $WIN_PART"
678
echo                     "--------------------------------------------------------------"
683
echo                     "--------------------------------------------------------------"
679
echo                     "End of $SCRIPTNAME"
684
echo                     "End of $SCRIPTNAME"
680
echo
685
echo