/[fai]/trunk/scripts/make-fai-nfsroot
ViewVC logotype

Diff of /trunk/scripts/make-fai-nfsroot

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 425 by lange, Wed Mar 28 16:48:08 2001 UTC revision 1348 by lange, Tue Dec 10 15:21:55 2002 UTC
# Line 6  Line 6 
6  # make-fai-nfsroot -- create nfsroot directory and add additional packages  # make-fai-nfsroot -- create nfsroot directory and add additional packages
7  #  #
8  # This script is part of FAI (Fully Automatic Installation)  # This script is part of FAI (Fully Automatic Installation)
9  # (c) 2000-2001 by Thomas Lange, lange@informatik.uni-koeln.de  # (c) 2000-2002 by Thomas Lange, lange@informatik.uni-koeln.de
10  # Universitaet zu Koeln  # Universitaet zu Koeln
11  #  #
12  #*********************************************************************  #*********************************************************************
# Line 27  Line 27 
27  # 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  # 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
28  #*********************************************************************  #*********************************************************************
29    
30  # Thomas Lange, Universitaet Koeln, 2000  # Packages that are install to nfsroot by default Additional packages are
31    # defined with $NFSROOT_PACKAGES in fai.conf
32  PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin  packages="portmap file rdate cfengine bootpc wget rsh-client less dump
33    ext2resize strace hdparm parted dnsutils grub ntpdate
34    dosfstools sysutils dialog libdetect0 discover mdetect read-edid kudzu hwtools"
35    
36    PATH=/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
37    
38    if [ `id -u` -ne 0 ]; then
39        echo "Run this program as root."
40        exit 9
41    fi
42    
43  while getopts v opt ; do  while getopts rv opt ; do
44          case "$opt" in      case "$opt" in
45          v) verbose=1 ;;          v) verbose=1 ;;
46          esac          r) recover=1 ;;
47        esac
48  done  done
49    
50  set -e  set -e
51  . /etc/fai.conf  . /etc/fai/fai.conf
52    
53    echo Creating FAI nfsroot can take a long time and will
54    echo need more than 160MB disk space in $NFSROOT.
55    ROOTCMD="chroot $NFSROOT"
56    
57    RUNDIR=/var/run/fai/make-nfs-root
58    [ ! -d $RUNDIR ] && mkdir -p $RUNDIR
59    [ ! "$recover" ] && rm -rf $RUNDIR/*
60    
61    LIBFAI=/usr/lib/fai
62    SHAREFAI=/usr/share/fai
63  conffile=$NFSROOT/etc/rcS_fai.conf  conffile=$NFSROOT/etc/rcS_fai.conf
64    export DEBIAN_FRONTEND=noninteractive
65    
66  # Additional packages that are install to nfsroot  trap "umount_dirs" EXIT
67  packages="$NFSROOT_PACKAGES perl-5.005 dhcp-client file rdate cfengine bootpc wget rsh-client less dump ext2resize raidtools2 strace expect5.31 hdparm parted dnsutils"  # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
68    die() {
69    
70  export DEBIAN_FRONTEND=Noninteractive      echo "$@"
71        exit 99
72    }
73    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
74    call_with_stamp() {
75    
76  if [ "$verbose" ]; then      local func=$1
77          devnull=/dev/tty      local stamp=$RUNDIR/$func
78  else      # call subroutine
79          devnull=/dev/null      [ "$recover" -a -f $stamp ] && return 0
80  fi      "$@"
81        > $stamp
82    }
83    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
84    call_verbose() {
85    
86        if [ "$verbose" ]; then
87            "$@"
88        else
89            "$@" > /dev/null
90        fi
91    }
92  # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
93  die() {  install_kernel_nfsroot() {
94    
95      echo $*      rm -rf $NFSROOT/boot/*-$KERNELVERSION $NFSROOT/lib/modules/$KERNELVERSION
96      exit 99      # since woody we can install the kernel using dpkg -i
97        echo "do_boot_enable=no" > $NFSROOT/etc/kernel-img.conf
98        dpkg -x $KERNELPACKAGE $NFSROOT
99        # if $NFROOT/proc/modules exists, then update-modules calls depmod -a without
100        # these special flags; so umount first
101        [ -e $NFSROOT/proc/modules ] && umount $NFSROOT/proc
102        chroot $NFSROOT update-modules
103        chroot $NFSROOT depmod -a -F /boot/System.map-$KERNELVERSION $KERNELVERSION
104  }  }
105  # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
106  setup_ssh() {  setup_ssh() {
107    
108        # nothing to do if no ssh is available in nfsroot
109        [ -f $NFSROOT/var/lib/dpkg/info/ssh.list ] || return 0
110      mkdir -p -m 700 $NFSROOT/root/.ssh      mkdir -p -m 700 $NFSROOT/root/.ssh
111      hkey=`cat /etc/ssh/ssh_host_key.pub`      [ -f /etc/ssh/ssh_known_hosts ] && cp /etc/ssh/ssh_known_hosts $NFSROOT/root/.ssh/known_hosts
112      hname=`$NFSROOT/usr/bin/host $HOST |  perl -pe 's/\s+A\s+/,/'`      if [ -n "$LOGUSER" ] ; then
113      echo "$hname  $hkey " > $NFSROOT/root/.ssh/known_hosts          loguserhome=`eval "cd ~$LOGUSER 2>/dev/null && pwd;true"`
114      loguserhome=`eval "cd ~$LOGUSER 2>/dev/null && pwd;true"`      # is copying of *.pub important?
115      [ -d $loguserhome/.ssh ] && cp -p $loguserhome/.ssh/identity* $NFSROOT/root/.ssh/          [ -d $loguserhome/.ssh ] && {
116                [ -f $loguserhome/.ssh/id_dsa ] &&
117      [ -f $NFSROOT/var/lib/dpkg/info/ssh.list ] || return                 cp -p $loguserhome/.ssh/id_dsa* $NFSROOT/root/.ssh/
118                [ -f $loguserhome/.ssh/id_rsa ] &&
119                   cp -p $loguserhome/.ssh/id_rsa* $NFSROOT/root/.ssh/
120                cp -p $loguserhome/.ssh/*.pub $NFSROOT/root/.ssh/
121            }
122        fi
123    
124      # enable root login      # enable root login
125      perl -pi -e 's/PermitRootLogin no/PermitRootLogin yes/' $NFSROOT/etc/ssh/sshd_config      perl -pi -e 's/PermitRootLogin no/PermitRootLogin yes/' $NFSROOT/etc/ssh/sshd_config
126      if [ -f "$SSH_IDENTITY" ]; then      if [ -f "$SSH_IDENTITY" ]; then
127          cp -p $SSH_IDENTITY $NFSROOT/root/.ssh/authorized_keys          cp -p $SSH_IDENTITY $NFSROOT/root/.ssh/authorized_keys
128          echo You can log into install clients without password using $SSH_IDENTITY          echo You can log into install clients without password using $SSH_IDENTITY
129      fi      fi
130  }  }
131  # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
132  copy_fai_files() {  copy_fai_files() {
133    
134      perl -pi -e "s/^root::/root:${FAI_ROOTPW}:/" etc/passwd      # copy to nfsroot
135      mkdir -p $NFSROOT/fai/fai_config $NFSROOT/usr/share/fai      perl -pi -e "s#^root::#root:${FAI_ROOTPW}:#" etc/passwd
136      cp -p $LIBFAI/sbin/dhclient-script $LIBFAI/etc/dhclient.conf $NFSROOT/etc      mkdir -p $NFSROOT/$FAI/fai_config $NFSROOT/$SHAREFAI $NFSROOT/$LIBFAI $NFSROOT/etc/fai
137      cp -p $LIBFAI/sbin/* $NFSROOT/sbin      cd $NFSROOT
138      cp -p /usr/share/fai/* $NFSROOT/usr/share/fai      cp -p $SHAREFAI/etc/dhclient.conf etc/
139      cp -p $LIBFAI/etc/apt.conf $NFSROOT/etc/apt      ln -fs ../sbin/dhclient-script etc/dhclient-script
140      cp -p /usr/lib/perl5/Debian/Fai.pm $NFSROOT/usr/lib/perl5/Debian/      cp -Rp /etc/fai etc/
141      cp -p /etc/fai.conf $NFSROOT/etc      [ -f /etc/fai/.cvspass ] && cp -p /etc/fai/.cvspass .cvspass
142      cp -p /tmp/base?_?.tgz $NFSROOT/var/tmp      cp -p $LIBFAI/sbin/* sbin/
143        cp -p /usr/bin/fai-class usr/bin/
144        cp -p $LIBFAI/* usr/lib/fai 2>/dev/null || true  # cp will complain about directories
145        cp -p $SHAREFAI/etc/fai_modules_off etc/modutils/
146    
147        cp -p $SHAREFAI/subroutines* usr/share/fai
148        cp -p $SHAREFAI/etc/apt.conf etc/apt
149        cp -p /usr/share/perl5/Debian/Fai.pm usr/share/perl5/Debian/
150        echo $NFSROOT_ETC_HOSTS >> etc/hosts
151    }
152    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
153    call_debootstrap() {
154    
155        echo "Creating nfsroot for $1 using debootstrap"
156        [ "$verbose" ] && echo "calling debootstrap $1 $NFSROOT $2"
157        yes '' | debootstrap $FAI_DEBOOTSTRAP_OPTS $1 $NFSROOT $2 || true
158    }
159    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
160    create_base() {
161    
162        if [ "$FAI_DEBOOTSTRAP" ]; then
163            call_verbose call_with_stamp call_debootstrap $FAI_DEBOOTSTRAP
164            $ROOTCMD apt-get clean
165            echo "Creating base.tgz"
166            tar -l -C $NFSROOT -cf - . | gzip > $NFSROOT/../base.tgz
167            mv $NFSROOT/../base.tgz $NFSROOT/var/tmp/base.tgz
168        else
169            die "\$FAI_DEBOOTSTRAP not defined."
170        fi
171  }  }
172  # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
173  create_nfsroot() {  create_nfsroot() {
174    
175      mkdir -p $NFSROOT      mkdir -p $NFSROOT/$FAI
176      cd $NFSROOT || die "Error: Can't cd to $NFSROOT"      cd $NFSROOT || die "Error: Can't cd to $NFSROOT"
177      get_basetgz  
178      echo -n "Unpacking " ; ls /tmp/base?_?.tgz      call_with_stamp create_base
179      tar -C $NFSROOT -zxpf /tmp/base?_?.tgz  
180      mknod $NFSROOT/dev/boot255 c 0 255      if [ "$FAI_DEBMIRROR" ]; then
181            mkdir -p $NFSROOT/$MNTPOINT
182      if [ "$FAI_PACKAGEDIR" ]; then          mount -o ro,noatime,rsize=8192 $FAI_DEBMIRROR $NFSROOT/$MNTPOINT || \
183          mkdir -p $NFSROOT/$MNTPOINT                  die "Can't mount $FAI_DEBMIRROR"
184          mount -o ro,rsize=8192 $FAI_PACKAGEDIR $NFSROOT/$MNTPOINT || die "Can't mount $FAI_PACKAGEDIR"          fi
     fi  
185    
186      # hoaks some packages      # hoaks some packages
187      touch etc/fstab etc/raidtab # dump and raidtool2 needs these files      # liloconfig, dump and raidtool2 needs these files
188        echo "# UNCONFIGURED FSTAB FOR BASE SYSTEM" > etc/fstab
189        > etc/raidtab
190      mkdir -p lib/modules/$KERNELVERSION           # dirty trick to hoax lvm      mkdir -p lib/modules/$KERNELVERSION           # dirty trick to hoax lvm
191      touch lib/modules/$KERNELVERSION/modules.dep  # dirty trick to hoax lvm      >  lib/modules/$KERNELVERSION/modules.dep  # dirty trick to hoax lvm
192      mkdir -p $NFSROOT/etc/ssh  
193      touch $NFSROOT/etc/ssh/NOSERVER      echo 'NTPSERVERS=""' > etc/default/ntp-servers
194    
195      echo "$FAI_SOURCES_LIST" > $NFSROOT/etc/apt/sources.list      # woody uses debconf
196      upgrade_nfsroot  
197      copy_fai_files      if [ "$FAI_SOURCES_LIST" ]; then
198            echo "$FAI_SOURCES_LIST" > etc/apt/sources.list
199        else
200            cp /etc/apt/sources.list etc/apt/sources.list
201        fi
202        [ -f /etc/apt/preferences ] && cp /etc/apt/preferences etc/apt
203        echo "Upgrading $NFSROOT"
204        call_verbose call_with_stamp upgrade_nfsroot
205        echo "Adding additional packages to $NFSROOT:"
206        echo "$packages"
207        call_verbose call_with_stamp add_packages_nfsroot
208        call_with_stamp copy_fai_files
209    
210      # set timezone      # set timezone
211      rm -f $NFSROOT/etc/localtime      rm -f etc/localtime
212      cp -d /etc/localtime /etc/timezone $NFSROOT/etc      cp -d /etc/localtime /etc/timezone etc
213    
214      # make little changes to nfsroot, because file systems are      # make little changes to nfsroot, because nfsroot is
215      # read only for the install clients      # read only for the install clients
216      rm -rf etc/mtab var/run      rm -rf etc/mtab var/run etc/sysconfig
217      mv $NFSROOT/etc/init.d/rcS $NFSROOT/etc/init.d/rcS.orig      mv etc/init.d/rcS etc/init.d/rcS.orig
218      ln -s /proc/mounts $NFSROOT/etc/mtab      ln -s /proc/mounts etc/mtab
219      ln -s /tmp/var/run $NFSROOT/var/run      ln -s /tmp/var/run var/run
220      ln -sf /tmp/etc/resolv.conf $NFSROOT/etc/resolv.conf      ln -sf /tmp/etc/resolv.conf etc/resolv.conf
221      ln -s /sbin/rcS_fai $NFSROOT/etc/init.d/rcS      ln -sf /tmp etc/sysconfig
222        ln -s ../../sbin/rcS_fai etc/init.d/rcS
223        ln -s /dev/null etc/network/ifstate
224        # for nis
225        [ -d var/yp ] && ln -s /tmp/binding var/yp/binding
226    
227      # turn off logging of loading kernel modules      # turn off logging of loading kernel modules
228      rmdir $NFSROOT/var/log/ksymoops/      [ -d var/log/ksymoops/ ] && rmdir var/log/ksymoops/
229      ln -s /dev/null $NFSROOT/var/log/ksymoops      ln -s /dev/null var/log/ksymoops
230    
231      # definition for loopback device      # definition for loopback device
232      echo "iface lo inet loopback" >$NFSROOT/etc/network/interfaces      echo "iface lo inet loopback" > etc/network/interfaces
233    
234      echo "*.* /tmp/syslog.log" >$NFSROOT/etc/syslog.conf      echo "*.* /tmp/fai/syslog.log" > etc/syslog.conf
235      echo ". /usr/share/fai/subroutines" >> $NFSROOT/root/.profile      cat >> root/.profile <<-EOF
236            PATH=/usr/local/sbin:/usr/local/bin:/usr/lib/fai:/bin:/sbin:/usr/bin:/usr/sbin:
237            export PATH
238            . $SHAREFAI/subroutines
239            . $SHAREFAI/subroutines-$OS_TYPE
240            set -a
241            . /etc/fai/fai.conf
242            . /tmp/rcsfai.var
243    EOF
244    
245      setup_ssh      call_verbose call_with_stamp setup_ssh
     umount $NFSROOT/dev/pts 2>/dev/null || true  
246    
247      cat >$NFSROOT/etc/rc2.d/S01fai_abort <<-EOF      cat >$NFSROOT/etc/rc2.d/S01fai_abort <<-EOF
248          #!/bin/sh          #!/bin/sh
249          echo FAI: installation aborted.          echo FAI: installation aborted.
250          echo reboot with: faireboot          echo reboot with: faireboot
251          echo or after a logout          echo or after a logout
252          sh          sh
253          cd /          cd /
254          umount -ar          umount -ar
255          reboot -dfi          reboot -dfi
256  EOF  EOF
257      chmod a+rx $NFSROOT/etc/rc2.d/S01fai_abort      chmod a+rx $NFSROOT/etc/rc2.d/S01fai_abort
258  }  }
259  # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
260  upgrade_nfsroot() {  upgrade_nfsroot() {
261    
     echo "Upgrading $NFSROOT"  
     {  
262      cp /etc/resolv.conf $NFSROOT/etc      cp /etc/resolv.conf $NFSROOT/etc
263      chroot $NFSROOT apt-get update      $ROOTCMD apt-get update
264      chroot $NFSROOT apt-get check      $ROOTCMD apt-get check
265      chroot $NFSROOT mount -n -t proc proc /proc      rm -rf $NFSROOT/etc/apm
266      rm -rf $NFSROOT/etc/pcmcia $NFSROOT/etc/apm      mount -t proc /proc $NFSROOT/proc
267      chroot $NFSROOT apt-get -y remove pcmcia-cs </dev/null      $ROOTCMD apt-get --purge -y install debconf </dev/null
268    
269      # fake start-stop-dameon      # fake start-stop-dameon
270      chroot $NFSROOT dpkg-divert --quiet --package fai --add --rename /sbin/start-stop-daemon      $ROOTCMD dpkg-divert --quiet --package fai --add --rename /sbin/start-stop-daemon
271      cp $LIBFAI/sbin/start-stop-daemon $NFSROOT/sbin      cp $LIBFAI/sbin/start-stop-daemon $NFSROOT/sbin
272      chroot $NFSROOT apt-get -y upgrade      $ROOTCMD apt-get -y upgrade
273      } > $devnull  }
274      echo "Adding additional packages to $NFSROOT:"  # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
275      echo "$packages"  add_packages_nfsroot() {
276      {  
277      chroot $NFSROOT apt-get -y --fix-missing install $packages </dev/null      $ROOTCMD apt-get -y --fix-missing install $packages </dev/null
278      chroot $NFSROOT apt-get clean      if [ -n "$NFSROOT_PACKAGES" ] ; then
279      chroot $NFSROOT umount -n /proc          $ROOTCMD apt-get -y --fix-missing install $NFSROOT_PACKAGES </dev/null
280      } > $devnull      fi
281  }      $ROOTCMD apt-get clean
282  # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  }
283  get_basetgz() {  # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
284    umount_dirs() {
285      [ -f /tmp/base?_?.tgz ] && return  
286      [ "$FAI_BASETGZ" ] || die "no /tmp/base?_?.tgz found and FAI_BASETGZ not defined."      cd /
287      case $FAI_BASETGZ in      sleep 2
288          ftp:*|http:*)      umount $NFSROOT/proc 1>/dev/null 2>&1 || true
289              echo "Getting $FAI_BASETGZ via wget. This may take some time."      umount $NFSROOT/dev/pts 1>/dev/null 2>&1 ||true
290              TMPBDIR=`mktemp /tmp/FAI-wget-XXXXXX` || exit 1      if [ "$FAI_DEBMIRROR" ]; then
291              rm $TMPBDIR; mkdir $TMPBDIR || exit          test -d $NFSROOT/$MNTPOINT && umount $NFSROOT/$MNTPOINT || true
292              wget -P$TMPBDIR $FAI_BASETGZ      fi
293              mv $TMPBDIR/base?_?.tgz /tmp      # show directories still mounted on nfsroot
294              rm -rf $TMPBDIR      mount | grep " on $NFSROOT " || true
295              ;;  }
296          /*/base?_?.tgz)  # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
297              rm -f /tmp/base?_?.tgz  get_kernel_version() {
298              ln -s $FAI_BASETGZ /tmp  
299              ;;      local package=$1
300          *)      KERNELVERSION=`dpkg --info $1 | grep "Package: kernel-image" | sed -e 's/.*kernel-image-'//`
301              die "FAI_BASETGZ $FAI_BASETGZ looks strong."  }
302              ;;  # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
303      esac  setup_bootp(){
304    
305        if [ -x "`which mknbi-linux`" ]; then
306            mknbi-linux --verbose -a "ip=both" \
307              $NFSROOT/boot/vmlinuz-$KERNELVERSION /boot/fai/installimage
308        else
309            die "Command mknbi-linux not found. Please install the package netboot"
310        fi
311    
312        # imggen is free software from 3com - use ver1.00: 1.01 produces "Image too Big" errors.
313        # it converts netboot images to images which are bootable by 3com network cards
314        if [ -x "`which imggen`" ]; then
315            imggen -a /boot/fai/installimage /boot/fai/installimage_3com
316        fi
317        echo "BOOTP environment prepared."
318    }
319    
320    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
321    setup_dhcp(){
322    
323        # pxe and dhcp environment
324        local pxebin=/usr/lib/syslinux/pxelinux.0
325        cp -p $NFSROOT/boot/vmlinuz-$KERNELVERSION /boot/fai/installkernel
326        [ -f $pxebin ] && cp $pxebin /boot/fai
327        [ -d /boot/fai/pxelinux.cfg ] || mkdir /boot/fai/pxelinux.cfg || true
328        cp -p /usr/share/fai/etc/pxelinux.cfg /boot/fai/pxelinux.cfg/default
329        echo "DHCP environment prepared. Now enable dhcpd and the special tftp daemon"
330  }  }
331  # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
332  # main routine  # main routine
333    
334  if [ -d $NFSROOT/fai ]; then  # Kill the directory if not in recover mode
335    if [ -d $NFSROOT/$FAI -a ! "$recover" ]
336    then
337      echo $NFSROOT already exists. Removing $NFSROOT      echo $NFSROOT already exists. Removing $NFSROOT
338      umount $NFSROOT/dev/pts 1>/dev/null 2>&1 || true      umount $NFSROOT/dev/pts 1>/dev/null 2>&1 || true
339      rm -rf $NFSROOT      rm -rf $NFSROOT/.??* $NFSROOT/*
340        # also remove files $NFSROOT/.? but not . and ..
341        find $NFSROOT ! -type d -xdev -maxdepth 1 | xargs -r rm -f
342  fi  fi
343    
344  create_nfsroot  # Create a new nfsroot
345    call_with_stamp create_nfsroot
346    
347  # TODO: only umount if created (debian mirror via NFS)  # Install the kernel package
348  test -d $NFSROOT/$MNTPOINT && umount $NFSROOT/$MNTPOINT || true  if [ -f $KERNELPACKAGE ]; then
349        # determine kernel version
350        get_kernel_version $KERNELPACKAGE
351    
352        # create tftp boot images
353        call_with_stamp install_kernel_nfsroot
354    
355        # setup for both DHCP and BOOTP
356        call_with_stamp setup_dhcp
357        call_with_stamp setup_bootp
358    else
359        echo "Kernel package $KERNELPACKAGE not found."
360        echo "No install kernel installed in /boot/fai."
361        echo "No kernel modules available in nfsroot."
362    fi
363    
364    echo make-fai-nfsroot finished.
365  exit 0  exit 0

Legend:
Removed from v.425  
changed lines
  Added in v.1348

  ViewVC Help
Powered by ViewVC 1.1.5