Subversion Repositories livecd

Rev

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

Rev 278 Rev 280
1
#
1
#
2
# sl6-live-base.ks
2
# sl6-live-base.ks
3
#
3
#
4
# Defines the basics for all kickstarts of sl6-live
4
# Defines the basics for all kickstarts of sl6-live
5
# Kickstarts including this template can override these settings
5
# Kickstarts including this template can override these settings
6
#
6
#
7
 
7
 
8
lang en_US.UTF-8
8
lang en_US.UTF-8
9
keyboard us
9
keyboard us
10
timezone US/Eastern
10
timezone US/Eastern
11
auth --useshadow --enablemd5
11
auth --useshadow --enablemd5
12
selinux --enforcing
12
selinux --enforcing
13
firewall --enabled --service=mdns
13
firewall --enabled --service=mdns
14
repo --name=base    --baseurl=http://ftp.scientificlinux.org/linux/scientific/6rolling/$basearch/os/
14
repo --name=base      --baseurl=http://ftp.scientificlinux.org/linux/scientific/6rolling/$basearch/os/
-
 
15
repo --name=security  --baseurl=http://ftp.scientificlinux.org/linux/scientific/6rolling/$basearch/updates/security/
-
 
16
# fastbugs repo disabled per default
15
repo --name=updates --baseurl=http://ftp.scientificlinux.org/linux/scientific/6rolling/$basearch/updates/
17
repo --name=fastbugs  --baseurl=http://ftp.scientificlinux.org/linux/scientific/6rolling/$basearch/updates/fastbugs/
16
xconfig --startxonboot
18
xconfig --startxonboot
17
part / --size 4096 --fstype ext4
-
 
18
services --enabled=NetworkManager --disabled=network,sshd
19
services --enabled=NetworkManager --disabled=network,sshd
19
 
20
 
20
 
21
 
21
########################################################################
22
########################################################################
22
# Basic software packages
23
# Basic software packages
23
########################################################################
24
########################################################################
24
 
25
 
25
%packages
26
%packages
26
syslinux
27
syslinux
27
kernel
28
kernel
28
 
29
 
29
# basic software groups
30
# basic software groups
30
@base
31
@base
-
 
32
# package added to @base
-
 
33
squashfs-tools
31
@core
34
@core
32
@graphical-admin-tools
35
@graphical-admin-tools
33
@network-file-system-client
36
@network-file-system-client
34
@network-tools
37
@network-tools
-
 
38
# package added to @network-tools
-
 
39
nmap
35
@remote-desktop-clients
40
@remote-desktop-clients
-
 
41
# packages added to @remote-desktop-clients
-
 
42
rdesktop
-
 
43
tsclient
36
@x11
44
@x11
37
@ice-desktop
-
 
38
@openafs-client
45
@openafs-client
39
 
46
 
40
# other usefull packages
47
# other usefull packages
41
busybox
48
busybox
42
mailx
49
mailx
43
memtest86+
50
memtest86+
44
livecd-tools
51
livecd-tools
45
 
52
 
46
# livecd bits to set up the livecd and be able to install
53
# livecd bits to set up the livecd and be able to install
47
anaconda
54
anaconda
48
device-mapper-multipath
55
device-mapper-multipath
49
isomd5sum
56
isomd5sum
50
 
57
 
51
%end
58
%end
52
 
59
 
53
 
60
 
54
########################################################################
61
########################################################################
55
#
62
#
56
#  LiveCD post install 
63
#  LiveCD post install 
57
#
64
#
58
########################################################################
65
########################################################################
59
 
66
 
60
%post
67
%post
61
 
68
 
62
########################################################################
69
########################################################################
63
# LiveCD configuration file and LiveCD functions
70
# LiveCD configuration file and LiveCD functions
64
########################################################################
71
########################################################################
65
 
72
 
66
cat > /etc/livesys.conf << 'EOF_livesysconf'
73
cat > /etc/livesys.conf << 'EOF_livesysconf'
67
###--------------------------------------------------------------------
74
###--------------------------------------------------------------------
68
### Configuration file for LiveCD
75
### Configuration file for LiveCD
69
###--------------------------------------------------------------------
76
###--------------------------------------------------------------------
70
 
77
 
71
# default LiveCD user
78
# default LiveCD user
72
LIVECD_DEF_USER="sluser"
79
LIVECD_DEF_USER="sluser"
73
 
80
 
74
# delay in sec. before auto login
81
# delay in sec. before auto login
75
LOGIN_DELAY=15
82
LOGIN_DELAY=15
76
 
83
 
77
# Services which are off (not running) on the LiveCD
84
# Services which are off (not running) on the LiveCD
78
SERVICES_OFF="mdmonitor setroubleshoot auditd crond atd readahead_early \
85
SERVICES_OFF="mdmonitor setroubleshoot auditd crond atd readahead_early \
79
              readahead_later kdump microcode_ctl openct pcscd postfix"
86
              readahead_later kdump microcode_ctl openct pcscd postfix"
80
 
87
 
81
# Services which should be on, but are not on per default
88
# Services which should be on, but are not on per default
82
SERVICES_ON=""
89
SERVICES_ON=""
83
 
90
 
84
EOF_livesysconf
91
EOF_livesysconf
85
 
92
 
86
 
93
 
87
cat > /etc/init.d/livesys.functions << 'EOF_livesysfunctions'
94
cat > /etc/init.d/livesys.functions << 'EOF_livesysfunctions'
88
###--------------------------------------------------------------------
95
###--------------------------------------------------------------------
89
### livesys functions
96
### livesys functions
90
###--------------------------------------------------------------------
97
###--------------------------------------------------------------------
91
 
98
 
92
# egrep_o is a replacement for "egrep -o". It prints only the last matching text
99
# egrep_o is a replacement for "egrep -o". It prints only the last matching text
93
egrep_o() {
100
egrep_o() {
94
   cat | egrep "$1" | sed -r "s/.*($1).*/\\1/"
101
   cat | egrep "$1" | sed -r "s/.*($1).*/\\1/"
95
}
102
}
96
 
103
 
97
# boot parameter
104
# boot parameter
98
cmdline_parameter() {
105
cmdline_parameter() {
99
   CMDLINE=/proc/cmdline
106
   CMDLINE=/proc/cmdline
100
   cat "$CMDLINE" | egrep_o "(^|[[:space:]]+)$1(\$|=|[[:space:]]+)" | egrep_o "$1"
107
   cat "$CMDLINE" | egrep_o "(^|[[:space:]]+)$1(\$|=|[[:space:]]+)" | egrep_o "$1"
101
}
108
}
102
 
109
 
103
# boot parameter value
110
# boot parameter value
104
cmdline_value()
111
cmdline_value()
105
{
112
{
106
   CMDLINE=/proc/cmdline
113
   CMDLINE=/proc/cmdline
107
   cat "$CMDLINE" | egrep_o "(^|[[:space:]]+)$1=([^[:space:]]+)" | egrep_o "=.*" | cut -b 2- | tail -n 1
114
   cat "$CMDLINE" | egrep_o "(^|[[:space:]]+)$1=([^[:space:]]+)" | egrep_o "=.*" | cut -b 2- | tail -n 1
108
}
115
}
109
 
116
 
110
exists() {
117
exists() {
111
    which $1 >/dev/null 2>&1 || return
118
    which $1 >/dev/null 2>&1 || return
112
    $*
119
    $*
113
}
120
}
114
 
121
 
115
EOF_livesysfunctions
122
EOF_livesysfunctions
116
 
123
 
117
 
124
 
118
 
125
 
119
########################################################################
126
########################################################################
120
# Create a sub-script so the output can be captured
127
# Create a sub-script so the output can be captured
121
# Must change "$" to "\$" and "`" to "\`" to avoid shell quoting
128
# Must change "$" to "\$" and "`" to "\`" to avoid shell quoting
122
########################################################################
129
########################################################################
123
 
130
 
