summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gabriel <mike.gabriel@das-netzwerkteam.de>2012-08-21 22:29:51 +0200
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2012-08-21 22:29:51 +0200
commit0e249b498c9d1fc5e4f7f9afffbfd07ce0aa411d (patch)
tree30b4c84a22712381062a280a61b8cbb2243bacd5
parent6c3849d82b18167bd9437706f41e45fe487c906a (diff)
downloadinternet-kiosk-0e249b498c9d1fc5e4f7f9afffbfd07ce0aa411d.tar.gz
internet-kiosk-0e249b498c9d1fc5e4f7f9afffbfd07ce0aa411d.tar.bz2
internet-kiosk-0e249b498c9d1fc5e4f7f9afffbfd07ce0aa411d.zip
Change method of mounting /proc, /sys and /dev inside of chroots.
-rw-r--r--debian/changelog2
-rwxr-xr-xinternet-kiosk-management/sbin/ik_create15
-rwxr-xr-xinternet-kiosk-management/sbin/ik_shell14
-rwxr-xr-xinternet-kiosk-management/sbin/ik_upgrade15
4 files changed, 32 insertions, 14 deletions
diff --git a/debian/changelog b/debian/changelog
index e239012..e056eb0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,6 +5,8 @@ internet-kiosk (0.0.2-0~edu1) UNRELEASED; urgency=low
- Add support for plymouth in diskless terminals.
- Add IK_PRETTY_NAME and IK_DISTRO_CODENAME to settings
preview before running commands.
+ - Change method of mounting /proc, /sys and /dev inside of
+ chroots.
-- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Tue, 21 Aug 2012 18:14:02 +0200
diff --git a/internet-kiosk-management/sbin/ik_create b/internet-kiosk-management/sbin/ik_create
index 8c3622d..dfe6955 100755
--- a/internet-kiosk-management/sbin/ik_create
+++ b/internet-kiosk-management/sbin/ik_create
@@ -99,8 +99,6 @@ cat > $IK_CHROOT/ik_dte_install.sh <<EOF
#!/bin/bash
export LANG=C
-mount /proc
-mount /dev/pts
export HOME=/root
export http_proxy=$IK_HTTP_PROXY
export https_proxy=$IK_HTTPS_PROXY
@@ -165,15 +163,24 @@ PATCH
# restore start-stop-daemon
[ \$(stat --format '%s' /sbin/start-stop-daemon) -lt 200 ] && mv /sbin/start-stop-daemon.keep /sbin/start-stop-daemon
-umount -l /proc &>/dev/null
-umount -l /dev/pts &>/dev/null
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
+
chroot $IK_CHROOT /ik_dte_install.sh
+umount $IK_CHROOT/proc
+umount $IK_CHROOT/dev
+umount $IK_CHROOT/sys
+
rm -f $IK_CHROOT/etc/udev/rules.d/*-persistent-*.rules
ik_update
+
echo "Internet Kiosk Diskless Terminal creation has finished successfully."
echo
diff --git a/internet-kiosk-management/sbin/ik_shell b/internet-kiosk-management/sbin/ik_shell
index 270a7f1..521d5c9 100755
--- a/internet-kiosk-management/sbin/ik_shell
+++ b/internet-kiosk-management/sbin/ik_shell
@@ -46,8 +46,6 @@ test -e "$IK_CHROOT" || {
cat > "$IK_CHROOT/ik_dte_shell.sh" <<EOF
#!/bin/bash
-mount /proc &> /dev/null
-mount /dev/pts &> /dev/null
export HOME=/root
# export the proxy server (if any) to the shell.
@@ -76,12 +74,18 @@ chmod +x /sbin/start-stop-daemon
# restore start-stop-daemon
[ \$(stat --format '%s' /sbin/start-stop-daemon) -lt 200 ] && mv /sbin/start-stop-daemon.keep /sbin/start-stop-daemon
-umount -l /proc &> /dev/null
-umount -l /dev/pts &> /dev/null
-
echo
echo "Internet Kiosk Terminal Shell has exited."
echo
EOF
chmod u+x "$IK_CHROOT/ik_dte_shell.sh"
+
+mount --bind /proc $IK_CHROOT/proc
+mount --bind /dev $IK_CHROOT/dev
+mount --bind /sys $IK_CHROOT/sys
+
chroot "$IK_CHROOT" /ik_dte_shell.sh
+
+umount $IK_CHROOT/proc
+umount $IK_CHROOT/dev
+umount $IK_CHROOT/sys
diff --git a/internet-kiosk-management/sbin/ik_upgrade b/internet-kiosk-management/sbin/ik_upgrade
index e203ca0..4a6cb29 100755
--- a/internet-kiosk-management/sbin/ik_upgrade
+++ b/internet-kiosk-management/sbin/ik_upgrade
@@ -45,8 +45,6 @@ test -e "$IK_CHROOT" || {
cat > "$IK_CHROOT/ik_dte_upgrade.sh" <<EOF
#!/bin/bash
-mount /proc &> /dev/null
-mount /dev/pts &> /dev/null
export HOME=/root
export http_proxy=$IK_HTTP_PROXY
@@ -74,12 +72,19 @@ done
# restore start-stop-daemon
[ \$(stat --format '%s' /sbin/start-stop-daemon) -lt 200 ] && mv /sbin/start-stop-daemon.keep /sbin/start-stop-daemon
-umount -l /proc &> /dev/null
-umount -l /dev/pts &> /dev/null
-
echo
echo "Internet Kiosk Diskless Terminal upgrade has finished."
echo
EOF
+
chmod u+x "$IK_CHROOT/ik_dte_upgrade.sh"
+
+mount --bind /proc $IK_CHROOT/proc
+mount --bind /dev $IK_CHROOT/dev
+mount --bind /sys $IK_CHROOT/sys
+
chroot "$IK_CHROOT" /ik_dte_upgrade.sh
+
+umount $IK_CHROOT/proc
+umount $IK_CHROOT/dev
+umount $IK_CHROOT/sys