X-Git-Url: https://git.grml.org/?a=blobdiff_plain;f=etc%2Fgrml%2Ffai%2Fconfig%2Fhooks%2Fupdatebase.GRMLBASE;h=6cf2c9b30b19f179d7ad96d331cc07809b78f787;hb=3c4a7ae07c7edbe229e892d35fef31d5daf2dc08;hp=cef16c01fc191163a428a6e17f18c4a029ce0b38;hpb=47b72a3112de901274859c9608beededb37cc9dd;p=grml-live.git diff --git a/etc/grml/fai/config/hooks/updatebase.GRMLBASE b/etc/grml/fai/config/hooks/updatebase.GRMLBASE index cef16c0..6cf2c9b 100755 --- a/etc/grml/fai/config/hooks/updatebase.GRMLBASE +++ b/etc/grml/fai/config/hooks/updatebase.GRMLBASE @@ -1,40 +1,56 @@ #!/bin/bash # Filename: /etc/grml/fai/config/hooks/updatebase.GRMLBASE -# Purpose: skip task updatebase of FAI when running softupdate +# Purpose: Updates the base packages of the system, prepare chroot for instsoft # Authors: grml-team (grml.org), (c) Michael Prokop # Bug-Reports: see http://grml.org/bugs/ # License: This file is licensed under the GPL v2 or any later version. ################################################################################ +set -u +set -e + +# visualize chroot inside zsh: +echo grml_chroot > $target/etc/debian_chroot + +HOSTNAME='' +[ -r /etc/grml/grml-live.conf ] && . /etc/grml/grml-live.conf +[ -r /etc/grml/grml-live.local ] && . /etc/grml/grml-live.local +[ -n "$HOSTNAME" ] || HOSTNAME=grml +echo "$HOSTNAME" > $target/etc/hostname + if [ "$FAI_ACTION" = "softupdate" ] ; then + echo "Action $FAI_ACTION of FAI (hooks/updatebase.GRMLBASE) via grml-live running" ## we want to use our own sources.list: skiptask updatebase - ## taken from FAI's lib/updatebase: + ## based on FAI's lib/updatebase: # some packages must access /proc even in chroot environment - mount -t proc proc $FAI_ROOT/proc + 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 - mount -t sysfs sysfs $FAI_ROOT/sys + 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 - [ -f /etc/init.d/udev ] && mount --bind /dev $FAI_ROOT/dev - mount -t devpts devpts $FAI_ROOT/dev/pts - - ## make sure we don't start any daemons - removed - ## later on via /etc/grml/fai/config/scripts/GRMLBASE/98-clean-chroot - if ! [ -r $target/usr/sbin/policy-rc.d ] ; then - cat > $target/usr/sbin/policy-rc.d << EOF -#!/bin/sh -# FAI_ACTION=updatebase -exit 101 -EOF - chmod 755 $target/usr/sbin/policy-rc.d + if [ -f /etc/init.d/udev ] ; then + mount --bind /dev $FAI_ROOT/dev || true fi - # skip the task if we want to build a new ISO only: - [ -n "$BUILD_ONLY" ] && skiptask instsoft || /bin/true + mount -t devpts devpts $FAI_ROOT/dev/pts || true -else # no softupdate but updating chroot based on /etc/grml/fai/config/basefiles/* + # 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 + + exit # make sure we don't continue behind the following "fi" +fi + +# no softupdate but updating chroot e.g. based on /etc/grml/fai/config/basefiles/* +echo "Action $FAI_ACTION of FAI (hooks/updatebase.GRMLBASE) via grml-live running" # install all apt related files fcopy -r /etc/apt @@ -48,7 +64,5 @@ fi fcopy /etc/apt/grml.key $ROOTCMD apt-key add /etc/apt/grml.key -fi # softupdate check - ## END OF FILE ################################################################# # vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=3