summaryrefslogtreecommitdiff
path: root/internet-kiosk-management/sbin/ik_create
diff options
context:
space:
mode:
authorMike Gabriel <mike.gabriel@das-netzwerkteam.de>2012-09-03 22:44:46 +0200
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2012-09-03 22:44:46 +0200
commit40cf91104f4e51f3f4c527fc09e9f87b86026224 (patch)
treec951323fa302226b98868319452b73c55fe062f3 /internet-kiosk-management/sbin/ik_create
parentf5107b21ed0ccc58c186bef8039b3c3fdcb7a7f5 (diff)
downloadinternet-kiosk-40cf91104f4e51f3f4c527fc09e9f87b86026224.tar.gz
internet-kiosk-40cf91104f4e51f3f4c527fc09e9f87b86026224.tar.bz2
internet-kiosk-40cf91104f4e51f3f4c527fc09e9f87b86026224.zip
Make mounting and unmounting in chroot more robust.
Diffstat (limited to 'internet-kiosk-management/sbin/ik_create')
-rwxr-xr-xinternet-kiosk-management/sbin/ik_create15
1 files changed, 9 insertions, 6 deletions
diff --git a/internet-kiosk-management/sbin/ik_create b/internet-kiosk-management/sbin/ik_create
index 5aca132..6649a1b 100755
--- a/internet-kiosk-management/sbin/ik_create
+++ b/internet-kiosk-management/sbin/ik_create
@@ -171,15 +171,18 @@ EOF
chmod u+x $IK_CHROOT/ik_dte_install.sh
-mount --bind /proc $IK_CHROOT/proc
-mount --bind /dev $IK_CHROOT/dev
-mount --bind /sys $IK_CHROOT/sys
+mkdir -p $IK_CHROOT/{proc,dev/pts,sys}
+mount -tproc proc $IK_CHROOT/proc || true
+mount -tsysfs sys $IK_CHROOT/sys || true
+mount -tdevts devts $IK_CHROOT/dev/pts || true
chroot $IK_CHROOT /ik_dte_install.sh
-umount $IK_CHROOT/proc
-umount $IK_CHROOT/dev
-umount $IK_CHROOT/sys
+for mountpoint in proc dev/pts sys; do
+ while true; do
+ cat /proc/mounts | grep $IK_CHROOT/$mountpoint >/dev/null && umount $IK_CHROOT/$mountpoint || break
+ done
+done
rm -f $IK_CHROOT/etc/udev/rules.d/*-persistent-*.rules