projects
/
grml-scripts.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
grml-chroot: iff /proc/cmdline exists don't try to mount again
[grml-scripts.git]
/
usr_sbin
/
grml-chroot
diff --git
a/usr_sbin/grml-chroot
b/usr_sbin/grml-chroot
index
e9c1ae3
..
a894e39
100755
(executable)
--- a/
usr_sbin/grml-chroot
+++ b/
usr_sbin/grml-chroot
@@
-55,7
+55,8
@@
function mountit
function umount_all
{
function umount_all
{
- for i in $MOUNTED_; do
+ local reverse=$(echo $MOUNTED_ | awk '{ for (i=NF; i>1; i--) printf("%s ",$i); print $1; }')
+ for i in $reverse; do
umount "${DEST_}/$i"
done
}
umount "${DEST_}/$i"
done
}
@@
-78,6
+79,10
@@
if (( $# < 1 )); then
die "Wrong number of arguments."
fi
die "Wrong number of arguments."
fi
+if ! which awk >/dev/null 2>&1 ; then
+ die "No awk binary found, required for execution."
+fi
+
DEST_="$1"; shift
if [ ! -d "$DEST_" ]; then
DEST_="$1"; shift
if [ ! -d "$DEST_" ]; then
@@
-85,9
+90,15
@@
if [ ! -d "$DEST_" ]; then
fi
fi
-mountit "proc" "proc"
-mountit "sysfs" "sys"
-mountit "/dev" "dev" "--bind"
+
+if [ -f "$DEST_"/proc/cmdline ] ; then
+ echo "Looks like $DEST_ already has filesystems mounted, skipping."
+else
+ mountit "proc" "proc"
+ mountit "sysfs" "sys"
+ mountit "/dev" "dev" "--bind"
+ mountit "devpts" "dev/pts"
+fi
WROTE_DEBIAN_CHROOT=""
if [ ! -f "$DEST_"/etc/debian_chroot ]; then
WROTE_DEBIAN_CHROOT=""
if [ ! -f "$DEST_"/etc/debian_chroot ]; then