+
+ ## based on FAI's lib/updatebase:
+ # some packages must access /proc even in chroot environment
+ if ! [ -d $FAI_ROOT/proc/1 ] ; then
+ mount -t proc proc $FAI_ROOT/proc || true
+ fi
+ # some packages must access /sys even in chroot environment
+ if ! [ -d $FAI_ROOT/sys/kernel ] ; then
+ mount -t sysfs sysfs $FAI_ROOT/sys
+ fi
+ # if we are using udev, also mount it into $FAI_ROOT
+ if [ -f /etc/init.d/udev ] ; then
+ mount --bind /dev $FAI_ROOT/dev || true
+ fi
+
+ if [ -d $FAI_ROOT/run ] ; then
+ mount -t tmpfs tmpfs $FAI_ROOT/run
+ mkdir $FAI_ROOT/run/lock
+ fi
+
+ mount -t devpts devpts $FAI_ROOT/dev/pts || true
+
+ # skip the task if we want to build a new ISO only,
+ # this means we do NOT update any packages
+ if [ -n "$BUILD_ONLY" ] ; then
+ skiptask instsoft || true
+ fi
+fi
+
+if [ -n "$BOOTSTRAP_ONLY" ] ; then
+ echo "Skipping task configure in hooks/updatebase.GRMLBASE as BOOTSTRAP_ONLY environment is set."
+ skiptask configure
+fi
+
+# work around #632624: udev fails to install on systems with old kernel versions
+if ! [ -e ${target}/etc/udev/kernel-upgrade ] ; then
+ echo "Working around udev package bug, creating /etc/udev/kernel-upgrade"
+ echo "# installed via updatebase.GRMLBASE" > ${target}/etc/udev/kernel-upgrade
+fi
+
+# install all apt related files
+fcopy -i -B -v -r /etc/apt
+
+# install packages from a repository of a specific date
+if [ -n "${WAYBACK_DATE:-}" ] ; then
+ echo "Wayback date '$WAYBACK_DATE' identified, enabling for snapshot.debian.org usage."
+
+ perl -pi -e "s#^(\s+)(deb.* )(.*://ftp.debian.org.*?)\s+([a-z-]+)\s+(.*)\$#\$1\$2 [check-valid-until=no] http://snapshot.debian.org/archive/debian/$WAYBACK_DATE/ \$4 \$5#" \
+ "${target}/etc/apt/sources.list.d/debian.list"
+
+ perl -pi -e "s#^(\s+)(deb.* )(.*://security.debian.org.*?)\s+([a-z-/]+)\s+(.*)\$#\$1\$2 [check-valid-until=no] http://snapshot.debian.org/archive/debian-security/$WAYBACK_DATE/ \$4 \$5#" \
+ "${target}/etc/apt/sources.list.d/debian.list"