X-Git-Url: https://git.grml.org/?a=blobdiff_plain;f=grml-debootstrap;h=2a91c2b3a1ba30946f6b5f563fbf580e82ce88b7;hb=d08be121f23b053c24fffb233f4c557c22bad66a;hp=0f3304ca3b40b84881cd5c2ef69a3d6ca26d4326;hpb=92b1de2dc5253f1ec6f7281dcf77f48b2a8db2a9;p=grml-debootstrap.git diff --git a/grml-debootstrap b/grml-debootstrap index 0f3304c..2a91c2b 100755 --- a/grml-debootstrap +++ b/grml-debootstrap @@ -142,6 +142,7 @@ fi # early helper functions {{{ GOOD='' BAD='' +WARN='' NORMAL='' einfo() { @@ -156,6 +157,11 @@ einfon() { return 0 } +ewarn() { + printf " ${WARN}*${NORMAL} $*\n" + return 0 +} + eerror() { [ "${RC_ENDCOL}" != "yes" ] && [ "${LAST_E_CMD}" = "ebegin" ] && echo printf " ${BAD}*${NORMAL} $*\n" >&2 @@ -219,7 +225,7 @@ cleanup() { # ugly, but make sure we really don't leave anything (/proc /proc and # /dev /dev are intended, trying to work around timing issues, see #657023) - for ARG in /sys /proc /proc /dev /dev ; do + for ARG in /sys /proc /proc /dev/pts /dev/pts /dev /dev ; do [ -x "$MNTPOINT"/bin/umount ] && chroot "$MNTPOINT" umount $ARG >/dev/null 2>&1 umount "$MNTPOINT"/$ARG >/dev/null 2>&1 done @@ -1090,6 +1096,7 @@ finalize_vm() { mount -t proc none "${MNTPOINT}"/proc mount -t sysfs none "${MNTPOINT}"/sys mount --bind /dev "${MNTPOINT}"/dev + mount --bind /dev/pts "${MNTPOINT}"/dev/pts mkdir -p "${MNTPOINT}/boot/grub" if ! [ -d "${MNTPOINT}"/usr/lib/grub/i386-pc/ ] ; then @@ -1124,6 +1131,7 @@ finalize_vm() { umount "${MNTPOINT}"/proc umount "${MNTPOINT}"/sys + umount "${MNTPOINT}"/dev/pts umount "${MNTPOINT}"/dev umount "${MNTPOINT}" kpartx -d "${ORIG_TARGET}" >/dev/null @@ -1388,11 +1396,13 @@ chrootscript() { else einfo "Executing chroot-script now" mount --bind /dev "$MNTPOINT"/dev + mount --bind /dev/pts "$MNTPOINT"/dev/pts if [ "$DEBUG" = "true" ] ; then chroot "$MNTPOINT" /bin/sh -x /bin/chroot-script ; RC=$? else chroot "$MNTPOINT" /bin/chroot-script ; RC=$? fi + try_umount 3 "$MNTPOINT"/dev/pts try_umount 3 "$MNTPOINT"/dev eend $RC fi