124
cat > /root/post-install << EOF_post
131
cat > /root/post-install << EOF_post
125
#!/bin/bash
132
#!/bin/bash
126
 
133
 
127
 
134
 
128
echo ###################################################################
135
echo ###################################################################
129
echo ## Creating the livesys init script - livesys
136
echo ## Creating the livesys init script - livesys
130
echo ###################################################################
137
echo ###################################################################
131
 
138
 
132
cat > /etc/rc.d/init.d/livesys << EOF_initscript
139
cat > /etc/rc.d/init.d/livesys << EOF_initscript
133
#!/bin/bash
140
#!/bin/bash
134
#
141
#
135
# live: Init script for live image
142
# live: Init script for live image
136
#
143
#
137
# chkconfig: 345 00 99
144
# chkconfig: 345 00 99
138
# description: Init script for live image.
145
# description: Init script for live image.
139
 
146
 
140
. /etc/init.d/functions
147
. /etc/init.d/functions
141
. /etc/livesys.conf
148
. /etc/livesys.conf
142
. /etc/init.d/livesys.functions
149
. /etc/init.d/livesys.functions
143
 
150
 
144
# exit if not running from LiveCD
151
# exit if not running from LiveCD
145
if ! strstr "\\\`cat /proc/cmdline\\\`" liveimg || [ "\\\$1" != "start" ]; then
152
if ! strstr "\\\`cat /proc/cmdline\\\`" liveimg || [ "\\\$1" != "start" ]; then
146
    exit 0
153
    exit 0
147
fi
154
fi
148
 
155
 
149
[ -e /.liveimg-configured ] && configdone=1
156
[ -e /.liveimg-configured ] && configdone=1
150
 
157
 
151
touch /.liveimg-configured
158
touch /.liveimg-configured
152
 
159
 
153
# read boot parameters out of /proc/cmdline
160
# read boot parameters out of /proc/cmdline
154
 
161
 
155
# hostname
162
# hostname
156
hostname=\\\$( cmdline_value hostname )
163
hostname=\\\$( cmdline_value hostname )
157
 
164
 
158
# afs cell
165
# afs cell
159
CELL=\\\$( cmdline_value cell )
166
CELL=\\\$( cmdline_value cell )
160
 
167
 
161
# services to turn on / off
168
# services to turn on / off
162
SERVICEON=\\\$( cmdline_value serviceon )
169
SERVICEON=\\\$( cmdline_value serviceon )
163
SERVICEOFF=\\\$( cmdline_value serviceoff )
170
SERVICEOFF=\\\$( cmdline_value serviceoff )
164
 
171
 
165
# cups server
172
# cups server
166
CUPS=\\\$( cmdline_value cups )
173
CUPS=\\\$( cmdline_value cups )
167
 
174
 
168
# set livecd user
175
# set livecd user
169
LIVECD_USER=\\\$( cmdline_value user )
176
LIVECD_USER=\\\$( cmdline_value user )
170
[ ! "\\\$LIVECD_USER" ] && LIVECD_USER=\\\$LIVECD_DEF_USER
177
[ ! "\\\$LIVECD_USER" ] && LIVECD_USER=\\\$LIVECD_DEF_USER
171
 
178
 
