diff options
| author | Daniel Baumann <daniel@debian.org> | 2009-12-23 22:27:18 +0100 | 
|---|---|---|
| committer | Daniel Baumann <daniel@debian.org> | 2011-03-09 19:17:03 +0100 | 
| commit | 45406a5c987a2e4510dbb5df06c93ed302228fc0 (patch) | |
| tree | d366eaa164c1f7864b452cfcc9d7b8a7247b81b5 | |
| parent | 6d215be0e7cf165c6fe14d265e7dfdc66dccbc05 (diff) | |
| download | vyos-live-build-45406a5c987a2e4510dbb5df06c93ed302228fc0.tar.gz vyos-live-build-45406a5c987a2e4510dbb5df06c93ed302228fc0.zip | |
Making unmount routines a bit more robust.
| -rwxr-xr-x | functions/exit.sh | 17 | ||||
| -rwxr-xr-x | helpers/lh_chroot_devpts | 4 | 
2 files changed, 16 insertions, 5 deletions
| diff --git a/functions/exit.sh b/functions/exit.sh index 928fd6e85..f29dbf790 100755 --- a/functions/exit.sh +++ b/functions/exit.sh @@ -20,10 +20,19 @@ 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..." -	for DIRECTORY in $(awk -v dir="${PWD}/chroot/" '$2 ~ dir { print $2 }' /proc/mounts | sort -r) -	do -		umount ${DIRECTORY} > /dev/null 2>&1 || true -	done + +	if [ -e /proc/mounts ] +	then +		for DIRECTORY in $(awk -v dir="${PWD}/chroot/" '$2 ~ dir { print $2 }' /proc/mounts | sort -r) +		do +			umount ${DIRECTORY} > /dev/null 2>&1 || true +		done +	else +		for DIRECTORY in /dev/pts /dev /proc /selinux /sys +		do +			umount -f chroot/${DIRECTORY} > /dev/null 2>&1 || true +		done +	fi  	return ${VALUE}  } diff --git a/helpers/lh_chroot_devpts b/helpers/lh_chroot_devpts index 75edab23f..9248595d1 100755 --- a/helpers/lh_chroot_devpts +++ b/helpers/lh_chroot_devpts @@ -67,9 +67,11 @@ case "${1}" in  		# Unmounting /dev/pts  		if [ "${LH_USE_FAKEROOT}" != "true" ]  		then -			if Find_files chroot/dev/pts/* +			if grep -qs "$(pwd)/chroot/dev/pts" /proc/mounts || Find_files chroot/dev/pts/*  			then  				${LH_ROOT_COMMAND} umount chroot/dev/pts +			else +				${LH_ROOT_COMMAND} umount -f chroot/dev/pts > /dev/null 2>&1 || true  			fi  		fi | 
