Hello, As discussed on IRC earlier, here is a patch that removes the hard coded calls to umount in functions/exit.sh and instead looks at /proc/mounts to determine all active mounts within a chroot and attempts to umount each one.
Cheers, -- Cody A.W. Somerville Software Systems Release Engineer Foundations Team Custom Engineering Solutions Group Canonical OEM Services Phone: +1-781-850-2087 Cell: +1-506-471-8402 Email: [email protected]
From abb0aed5040a76ab9fd3db0693a953b7ee9bb830 Mon Sep 17 00:00:00 2001 From: Cody A.W. Somerville <[email protected]> Date: Wed, 15 Apr 2009 20:25:36 -0300 Subject: [PATCH] Replaced hard coded umounts in functions/exit.sh with smarter code that iterates over all the mounts in the chroot umounting each one. --- functions/exit.sh | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/functions/exit.sh b/functions/exit.sh index 980d2d1..f593d3a 100755 --- a/functions/exit.sh +++ b/functions/exit.sh @@ -18,10 +18,10 @@ Exit () # Always exit true in case we are not able to unmount # (e.g. due to running processes in chroot from user customizations) Echo_message "Begin unmounting filesystems..." - umount chroot/dev/pts > /dev/null 2>&1 || true - umount chroot/proc > /dev/null 2>&1 || true - umount chroot/selinux > /dev/null 2>&1 || true - umount chroot/sys > /dev/null 2>&1 || true + for DIRECTORY in $(grep "${PWD}/chroot/" /proc/mounts | awk '{ print $2 }') + do + umount ${DIRECTORY} > /dev/null 2>&1 || true + done } Setup_cleanup () -- 1.6.0.4