172
# mount live image
179
# mount live image
173
if [ -b \\\`readlink -f /dev/live\\\` ]; then
180
if [ -b \\\`readlink -f /dev/live\\\` ]; then
174
   mkdir -p /mnt/live
181
   mkdir -p /mnt/live
175
   mount -o ro /dev/live /mnt/live 2>/dev/null || mount /dev/live /mnt/live
182
   mount -o ro /dev/live /mnt/live 2>/dev/null || mount /dev/live /mnt/live
176
fi
183
fi
177
 
184
 
178
livedir="LiveOS"
185
livedir="LiveOS"
179
for arg in \\\`cat /proc/cmdline\\\` ; do
186
for arg in \\\`cat /proc/cmdline\\\` ; do
180
  if [ "\\\${arg##live_dir=}" != "\\\${arg}" ]; then
187
  if [ "\\\${arg##live_dir=}" != "\\\${arg}" ]; then
181
    livedir=\\\${arg##live_dir=}
188
    livedir=\\\${arg##live_dir=}
182
    return
189
    return
183
  fi
190
  fi
184
done
191
done
185
 
192
 
186
# enable swaps unless requested otherwise
193
# enable swaps unless requested otherwise
187
swaps=\\\`blkid -t TYPE=swap -o device\\\`
194
swaps=\\\`blkid -t TYPE=swap -o device\\\`
188
if ! strstr "\\\`cat /proc/cmdline\\\`" noswap && [ -n "\\\$swaps" ] ; then
195
if ! strstr "\\\`cat /proc/cmdline\\\`" noswap && [ -n "\\\$swaps" ] ; then
189
  for s in \\\$swaps ; do
196
  for s in \\\$swaps ; do
190
    action "Enabling swap partition \\\$s" swapon \\\$s
197
    action "Enabling swap partition \\\$s" swapon \\\$s
191
  done
198
  done
192
fi
199
fi
193
if ! strstr "\\\`cat /proc/cmdline\\\`" noswap && [ -f /mnt/live/\\\${livedir}/swap.img ] ; then
200
if ! strstr "\\\`cat /proc/cmdline\\\`" noswap && [ -f /mnt/live/\\\${livedir}/swap.img ] ; then
194
  action "Enabling swap file" swapon /mnt/live/\\\${livedir}/swap.img
201
  action "Enabling swap file" swapon /mnt/live/\\\${livedir}/swap.img
195
fi
202
fi
196
 
203
 
197
mountPersistentHome() {
204
mountPersistentHome() {
198
  # support label/uuid
205
  # support label/uuid
199
  if [ "\\\${homedev##LABEL=}" != "\\\${homedev}" -o "\\\${homedev##UUID=}" != "\\\${homedev}" ]; then
206
  if [ "\\\${homedev##LABEL=}" != "\\\${homedev}" -o "\\\${homedev##UUID=}" != "\\\${homedev}" ]; then
200
    homedev=\\\`/sbin/blkid -o device -t "\\\$homedev"\\\`
207
    homedev=\\\`/sbin/blkid -o device -t "\\\$homedev"\\\`
201
  fi
208
  fi
202
 
209
 
203
  # if we're given a file rather than a blockdev, loopback it
210
  # if we're given a file rather than a blockdev, loopback it
204
  if [ "\\\${homedev##mtd}" != "\\\${homedev}" ]; then
211
  if [ "\\\${homedev##mtd}" != "\\\${homedev}" ]; then
205
    # mtd devs don't have a block device but get magic-mounted with -t jffs2
212
    # mtd devs don't have a block device but get magic-mounted with -t jffs2
206
    mountopts="-t jffs2"
213
    mountopts="-t jffs2"
207
  elif [ ! -b "\\\$homedev" ]; then
214
  elif [ ! -b "\\\$homedev" ]; then
208
    loopdev=\\\`losetup -f\\\`
215
    loopdev=\\\`losetup -f\\\`
209
    if [ "\\\${homedev##/mnt/live}" != "\\\${homedev}" ]; then
216
    if [ "\\\${homedev##/mnt/live}" != "\\\${homedev}" ]; then
210
      action "Remounting live store r/w" mount -o remount,rw /mnt/live
217
      action "Remounting live store r/w" mount -o remount,rw /mnt/live
211
    fi
218
    fi
212
    losetup \\\$loopdev \\\$homedev
219
    losetup \\\$loopdev \\\$homedev
213
    homedev=\\\$loopdev
220
    homedev=\\\$loopdev
214
  fi
221
  fi
215
 
222
 
216
  # if it's encrypted, we need to unlock it
223
  # if it's encrypted, we need to unlock it
217
  if [ "\\\$(/sbin/blkid -s TYPE -o value \\\$homedev 2>/dev/null)" = "crypto_LUKS" ]; then
224
  if [ "\\\$(/sbin/blkid -s TYPE -o value \\\$homedev 2>/dev/null)" = "crypto_LUKS" ]; then
218
    echo
225
    echo
219
    echo "Setting up encrypted /home device"
226
    echo "Setting up encrypted /home device"
220
    plymouth ask-for-password --command="cryptsetup luksOpen \\\$homedev EncHome"
227
    plymouth ask-for-password --command="cryptsetup luksOpen \\\$homedev EncHome"
221
    homedev=/dev/mapper/EncHome
228
    homedev=/dev/mapper/EncHome
222
  fi
229
  fi
223
 
230
 
224
  # and finally do the mount
231
  # and finally do the mount
225
  mount \\\$mountopts \\\$homedev /home
232
  mount \\\$mountopts \\\$homedev /home
226
  # if we have /home under what's passed for persistent home, then
233
  # if we have /home under what's passed for persistent home, then
227
  # we should make that the real /home.  useful for mtd device on olpc
234
  # we should make that the real /home.  useful for mtd device on olpc
228
  if [ -d /home/home ]; then mount --bind /home/home /home ; fi
235
  if [ -d /home/home ]; then mount --bind /home/home /home ; fi
229
  [ -x /sbin/restorecon ] && /sbin/restorecon /home
236
  [ -x /sbin/restorecon ] && /sbin/restorecon /home
230
  if [ -d /home/\\\$LIVECD_USER ]; then USERADDARGS="-M" ; fi
237
  if [ -d /home/\\\$LIVECD_USER ]; then USERADDARGS="-M" ; fi
231
}
238
}
232
 
239
 
233
findPersistentHome() {
240
findPersistentHome() {
234
  for arg in \\\`cat /proc/cmdline\\\` ; do
241
  for arg in \\\`cat /proc/cmdline\\\` ; do
235
    if [ "\\\${arg##persistenthome=}" != "\\\${arg}" ]; then
242
    if [ "\\\${arg##persistenthome=}" != "\\\${arg}" ]; then
236
      homedev=\\\${arg##persistenthome=}
243
      homedev=\\\${arg##persistenthome=}
237
      return
244
      return
238
    fi
245
    fi
239
  done
246
  done
240
}
247
}
241
 
248
 
242
if strstr "\\\`cat /proc/cmdline\\\`" persistenthome= ; then
249
if strstr "\\\`cat /proc/cmdline\\\`" persistenthome= ; then
243
  findPersistentHome
250
  findPersistentHome
244
elif [ -e /mnt/live/\\\${livedir}/home.img ]; then
251
elif [ -e /mnt/live/\\\${livedir}/home.img ]; then
245
  homedev=/mnt/live/\\\${livedir}/home.img
252
  homedev=/mnt/live/\\\${livedir}/home.img
246
fi
253
fi
247
 
254
 
248
# if we have a persistent /home, then we want to go ahead and mount it
255
# if we have a persistent /home, then we want to go ahead and mount it
249
if ! strstr "\\\`cat /proc/cmdline\\\`" nopersistenthome && [ -n "\\\$homedev" ] ; then
256
if ! strstr "\\\`cat /proc/cmdline\\\`" nopersistenthome && [ -n "\\\$homedev" ] ; then
250
  action "Mounting persistent /home" mountPersistentHome
257
  action "Mounting persistent /home" mountPersistentHome
251
fi
258
fi
252
 
259
 
253
# make it so that we don't do writing to the overlay for things which
260
# make it so that we don't do writing to the overlay for things which
254
# are just tmpdirs/caches
261
# are just tmpdirs/caches
255
mount -t tmpfs -o mode=0755 varcacheyum /var/cache/yum
262
mount -t tmpfs -o mode=0755 varcacheyum /var/cache/yum
256
mount -t tmpfs tmp /tmp
263
mount -t tmpfs tmp /tmp
257
mount -t tmpfs vartmp /var/tmp
264
mount -t tmpfs vartmp /var/tmp
258
[ -x /sbin/restorecon ] && /sbin/restorecon /var/cache/yum /tmp /var/tmp >/dev/null 2>&1
265
[ -x /sbin/restorecon ] && /sbin/restorecon /var/cache/yum /tmp /var/tmp >/dev/null 2>&1
259
 
266
 
260
# set afs cell if given by boot parameter
267
# set afs cell if given by boot parameter
261
if [ "\\\$CELL" ]; then
268
if [ "\\\$CELL" ]; then
262
    [ -e /usr/vice/etc/ThisCell ] && echo \\\$CELL > /usr/vice/etc/ThisCell
269
    [ -e /usr/vice/etc/ThisCell ] && echo \\\$CELL > /usr/vice/etc/ThisCell
263
fi
270
fi
264
 
271
 
265
# set cups server
272
# set cups server
266
if [ "\\\$CUPS" ]; then
273
if [ "\\\$CUPS" ]; then
267
    if [ -e /etc/cups/client.conf ]; then
274
    if [ -e /etc/cups/client.conf ]; then
268
        sed -i "s|.*ServerName .*|ServerName  \\\$CUPS|" /etc/cups/client.conf
275
        sed -i "s|.*ServerName .*|ServerName  \\\$CUPS|" /etc/cups/client.conf
269
        grep -q ServerName /etc/cups/client.conf || echo "ServerName  \\\$CUPS" >> /etc/cups/client.conf 
276
        grep -q ServerName /etc/cups/client.conf || echo "ServerName  \\\$CUPS" >> /etc/cups/client.conf 
270
    fi
277
    fi
271
fi
278
fi
272
 
279
 
273
# set the LiveCD hostname
280
# set the LiveCD hostname
274
[ ! "\\\$hostname" ] && hostname="livecd.localdomain"
281
[ ! "\\\$hostname" ] && hostname="livecd.localdomain"
275
sed -i -e "s|HOSTNAME=.*|HOSTNAME=\\\$hostname|g" /etc/sysconfig/network
282
sed -i -e "s|HOSTNAME=.*|HOSTNAME=\\\$hostname|g" /etc/sysconfig/network
276
/bin/hostname \\\$hostname
283
/bin/hostname \\\$hostname
277
 
284
 
278
 
285
 
279
###########################################################
286
###########################################################
280
# EXIT here if LiveCD has already been configured         #
287
# EXIT here if LiveCD has already been configured         #
281
# happens if you start the LiveCD with persistent changes #
288
# happens if you start the LiveCD with persistent changes #
282
###########################################################
289
###########################################################
283
[ "\\\$configdone" ] && exit 0
290
[ "\\\$configdone" ] && exit 0
284
 
291
 
285
# turn off services, which are not useful on LiveCD, to preserve resources
292
# turn off services, which are not useful on LiveCD, to preserve resources
286
if [ "\\\$SERVICES_OFF" ]; then
293
if [ "\\\$SERVICES_OFF" ]; then
287
    for service in \\\$SERVICES_OFF ; do
294
    for service in \\\$SERVICES_OFF ; do
288
        [ -f /etc/init.d/\\\$service ] && chkconfig \\\$service off 2>/dev/null
295
        [ -f /etc/init.d/\\\$service ] && chkconfig \\\$service off 2>/dev/null
289
    done
296
    done
290
fi
297
fi
291
 
298
 
292
# turn on services, which are off by default
299
# turn on services, which are off by default
293
if [ "\\\$SERVICES_ON" ]; then
300
if [ "\\\$SERVICES_ON" ]; then
294
    for service in \\\$SERVICES_ON ; do
301
    for service in \\\$SERVICES_ON ; do
295
        [ -f /etc/init.d/\\\$service ] && chkconfig \\\$service ofn  2>/dev/null
302
        [ -f /etc/init.d/\\\$service ] && chkconfig \\\$service ofn  2>/dev/null
296
    done
303
    done
297
fi
304
fi
298
 
305
 
299
# services off, from command line parameter (turn it off once again)
306
# services off, from command line parameter (turn it off once again)
300
if [ "\\\$SERVICEOFF" ]; then
307
if [ "\\\$SERVICEOFF" ]; then
301
    for service in \\\$( echo "\\\$SERVICEOFF" | tr ':' ' ' ); do
308
    for service in \\\$( echo "\\\$SERVICEOFF" | tr ':' ' ' ); do
302
        [ -f /etc/init.d/\\\$service ] && chkconfig \\\$service off 2>/dev/null
309
        [ -f /etc/init.d/\\\$service ] && chkconfig \\\$service off 2>/dev/null
303
    done
310
    done
304
fi
311
fi
305
 
312
 
306
# services on, from command line parameter (turn it ofn once again)
313
# services on, from command line parameter (turn it ofn once again)
307
if [ "\\\$SERVICEON" ]; then
314
if [ "\\\$SERVICEON" ]; then
308
    for service in \\\$( echo "\\\$SERVICEON" | tr ':' ' ' ); do
315
    for service in \\\$( echo "\\\$SERVICEON" | tr ':' ' ' ); do
309
        [ -f /etc/init.d/\\\$service ] && chkconfig \\\$service on  2>/dev/null
316
        [ -f /etc/init.d/\\\$service ] && chkconfig \\\$service on  2>/dev/null
310
    done
317
    done
311
fi
318
fi
312
 
319
 
313
## fix various bugs and issues
320
## fix various bugs and issues
314
# unmute sound card
321
# unmute sound card
315
exists alsaunmute 0 2> /dev/null
322
exists alsaunmute 0 2> /dev/null
316
 
323
 
317
# turn off firstboot for livecd boots
324
# turn off firstboot for livecd boots
318
echo "RUN_FIRSTBOOT=NO" > /etc/sysconfig/firstboot
325
echo "RUN_FIRSTBOOT=NO" > /etc/sysconfig/firstboot
319
 
326
 
320
# start afs with option -memcache (is this correct?)
327
# start afs with option -memcache (is this correct?)
321
[ -e /etc/sysconfig/afs ] && sed -i "s|^OPTIONS=.*|OPTIONS=\"-memcache\"|" /etc/sysconfig/afs
328
[ -e /etc/sysconfig/afs ] && sed -i "s|^OPTIONS=.*|OPTIONS=\"-memcache\"|" /etc/sysconfig/afs
322
 
329
 
323
# Stopgap fix for RH #217966; should be fixed in HAL instead
330
# Stopgap fix for RH #217966; should be fixed in HAL instead
324
touch /media/.hal-mtab
331
touch /media/.hal-mtab
325
 
332
 
326
## create the LiveCD default user
333
## create the LiveCD default user
327
# add default user with no password
334
# add default user with no password
328
/usr/sbin/useradd -c "LiveCD default user" \\\$LIVECD_USER
335
/usr/sbin/useradd -c "LiveCD default user" \\\$LIVECD_USER
329
/usr/bin/passwd -d \\\$LIVECD_USER > /dev/null
336
/usr/bin/passwd -d \\\$LIVECD_USER > /dev/null
330
# give default user sudo privileges
337
# give default user sudo privileges
331
echo "\\\$LIVECD_USER     ALL=(ALL)     NOPASSWD: ALL" >> /etc/sudoers
338
echo "\\\$LIVECD_USER     ALL=(ALL)     NOPASSWD: ALL" >> /etc/sudoers
332
 
339
 
333
## configure default user's desktop
340
## configure default user's desktop
334
# set up timed auto-login at 10 seconds
341
# set up timed auto-login at 10 seconds
335
cat >> /etc/gdm/custom.conf << FOE
342
cat >> /etc/gdm/custom.conf << FOE
336
[daemon]
343
[daemon]
337
TimedLoginEnable=true
344
TimedLoginEnable=true
338
TimedLogin=LIVECD_USER
345
TimedLogin=LIVECD_USER
339
TimedLoginDelay=$LOGIN_DELAY
346
TimedLoginDelay=$LOGIN_DELAY
340
FOE
347
FOE
341
sed -i "s|LIVECD_USER|\\\$LIVECD_USER|" /etc/gdm/custom.conf
348
sed -i "s|LIVECD_USER|\\\$LIVECD_USER|" /etc/gdm/custom.conf
342
 
349
 
343
# add keyboard and display configuration utilities to the desktop
350
# add keyboard and display configuration utilities to the desktop
344
mkdir -p /home/\\\$LIVECD_USER/Desktop >/dev/null
351
mkdir -p /home/\\\$LIVECD_USER/Desktop >/dev/null
345
cp /usr/share/applications/gnome-keyboard.desktop           /home/\\\$LIVECD_USER/Desktop/
352
cp /usr/share/applications/gnome-keyboard.desktop           /home/\\\$LIVECD_USER/Desktop/
346
cp /usr/share/applications/gnome-display-properties.desktop /home/\\\$LIVECD_USER/Desktop/
353
cp /usr/share/applications/gnome-display-properties.desktop /home/\\\$LIVECD_USER/Desktop/
347
 
354
 
348
# disable screensaver locking
355
# disable screensaver locking
349
gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool   /apps/gnome-screensaver/lock_enabled "false" >/dev/null
356
gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool   /apps/gnome-screensaver/lock_enabled "false" >/dev/null
350
 
357
 
351
# don't do packagekit checking by default
358
# don't do packagekit checking by default
352
gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t int /apps/gnome-packagekit/update-icon/frequency_get_updates "0" >/dev/null
359
gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t int /apps/gnome-packagekit/update-icon/frequency_get_updates "0" >/dev/null
353
gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t string /apps/gnome-packagekit/update-icon/frequency_get_updates never >/dev/null
360
gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t string /apps/gnome-packagekit/update-icon/frequency_get_updates never >/dev/null
354
gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t string /apps/gnome-packagekit/update-icon/frequency_get_upgrades never >/dev/null
361
gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t string /apps/gnome-packagekit/update-icon/frequency_get_upgrades never >/dev/null
355
gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t string /apps/gnome-packagekit/update-icon/frequency_refresh_cache never >/dev/null
362
gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t string /apps/gnome-packagekit/update-icon/frequency_refresh_cache never >/dev/null
356
gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /apps/gnome-packagekit/update-icon/notify_available false >/dev/null
363
gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /apps/gnome-packagekit/update-icon/notify_available false >/dev/null
357
gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /apps/gnome-packagekit/update-icon/notify_distro_upgrades false >/dev/null
364
gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /apps/gnome-packagekit/update-icon/notify_distro_upgrades false >/dev/null
358
gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /apps/gnome-packagekit/enable_check_firmware false >/dev/null
365
gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /apps/gnome-packagekit/enable_check_firmware false >/dev/null
359
gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /apps/gnome-packagekit/enable_check_hardware false >/dev/null
366
gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /apps/gnome-packagekit/enable_check_hardware false >/dev/null
360
gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /apps/gnome-packagekit/enable_codec_helper false >/dev/null
367
gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /apps/gnome-packagekit/enable_codec_helper false >/dev/null
361
gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /apps/gnome-packagekit/enable_font_helper false >/dev/null
368
gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /apps/gnome-packagekit/enable_font_helper false >/dev/null
362
gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /apps/gnome-packagekit/enable_mime_type_helper false >/dev/null
369
gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /apps/gnome-packagekit/enable_mime_type_helper false >/dev/null
363
 
370
 
364
# start system-config-firewall with sudo
371
# start system-config-firewall with sudo
365
sed -i "s|^Exec=.*|Exec=sudo /usr/bin/system-config-firewall|" /usr/share/applications/system-config-firewall.desktop
372
sed -i "s|^Exec=.*|Exec=sudo /usr/bin/system-config-firewall|" /usr/share/applications/system-config-firewall.desktop
366
sed -i "s|^Terminal=.*|Terminal=true|"                         /usr/share/applications/system-config-firewall.desktop
373
sed -i "s|^Terminal=.*|Terminal=true|"                         /usr/share/applications/system-config-firewall.desktop
367
 
374
 
368
 
375
 
369
### detecting disk partitions and logical volumes (disabled by default)
376
### detecting disk partitions and logical volumes (disabled by default)
370
### use boot parameter automount to enable it
377
### use boot parameter automount to enable it
371
 
378
 
372
CreateDesktopIconHD()
379
CreateDesktopIconHD()
373
{
380
{
374
cat > /home/\\\$LIVECD_USER/Desktop/Local\ hard\ drives.desktop << EOF_HDicon
381
cat > /home/\\\$LIVECD_USER/Desktop/Local\ hard\ drives.desktop << EOF_HDicon
375
[Desktop Entry]
382
[Desktop Entry]
376
Encoding=UTF-8
383
Encoding=UTF-8
377
Version=1.0
384
Version=1.0
378
Type=Link
385
Type=Link
379
Name=Local hard drives
386
Name=Local hard drives
380
Name[en_US]=Local hard drives
387
Name[en_US]=Local hard drives
381
Name[fr_CA]=Disques durs locaux
388
Name[fr_CA]=Disques durs locaux
382
URL=/mnt/disc
389
URL=/mnt/disc
383
Icon=/usr/share/icons/gnome/32x32/devices/gnome-dev-harddisk.png
390
Icon=/usr/share/icons/gnome/32x32/devices/gnome-dev-harddisk.png
384
EOF_HDicon
391
EOF_HDicon
385
 
392
 
386
chmod 755 /home/\\\$LIVECD_USER/Desktop/Local\ hard\ drives.desktop
393
chmod 755 /home/\\\$LIVECD_USER/Desktop/Local\ hard\ drives.desktop
387
}
394
}
388
 
395
 
389
CreateDesktopIconLVM()
396
CreateDesktopIconLVM()
390
{
397
{
391
mkdir -p /home/\\\$LIVECD_USER/Desktop >/dev/null
398
mkdir -p /home/\\\$LIVECD_USER/Desktop >/dev/null
392
 
399
 
393
cat > /home/\\\$LIVECD_USER/Desktop/Local\ logical\ volumes.desktop << EOF_LVMicon
400
cat > /home/\\\$LIVECD_USER/Desktop/Local\ logical\ volumes.desktop << EOF_LVMicon
394
[Desktop Entry]
401
[Desktop Entry]
395
Encoding=UTF-8
402
Encoding=UTF-8
396
Version=1.0
403
Version=1.0
397
Type=Link
404
Type=Link
398
Name=Local logical volumes
405
Name=Local logical volumes
399
Name[en_US]=Local logical volumes
406
Name[en_US]=Local logical volumes
400
Name[fr_CA]=Volumes logiques locaux
407
Name[fr_CA]=Volumes logiques locaux
401
URL=/mnt/lvm
408
URL=/mnt/lvm
402
Icon=/usr/share/icons/gnome/32x32/devices/gnome-dev-harddisk.png
409
Icon=/usr/share/icons/gnome/32x32/devices/gnome-dev-harddisk.png
403
EOF_LVMicon
410
EOF_LVMicon
404
 
411
 
405
chmod 755 /home/\\\$LIVECD_USER/Desktop/Local\ logical\ volumes.desktop
412
chmod 755 /home/\\\$LIVECD_USER/Desktop/Local\ logical\ volumes.desktop
406
}
413
}
407
 
414
 
408
# mount disk partitions if 'automount' is given as a boot option
415
# mount disk partitions if 'automount' is given as a boot option
409
if [ "\\\$( cmdline_parameter automount )" ]; then
416
if [ "\\\$( cmdline_parameter automount )" ]; then
410
	MOUNTOPTION="rw"
417
	MOUNTOPTION="rw"
411
	HARD_DISKS=\\\`egrep "[sh]d.\\\$" /proc/partitions | tr -s ' ' | sed 's/^  *//' | cut -d' ' -f4\\\`
418
	HARD_DISKS=\\\`egrep "[sh]d.\\\$" /proc/partitions | tr -s ' ' | sed 's/^  *//' | cut -d' ' -f4\\\`
412
 
419
 
413
	echo "Mounting hard disk partitions... "
420
	echo "Mounting hard disk partitions... "
414
	for DISK in \\\$HARD_DISKS; do
421
	for DISK in \\\$HARD_DISKS; do
415
	    # Get the device and system info from fdisk (but only for fat and linux partitions).
422
	    # Get the device and system info from fdisk (but only for fat and linux partitions).
416
	    FDISK_INFO=\\\`fdisk -l /dev/\\\$DISK | tr [A-Z] [a-z] | egrep "fat|linux" | egrep -v "swap|extended|lvm" | sed 's/*//' | tr -s ' ' | tr ' ' ':' | cut -d':' -f1,6-\\\`
423
	    FDISK_INFO=\\\`fdisk -l /dev/\\\$DISK | tr [A-Z] [a-z] | egrep "fat|linux" | egrep -v "swap|extended|lvm" | sed 's/*//' | tr -s ' ' | tr ' ' ':' | cut -d':' -f1,6-\\\`
417
	    for FDISK_ENTRY in \\\$FDISK_INFO; do
424
	    for FDISK_ENTRY in \\\$FDISK_INFO; do
418
		PARTITION=\\\`echo \\\$FDISK_ENTRY | cut -d':' -f1\\\`
425
		PARTITION=\\\`echo \\\$FDISK_ENTRY | cut -d':' -f1\\\`
419
		MOUNTPOINT="/mnt/disc/\\\${PARTITION##/dev/}"
426
		MOUNTPOINT="/mnt/disc/\\\${PARTITION##/dev/}"
420
		mkdir -p \\\$MOUNTPOINT
427
		mkdir -p \\\$MOUNTPOINT
421
		MOUNTED=FALSE
428
		MOUNTED=FALSE
422
 
429
 
423
		# get the partition type
430
		# get the partition type
424
		case \\\`echo \\\$FDISK_ENTRY | cut -d':' -f2-\\\` in
431
		case \\\`echo \\\$FDISK_ENTRY | cut -d':' -f2-\\\` in
425
		*fat*) 
432
		*fat*) 
426
		    FSTYPES="vfat"
433
		    FSTYPES="vfat"
427
		    EXTRAOPTIONS=",uid=500";;
434
		    EXTRAOPTIONS=",uid=500";;
428
		*)
435
		*)
429
		    FSTYPES="ext4 ext3 ext2"
436
		    FSTYPES="ext4 ext3 ext2"
430
		    EXTRAOPTIONS="";;
437
		    EXTRAOPTIONS="";;
431
		esac
438
		esac
432
 
439
 
433
		# try to mount the partition
440
		# try to mount the partition
434
		for FSTYPE in \\\$FSTYPES; do
441
		for FSTYPE in \\\$FSTYPES; do
435
		    if mount -o "\\\${MOUNTOPTION}\\\${EXTRAOPTIONS}" -t \\\$FSTYPE \\\$PARTITION \\\$MOUNTPOINT &>/dev/null; then
442
		    if mount -o "\\\${MOUNTOPTION}\\\${EXTRAOPTIONS}" -t \\\$FSTYPE \\\$PARTITION \\\$MOUNTPOINT &>/dev/null; then
436
			echo "\\\$PARTITION \\\$MOUNTPOINT \\\$FSTYPE noauto,\\\${MOUNTOPTION}\\\${EXTRAOPTIONS} 0 0" >> /etc/fstab
443
			echo "\\\$PARTITION \\\$MOUNTPOINT \\\$FSTYPE noauto,\\\${MOUNTOPTION}\\\${EXTRAOPTIONS} 0 0" >> /etc/fstab
437
			echo -n "\\\$PARTITION "
444
			echo -n "\\\$PARTITION "
438
			MOUNTED=TRUE
445
			MOUNTED=TRUE
439
			CreateDesktopIconHD
446
			CreateDesktopIconHD
440
		    fi
447
		    fi
441
		done
448
		done
442
		[ \\\$MOUNTED = "FALSE" ] && rmdir \\\$MOUNTPOINT
449
		[ \\\$MOUNTED = "FALSE" ] && rmdir \\\$MOUNTPOINT
443
	    done
450
	    done
444
	done
451
	done
445
	echo
452
	echo
446
fi
453
fi
447
 
454
 
448
# mount logical volumes if 'automount' is given as a boot option
455
# mount logical volumes if 'automount' is given as a boot option
449
if [ "\\\$( cmdline_parameter automount )" ]; then
456
if [ "\\\$( cmdline_parameter automount )" ]; then
450
        MOUNTOPTION="rw"
457
        MOUNTOPTION="rw"
451
	FSTYPES="ext4 ext3 ext2"
458
	FSTYPES="ext4 ext3 ext2"
452
	echo "Scanning for logical volumes..."
459
	echo "Scanning for logical volumes..."
453
	if ! lvm vgscan 2>&1 | grep "No volume groups"; then
460
	if ! lvm vgscan 2>&1 | grep "No volume groups"; then
454
	    echo "Activating logical volumes ..."
461
	    echo "Activating logical volumes ..."
455
	    modprobe dm_mod >/dev/null
462
	    modprobe dm_mod >/dev/null
456
	    lvm vgchange -ay
463
	    lvm vgchange -ay
457
	    LOGICAL_VOLUMES=\\\`lvm lvdisplay -c | sed "s/^  *//" | cut -d: -f1\\\`
464
	    LOGICAL_VOLUMES=\\\`lvm lvdisplay -c | sed "s/^  *//" | cut -d: -f1\\\`
458
	    if [ ! -z "\\\$LOGICAL_VOLUMES" ]; then
465
	    if [ ! -z "\\\$LOGICAL_VOLUMES" ]; then
459
		echo "Making device nodes ..."
466
		echo "Making device nodes ..."
460
		lvm vgmknodes
467
		lvm vgmknodes
461
		echo -n "Mounting logical volumes ... "
468
		echo -n "Mounting logical volumes ... "
462
		for VOLUME_NAME in \\\$LOGICAL_VOLUMES; do
469
		for VOLUME_NAME in \\\$LOGICAL_VOLUMES; do
463
		    VG_NAME=\\\`echo \\\$VOLUME_NAME | cut -d/ -f3\\\`
470
		    VG_NAME=\\\`echo \\\$VOLUME_NAME | cut -d/ -f3\\\`
464
		    LV_NAME=\\\`echo \\\$VOLUME_NAME | cut -d/ -f4\\\`
471
		    LV_NAME=\\\`echo \\\$VOLUME_NAME | cut -d/ -f4\\\`
465
		    MOUNTPOINT="/mnt/lvm/\\\${VG_NAME}-\\\${LV_NAME}"
472
		    MOUNTPOINT="/mnt/lvm/\\\${VG_NAME}-\\\${LV_NAME}"
466
		    mkdir -p \\\$MOUNTPOINT
473
		    mkdir -p \\\$MOUNTPOINT
467
 
474
 
468
		    MOUNTED=FALSE
475
		    MOUNTED=FALSE
469
		    for FSTYPE in \\\$FSTYPES; do
476
		    for FSTYPE in \\\$FSTYPES; do
470
			if mount -o \\\$MOUNTOPTION -t \\\$FSTYPE \\\$VOLUME_NAME \\\$MOUNTPOINT &>/dev/null; then
477
			if mount -o \\\$MOUNTOPTION -t \\\$FSTYPE \\\$VOLUME_NAME \\\$MOUNTPOINT &>/dev/null; then
471
			    echo "\\\$VOLUME_NAME \\\$MOUNTPOINT \\\$FSTYPE defaults,\\\${MOUNTOPTION} 0 0" >> /etc/fstab
478
			    echo "\\\$VOLUME_NAME \\\$MOUNTPOINT \\\$FSTYPE defaults,\\\${MOUNTOPTION} 0 0" >> /etc/fstab
472
			    echo -n "\\\$VOLUME_NAME "
479
			    echo -n "\\\$VOLUME_NAME "
473
			    MOUNTED=TRUE
480
			    MOUNTED=TRUE
474
			    CreateDesktopIconLVM
481
			    CreateDesktopIconLVM
475
			    break
482
			    break
476
			fi
483
			fi
477
		    done
484
		    done
478
		    [ \\\$MOUNTED = FALSE ] && rmdir \\\$MOUNTPOINT
485
		    [ \\\$MOUNTED = FALSE ] && rmdir \\\$MOUNTPOINT
479
		done
486
		done
480
		echo
487
		echo
481
 
488
 
482
	    else
489
	    else
483
		echo "No logical volumes found"
490
		echo "No logical volumes found"
484
	    fi
491
	    fi
485
	fi
492
	fi
486
fi
493
fi
487
 
494
 
488
# give back ownership to the default user
495
# give back ownership to the default user
489
chown -R \\\$LIVECD_USER:\\\$LIVECD_USER /home/\\\$LIVECD_USER
496
chown -R \\\$LIVECD_USER:\\\$LIVECD_USER /home/\\\$LIVECD_USER
490
 
497
 
491
EOF_initscript
498
EOF_initscript
492
echo ###################################################################
499
echo ###################################################################
493
echo ## End of livesys script
500
echo ## End of livesys script
494
echo ###################################################################
501
echo ###################################################################
495
 
502
 
496
 
503
 
497
 
504
 
498
echo ###################################################################
505
echo ###################################################################
499
echo ## Creating the livesys init script - livesys-late
506
echo ## Creating the livesys init script - livesys-late
500
echo ###################################################################
507
echo ###################################################################
501
 
508
 
502
cat > /etc/rc.d/init.d/livesys-late << EOF_lateinitscript
509
cat > /etc/rc.d/init.d/livesys-late << EOF_lateinitscript
503
#!/bin/bash
510
#!/bin/bash
504
#
511
#
505
# live: Late init script for live image
512
# live: Late init script for live image
506
#
513
#
507
# chkconfig: 345 99 01
514
# chkconfig: 345 99 01
508
# description: Late init script for live image.
515
# description: Late init script for live image.
509
 
516
 
510
. /etc/init.d/functions
517
. /etc/init.d/functions
511
. /etc/livesys.conf
518
. /etc/livesys.conf
512
. /etc/init.d/livesys.functions
519
. /etc/init.d/livesys.functions
513
 
520
 
514
# exit if not running from LiveCD
521
# exit if not running from LiveCD
515
if ! strstr "\\\`cat /proc/cmdline\\\`" liveimg || [ "\\\$1" != "start" ]; then
522
if ! strstr "\\\`cat /proc/cmdline\\\`" liveimg || [ "\\\$1" != "start" ]; then
516
    exit 0
523
    exit 0
517
fi
524
fi
518
 
525
 
519
touch /.liveimg-late-configured
526
touch /.liveimg-late-configured
520
 
527
 
521
# read boot parameters out of /proc/cmdline
528
# read boot parameters out of /proc/cmdline
522
ks=\\\$( cmdline_value ks )
529
ks=\\\$( cmdline_value ks )
523
xdriver=\\\$( cmdline_value xdriver )
530
xdriver=\\\$( cmdline_value xdriver )
524
kb=\\\$( cmdline_value kb )
531
kb=\\\$( cmdline_value kb )
525
 
532
 
526
# if liveinst or textinst is given, start anaconda
533
# if liveinst or textinst is given, start anaconda
527
if [ "\\\$( cmdline_parameter liveinst )" ]; then
534
if [ "\\\$( cmdline_parameter liveinst )" ]; then
528
   plymouth --quit
535
   plymouth --quit
529
   /usr/sbin/liveinst \\\$ks
536
   /usr/sbin/liveinst \\\$ks
530
fi
537
fi
531
if [ "\\\$( cmdline_parameter textinst )" ] ; then
538
if [ "\\\$( cmdline_parameter textinst )" ] ; then
532
   plymouth --quit
539
   plymouth --quit
533
   /usr/sbin/liveinst --text \\\$ks
540
   /usr/sbin/liveinst --text \\\$ks
534
fi
541
fi
535
 
542
 
536
# configure X, allowing user to override xdriver
543
# configure X, allowing user to override xdriver
537
if [ "\\\$xdriver" ]; then
544
if [ "\\\$xdriver" ]; then
538
    exists system-config-display --noui --reconfig --set-depth=24 --set-driver=\\\$xdriver
545
    exists system-config-display --noui --reconfig --set-depth=24 --set-driver=\\\$xdriver
539
fi
546
fi
540
 
547
 
541
# configure keyboard
548
# configure keyboard
542
if [ "\\\$kb" ]; then
549
if [ "\\\$kb" ]; then
543
    exists system-config-keyboard --noui \\\$kb 
550
    exists system-config-keyboard --noui \\\$kb 
544
fi
551
fi
545
 
552
 
546
EOF_lateinitscript
553
EOF_lateinitscript
547
echo ###################################################################
554
echo ###################################################################
548
echo ## End of livesys-late script
555
echo ## End of livesys-late script
549
echo ###################################################################
556
echo ###################################################################
550
 
557
 
551
 
558
 
552
 
559
 
553
echo ###################################################################
560
echo ###################################################################
554
echo ## Configure the LiveCD
561
echo ## Configure the LiveCD
555
echo ###################################################################
562
echo ###################################################################
556
 
563
 
557
# workaround avahi segfault (#279301)
564
# workaround avahi segfault (#279301)
558
touch /etc/resolv.conf
565
touch /etc/resolv.conf
559
/sbin/restorecon /etc/resolv.conf
566
/sbin/restorecon /etc/resolv.conf
560
 
567
 
561
chmod 755 /etc/rc.d/init.d/livesys
568
chmod 755 /etc/rc.d/init.d/livesys
562
/sbin/restorecon /etc/rc.d/init.d/livesys
569
/sbin/restorecon /etc/rc.d/init.d/livesys
563
/sbin/chkconfig --add livesys
570
/sbin/chkconfig --add livesys
564
 
571
 
565
chmod 755 /etc/rc.d/init.d/livesys-late
572
chmod 755 /etc/rc.d/init.d/livesys-late
566
/sbin/restorecon /etc/rc.d/init.d/livesys-late
573
/sbin/restorecon /etc/rc.d/init.d/livesys-late
567
/sbin/chkconfig --add livesys-late
574
/sbin/chkconfig --add livesys-late
568
 
575
 
569
# go ahead and pre-make the man -k cache (#455968)
576
# go ahead and pre-make the man -k cache (#455968)
570
/usr/sbin/makewhatis -w
577
/usr/sbin/makewhatis -w
571
 
578
 
-
 
579
# create locate db
-
 
580
/etc/cron.daily/mlocate.cron 2>/dev/null
-
 
581
 
-
 
582
# run prelinking
-
 
583
/etc/cron.daily/prelink 2>/dev/null
-
 
584
 
572
# save a little bit of space at least...
585
# save a little bit of space at least...
573
rm -f /var/lib/rpm/__db*
586
rm -f /var/lib/rpm/__db*
574
rm -f /boot/initrd*
587
rm -f /boot/initrd*
575
rm -f /boot/initramfs*
588
rm -f /boot/initramfs*
576
# make sure there aren't core files lying around
589
# make sure there aren't core files lying around
577
rm -f /core*
590
rm -f /core*
578
 
591
 
579
# convince readahead not to collect
592
# convince readahead not to collect
580
rm -f /.readahead_collect
593
rm -f /.readahead_collect
581
touch /var/lib/readahead/early.sorted
594
touch /var/lib/readahead/early.sorted
582
 
595
 
583
# workaround clock syncing on shutdown that we don't want (#297421)
596
# workaround clock syncing on shutdown that we don't want (#297421)
584
sed -i -e 's/hwclock/no-such-hwclock/g' /etc/rc.d/init.d/halt
597
sed -i -e 's/hwclock/no-such-hwclock/g' /etc/rc.d/init.d/halt
585
 
598
 
586
# import RPM GPG keys
599
# import RPM GPG keys
587
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta
600
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta
588
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
601
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
589
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-sl6
602
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-sl6
590
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-dawson
603
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-dawson
591
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-sl
604
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-sl
592
 
605
 
593
# evolution is in the gnome launch panel (workaround to start thunderbird instead)
606
# evolution is in the gnome launch panel (bad workaround to start thunderbird instead)
594
[ ! -e /usr/bin/evolution ] && ln -s /usr/bin/thunderbird /usr/bin/evolution
607
[ ! -e /usr/bin/evolution ] && ln -s /usr/bin/thunderbird /usr/bin/evolution
595
 
608
 
596
EOF_post
609
EOF_post
597
 
610
 
598
# run post-install script
611
# run post-install script
599
/bin/bash -x /root/post-install 2>&1 | tee /root/post-install.log
612
/bin/bash -x /root/post-install 2>&1 | tee /root/post-install.log
600
 
613
 
601
%end
614
%end
602
########################################################################
615
########################################################################
603
# End of configure LiveCD in chroot
616
# End of configure LiveCD in chroot
604
########################################################################
617
########################################################################
605
 
618
 
606
 
619
 
607
 
620
 
608
%post --nochroot
621
%post --nochroot
609
########################################################################
622
########################################################################
610
# Post install in no chroot
623
# Post install in no chroot
611
# Must change "$" to "\$" and "`" to "\`" to avoid shell quoting
624
# Must change "$" to "\$" and "`" to "\`" to avoid shell quoting
612
########################################################################
625
########################################################################
613
cat > /root/postnochroot-install << EOF_postnochroot
626
cat > /root/postnochroot-install << EOF_postnochroot
614
#!/bin/bash
627
#!/bin/bash
615
 
628
 
616
# Copy licensing information
629
# Copy licensing information
617
cp $INSTALL_ROOT/usr/share/doc/*-release-*/GPL $LIVE_ROOT/GPL
630
cp $INSTALL_ROOT/usr/share/doc/*-release-*/GPL $LIVE_ROOT/GPL
618
 
631
 
619
# add livecd-iso-to-disk utility on the LiveCD
632
# add livecd-iso-to-disk utility on the LiveCD
620
# only works on x86, x86_64
633
# only works on x86, x86_64
621
if [ "\$(uname -i)" = "i386" -o "\$(uname -i)" = "x86_64" ]; then
634
if [ "\$(uname -i)" = "i386" -o "\$(uname -i)" = "x86_64" ]; then
622
  if [ ! -d \$LIVE_ROOT/LiveOS ]; then mkdir -p \$LIVE_ROOT/LiveOS ; fi
635
  if [ ! -d \$LIVE_ROOT/LiveOS ]; then mkdir -p \$LIVE_ROOT/LiveOS ; fi
623
  cp /usr/bin/livecd-iso-to-disk \$LIVE_ROOT/LiveOS
636
  cp /usr/bin/livecd-iso-to-disk \$LIVE_ROOT/LiveOS
624
fi
637
fi
625
 
638
 
626
# customize boot menu entries
639
# customize boot menu entries
627
grep -B4 'menu default'  \$LIVE_ROOT/isolinux/isolinux.cfg > \$LIVE_ROOT/isolinux/default.txt
640
grep -B4 'menu default'  \$LIVE_ROOT/isolinux/isolinux.cfg > \$LIVE_ROOT/isolinux/default.txt
628
grep -B3 'xdriver=vesa'  \$LIVE_ROOT/isolinux/isolinux.cfg > \$LIVE_ROOT/isolinux/basicvideo.txt
641
grep -B3 'xdriver=vesa'  \$LIVE_ROOT/isolinux/isolinux.cfg > \$LIVE_ROOT/isolinux/basicvideo.txt
629
grep -A3 'label check0'  \$LIVE_ROOT/isolinux/isolinux.cfg > \$LIVE_ROOT/isolinux/check.txt
642
grep -A3 'label check0'  \$LIVE_ROOT/isolinux/isolinux.cfg > \$LIVE_ROOT/isolinux/check.txt
630
grep -A2 'label memtest' \$LIVE_ROOT/isolinux/isolinux.cfg > \$LIVE_ROOT/isolinux/memtest.txt
643
grep -A2 'label memtest' \$LIVE_ROOT/isolinux/isolinux.cfg > \$LIVE_ROOT/isolinux/memtest.txt
631
grep -A2 'label local'   \$LIVE_ROOT/isolinux/isolinux.cfg > \$LIVE_ROOT/isolinux/localboot.txt
644
grep -A2 'label local'   \$LIVE_ROOT/isolinux/isolinux.cfg > \$LIVE_ROOT/isolinux/localboot.txt
632
 
645
 
633
sed "s/label linux0/label linuxtext0/"   \$LIVE_ROOT/isolinux/default.txt > \$LIVE_ROOT/isolinux/textboot.txt
646
sed "s/label linux0/label linuxtext0/"   \$LIVE_ROOT/isolinux/default.txt > \$LIVE_ROOT/isolinux/textboot.txt
634
sed -i "s/Boot/Boot (Text Mode)/"                                           \$LIVE_ROOT/isolinux/textboot.txt
647
sed -i "s/Boot/Boot (Text Mode)/"                                           \$LIVE_ROOT/isolinux/textboot.txt
635
sed -i "s/liveimg/liveimg 3/"                                               \$LIVE_ROOT/isolinux/textboot.txt
648
sed -i "s/liveimg/liveimg 3/"                                               \$LIVE_ROOT/isolinux/textboot.txt
636
sed -i "/menu default/d"                                                    \$LIVE_ROOT/isolinux/textboot.txt
649
sed -i "/menu default/d"                                                    \$LIVE_ROOT/isolinux/textboot.txt
637
 
650
 
638
sed "s/label linux0/label install0/"     \$LIVE_ROOT/isolinux/default.txt > \$LIVE_ROOT/isolinux/install.txt
651
sed "s/label linux0/label install0/"     \$LIVE_ROOT/isolinux/default.txt > \$LIVE_ROOT/isolinux/install.txt
639
sed -i "s/Boot/Install/"                                                    \$LIVE_ROOT/isolinux/install.txt
652
sed -i "s/Boot/Install/"                                                    \$LIVE_ROOT/isolinux/install.txt
640
sed -i "s/liveimg/liveimg liveinst noswap/"                                 \$LIVE_ROOT/isolinux/install.txt
653
sed -i "s/liveimg/liveimg liveinst noswap/"                                 \$LIVE_ROOT/isolinux/install.txt
641
sed -i "s/ quiet / /"                                                       \$LIVE_ROOT/isolinux/install.txt
654
sed -i "s/ quiet / /"                                                       \$LIVE_ROOT/isolinux/install.txt
642
sed -i "s/ rhgb / /"                                                        \$LIVE_ROOT/isolinux/install.txt
655
sed -i "s/ rhgb / /"                                                        \$LIVE_ROOT/isolinux/install.txt
643
sed -i "/menu default/d"                                                    \$LIVE_ROOT/isolinux/install.txt
656
sed -i "/menu default/d"                                                    \$LIVE_ROOT/isolinux/install.txt
644
 
657
 
645
sed "s/label linux0/label textinstall0/" \$LIVE_ROOT/isolinux/default.txt > \$LIVE_ROOT/isolinux/textinstall.txt
658
sed "s/label linux0/label textinstall0/" \$LIVE_ROOT/isolinux/default.txt > \$LIVE_ROOT/isolinux/textinstall.txt
646
sed -i "s/Boot/Install (Text Mode)/"                                        \$LIVE_ROOT/isolinux/textinstall.txt
659
sed -i "s/Boot/Install (Text Mode)/"                                        \$LIVE_ROOT/isolinux/textinstall.txt
647
sed -i "s/liveimg/liveimg textinst noswap/"                                 \$LIVE_ROOT/isolinux/textinstall.txt
660
sed -i "s/liveimg/liveimg textinst noswap/"                                 \$LIVE_ROOT/isolinux/textinstall.txt
648
sed -i "s/ quiet / /"                                                       \$LIVE_ROOT/isolinux/textinstall.txt
661
sed -i "s/ quiet / /"                                                       \$LIVE_ROOT/isolinux/textinstall.txt
649
sed -i "s/ rhgb / /"                                                        \$LIVE_ROOT/isolinux/textinstall.txt
662
sed -i "s/ rhgb / /"                                                        \$LIVE_ROOT/isolinux/textinstall.txt
650
sed -i "/menu default/d"                                                    \$LIVE_ROOT/isolinux/textinstall.txt
663
sed -i "/menu default/d"                                                    \$LIVE_ROOT/isolinux/textinstall.txt
651
 
664
 
652
cat \$LIVE_ROOT/isolinux/default.txt \$LIVE_ROOT/isolinux/basicvideo.txt \$LIVE_ROOT/isolinux/check.txt \$LIVE_ROOT/isolinux/memtest.txt \$LIVE_ROOT/isolinux/localboot.txt > \$LIVE_ROOT/isolinux/current.txt
665
cat \$LIVE_ROOT/isolinux/default.txt \$LIVE_ROOT/isolinux/basicvideo.txt \$LIVE_ROOT/isolinux/check.txt \$LIVE_ROOT/isolinux/memtest.txt \$LIVE_ROOT/isolinux/localboot.txt > \$LIVE_ROOT/isolinux/current.txt
653
diff \$LIVE_ROOT/isolinux/isolinux.cfg \$LIVE_ROOT/isolinux/current.txt | sed '/^[0-9][0-9]*/d; s/^. //; /^---$/d' > \$LIVE_ROOT/isolinux/cleaned.txt
666
diff \$LIVE_ROOT/isolinux/isolinux.cfg \$LIVE_ROOT/isolinux/current.txt | sed '/^[0-9][0-9]*/d; s/^. //; /^---$/d' > \$LIVE_ROOT/isolinux/cleaned.txt
654
cat \$LIVE_ROOT/isolinux/cleaned.txt \$LIVE_ROOT/isolinux/default.txt \$LIVE_ROOT/isolinux/textboot.txt \$LIVE_ROOT/isolinux/basicvideo.txt \$LIVE_ROOT/isolinux/install.txt \$LIVE_ROOT/isolinux/textinstall.txt \$LIVE_ROOT/isolinux/memtest.txt \$LIVE_ROOT/isolinux/localboot.txt > \$LIVE_ROOT/isolinux/isolinux.cfg
667
cat \$LIVE_ROOT/isolinux/cleaned.txt \$LIVE_ROOT/isolinux/default.txt \$LIVE_ROOT/isolinux/textboot.txt \$LIVE_ROOT/isolinux/basicvideo.txt \$LIVE_ROOT/isolinux/install.txt \$LIVE_ROOT/isolinux/textinstall.txt \$LIVE_ROOT/isolinux/memtest.txt \$LIVE_ROOT/isolinux/localboot.txt > \$LIVE_ROOT/isolinux/isolinux.cfg
655
rm -f \$LIVE_ROOT/isolinux/*.txt
668
rm -f \$LIVE_ROOT/isolinux/*.txt
656
 
669
 
657
EOF_postnochroot
670
EOF_postnochroot
658
 
671
 
659
# run postnochroot-install script
672
# run postnochroot-install script
660
/bin/bash -x /root/postnochroot-install 2>&1 | tee /root/postnochroot-install.log
673
/bin/bash -x /root/postnochroot-install 2>&1 | tee /root/postnochroot-install.log
661
 
674
 
662
%end
675
%end
663
########################################################################
676
########################################################################
664
# End of configure LiveCD in nochroot
677
# End of configure LiveCD in nochroot
665
########################################################################
678
########################################################################