grml-chroot: iff /proc/cmdline exists don't try to mount again
authorMichael Prokop <mika@grml.org>
Fri, 14 Dec 2018 08:37:33 +0000 (09:37 +0100)
committerMichael Prokop <mika@grml.org>
Fri, 14 Dec 2018 09:10:43 +0000 (10:10 +0100)
There's no point in mounting /proc, /sys, /dev + /dev/pts
once again if it's mounted already. The easiest and cheapest
way to detect this is looking for file /proc/cmdline. If
/proc/cmdline exists assume that the chroot has the filesystems
mounted already.

Closes: https://github.com/grml/grml-scripts/issues/4

usr_sbin/grml-chroot

index 6e292d5..a894e39 100755 (executable)
@@ -90,10 +90,15 @@ if [ ! -d "$DEST_" ]; then
 fi
 
 
-mountit "proc"  "proc"
-mountit "sysfs" "sys"
-mountit "/dev"   "dev"   "--bind"
-mountit "devpts" "dev/pts"
+
+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