~fai/fai/fai.hardy

« back to all changes in this revision

Viewing changes to lib/subroutines-linux

  • Committer: Reinhard Tartler
  • Date: 2008-02-14 09:40:55 UTC
  • mfrom: (1.1.4082 ubuntu-debian-merge)
  • Revision ID: siretart@tauware.de-20080214094055-2jrtybq0oig3faxi
Upload of 3.2.4ubuntu1 to hardy

this merge contains all commits up to to release of 3.2.4ubuntu1 to
hardy.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
#! /bin/bash
2
2
 
3
 
# $Id: subroutines-linux 4536 2007-08-28 15:03:23Z lange $
 
3
# $Id: subroutines-linux 4805 2007-11-29 17:33:09Z lange $
4
4
#
5
5
# subroutine definitions for linux
6
6
#
34
34
    # parse kernel parameters and define variables
35
35
    local word
36
36
 
 
37
    echo -n "Kernel currently running: "
 
38
    uname -rsmo
37
39
    echo -n "Kernel parameters: "; cat /proc/cmdline
38
40
    for word in $(cat /proc/cmdline) ; do
39
41
        case $word in
83
85
 
84
86
    # check if monitor server is available
85
87
    [ -z "$monserver" ] && monserver=$SERVER
 
88
    if [ -z "$monserver" ]; then
 
89
        echo "No monitor daemon defined."
 
90
        return
 
91
    fi
86
92
    faimond=1
87
93
    sendhostname=$HOSTNAME # save current hostname
88
94
    if sendmon check; then
124
130
    
125
131
    local dversion=$(dpkg -l debootstrap | grep debootstrap | cut -f7 -d' ')
126
132
    echo "Creating base system using debootstrap version $dversion"
127
 
    echo "Calling debootstrap $1 $FAI_ROOT $2"
 
133
    echo "Calling debootstrap $1 $FAI_DEBOOTSTRAP_OPTS $FAI_ROOT $2"
128
134
    yes '' | LC_ALL=C debootstrap $FAI_DEBOOTSTRAP_OPTS $1 $FAI_ROOT $2
129
135
}
130
136
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
153
159
            echo "No base.tgz found. Calling debootstrap."
154
160
            [ -z "$FAI_DEBOOTSTRAP" ] && die "$FAI_DEBOOTSTRAP undefined. Aborting"
155
161
            call_debootstrap $FAI_DEBOOTSTRAP
 
162
            task_error 801 $?
156
163
        fi
157
164
    fi
158
165
    # now we can copy fstab
184
191
 
185
192
    if [ ! -d $FAI/debconf ]; then
186
193
        echo "Can't find debconf directory $FAI/debconf. Skipping preseeding."
187
 
        task_error=2
 
194
        task_error 2
188
195
        return
189
196
    fi
190
197
    fai-debconf $FAI/debconf
234
241
    echo "Installing software may take a while"
235
242
    if [ "$debug" ]; then
236
243
        install_packages | tee -a $LOGDIR/software.log
 
244
        task_error 471 $?
237
245
    elif [ "$verbose" ]; then
238
246
        install_packages </dev/null 2>&1 | tee -a $LOGDIR/software.log
 
247
        task_error 471 $?
239
248
    else
240
249
        install_packages </dev/null >> $LOGDIR/software.log 2>&1
 
250
        task_error 471 $?
241
251
    fi
242
252
    # This almost indicates an error
243
 
    egrep "^E:" $LOGDIR/software.log && task_error=1
 
253
    egrep "^E:" $LOGDIR/software.log && task_error 472
 
254
    grep "Couldn't find any package whose name or description matched" $LOGDIR/software.log && task_error 321
 
255
    grep -q "E: Sub-process /usr/bin/dpkg returned an error code" $LOGDIR/software.log && task_error 620
244
256
}
245
257
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
246
258
task_finish() {
255
267
    fai-divert -R
256
268
    rm -f $FAI_ROOT/etc/apt/apt.conf.d/{10,90}fai
257
269
    date
258
 
    echo "The $FAI_ACTION took $[$(cut -d . -f 1 /proc/uptime)-$start_seconds] seconds."
 
270
    echo "The $FAI_ACTION took $(expr $(cut -d . -f 1 /proc/uptime) - $start_seconds) seconds."
259
271
}
260
272
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
261
273
task_chboot() {
279
291
 
280
292
    if [ -z "$SERVER" ] ; then
281
293
        echo "SERVER not defined. Can't change network boot configuration"
282
 
        task_error=2
 
294
        task_error 2
283
295
        doexit=1
284
296
    fi
285
297
    [ $doexit -eq 1 ] && return
293
305
        # first test if rsh to server works
294
306
        $frsh true >/dev/null 2>&1
295
307
        if [ $? -ne 0 ]; then
296
 
            task_error=3
 
308
            task_error 3
297
309
            echo "WARNING: $frsh failed. Can't call fai-chboot on the install server."
298
310
        else
299
311
            # remove pxe config, so host will use default and boot from local disk