From 0e249b498c9d1fc5e4f7f9afffbfd07ce0aa411d Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Tue, 21 Aug 2012 22:29:51 +0200 Subject: Change method of mounting /proc, /sys and /dev inside of chroots. --- debian/changelog | 2 ++ internet-kiosk-management/sbin/ik_create | 15 +++++++++++---- internet-kiosk-management/sbin/ik_shell | 14 +++++++++----- internet-kiosk-management/sbin/ik_upgrade | 15 ++++++++++----- 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 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 </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" < /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" < /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 -- cgit v1.2.3