X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=usr_sbin%2Fgrml-chroot;h=e9c1ae35e054d780f04af08171f5110bc1c1a703;hb=0bbd68b7667067039536f8e5eed9a49b154840fc;hp=098592494dd42d2ec9e8d2b51a0e7e0ce45699bc;hpb=3bfbb79eef6cca9c40a63a8ea0ab86b421b72eee;p=grml-scripts.git diff --git a/usr_sbin/grml-chroot b/usr_sbin/grml-chroot index 0985924..e9c1ae3 100755 --- a/usr_sbin/grml-chroot +++ b/usr_sbin/grml-chroot @@ -9,7 +9,6 @@ PROG_NAME_=$(basename $0) DEST_="" MOUNTED_="" # all mounted destinations -COMMAND_="" # command to start in chroot function die @@ -79,8 +78,7 @@ if (( $# < 1 )); then die "Wrong number of arguments." fi -DEST_="$1" -COMMAND_="${2}" +DEST_="$1"; shift if [ ! -d "$DEST_" ]; then die "Target chroot does not exist: $DEST_" @@ -90,6 +88,25 @@ fi mountit "proc" "proc" mountit "sysfs" "sys" mountit "/dev" "dev" "--bind" -chroot "$DEST_" $COMMAND_ + +WROTE_DEBIAN_CHROOT="" +if [ ! -f "$DEST_"/etc/debian_chroot ]; then + WROTE_DEBIAN_CHROOT="yes" + echo "Writing /etc/debian_chroot ..." + cat "$DEST_"/etc/hostname > "$DEST_"/etc/debian_chroot +fi + +if (( $# < 1 )); then + chroot "$DEST_" + RC=$? +else + chroot "$DEST_" "$@" + RC=$? +fi umount_all +if [ ! -z "$WROTE_DEBIAN_CHROOT" ]; then + rm "$DEST_"/etc/debian_chroot +fi + +exit $RC