+[ "$swap" != "0" -a -b ${disk}${swap} ] && \
+ echo -e "${disk}${swap}\tswap\tswap\tdefaults 0 0" >> $root/etc/fstab
+# packages might install new fstab file, stored.
+cp $root/etc/fstab $root/etc/fstab~
+
+#
+# install packages
+#
+cd /tmp # we need to wget stuff!
+pkglist=""
+[ -f $myconf/packages ] && pkglist=$myconf/packages
+if [ -z "$pkglist" ] ; then
+ echo "cant find package list for $myip, aborting"
+ exit
+fi
+hdw-get dist-install $root $pkglist
+
+#
+# config / files
+#
+cp $root/etc/fstab~ $root/etc/fstab
+cp /etc/hdw-get.conf $root/etc
+# files
+cd /fai/files
+for file in `find -type f | grep -v CVS`; do
+ srcf=`basename $file`
+ trgf=`dirname $file`
+ [ "$srcf" = "DEFAULT" -o "$srcf" = "$myip" ] && cp -v $file $root/$trgf
+done
+
+#
+# essential device file
+#
+[ ! -c $root/dev/null ] && mknod -m 0666 $root/dev/null c 1 3
+[ ! -c $root/dev/console ] && mknod -m 0600 $root/dev/console c 5 1
+
+
+#
+# lilo
+#
+proot=${disk}`grep /[^a-z,^A-Z] $myconf/disk | awk '{ print $1 }'`
+echo "running lilo -> root device = $proot"
+cat > $root/etc/lilo.conf << EOF
+boot=$disk
+prompt
+lba32
+timeout=30
+
+default=vmlinuz_hdw
+
+image=/boot/vmlinuz_hdw
+ label=vmlinuz_hdw
+ append="root=$proot"
+ read-only
+
+EOF
+# run lilo in chroot
+cat > $root/run_lilo.sh << EOF
+mount /dev
+mount /sys
+mount /proc
+mkdir -p /dev/shm && mount /dev/shm
+mkdir -p /dev/pts && mount /dev/pts
+udevstart
+ln -s /proc/self/fd /dev/fd
+ln -s /proc/self/fd/0 /dev/stdin
+ln -s /proc/self/fd/1 /dev/stdout
+ln -s /proc/self/fd/2 /dev/stderr
+ln -s /proc/kcore /dev/core
+lilo
+EOF
+chmod 755 $root/run_lilo.sh
+chroot $root /usr/bin/env PATH="/bin:/usr/bin:/sbin:/usr/sbin" /bin/bash \
+ --login +h /run_lilo.sh
+
+echo
+echo "fai finished, good luck for reboot ... :)"
+echo