forked from mirrored-repos/manjaro-tools
small update to util-mount.sh
This commit is contained in:
parent
a3004e0261
commit
42a4395788
1 changed files with 13 additions and 9 deletions
|
@ -57,27 +57,30 @@ ignore_error() {
|
|||
}
|
||||
|
||||
track_mount() {
|
||||
if [[ -z $CHROOT_ACTIVE_MOUNTS ]]; then
|
||||
CHROOT_ACTIVE_MOUNTS=()
|
||||
trap 'chroot_umount' EXIT
|
||||
fi
|
||||
# if [[ -z $CHROOT_ACTIVE_MOUNTS ]]; then
|
||||
# CHROOT_ACTIVE_MOUNTS=()
|
||||
# trap 'chroot_umount' EXIT
|
||||
# fi
|
||||
|
||||
mount "$@" && CHROOT_ACTIVE_MOUNTS=("$2" "${CHROOT_ACTIVE_MOUNTS[@]}")
|
||||
}
|
||||
|
||||
mount_conditionally() {
|
||||
local cond=$1; shift
|
||||
if eval "$cond"; then
|
||||
local cond=$1; shift
|
||||
if eval "$cond"; then
|
||||
track_mount "$@"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
api_fs_mount() {
|
||||
CHROOT_ACTIVE_MOUNTS=()
|
||||
[[ $(trap -p EXIT) ]] && die '(BUG): attempting to overwrite existing EXIT trap'
|
||||
trap 'chroot_umount' EXIT
|
||||
mount_conditionally "! mountpoint -q '$1'" "$1" "$1" --bind &&
|
||||
track_mount proc "$1/proc" -t proc -o nosuid,noexec,nodev &&
|
||||
track_mount sys "$1/sys" -t sysfs -o nosuid,noexec,nodev,ro &&
|
||||
#ignore_error mount_conditionally "[[ -d '$1/sys/firmware/efi/efivars' ]]" \
|
||||
# efivarfs "$1/sys/firmware/efi/efivars" -t efivarfs -o nosuid,noexec,nodev &&
|
||||
# ignore_error mount_conditionally "[[ -d '$1/sys/firmware/efi/efivars' ]]" \
|
||||
# efivarfs "$1/sys/firmware/efi/efivars" -t efivarfs -o nosuid,noexec,nodev &&
|
||||
track_mount udev "$1/dev" -t devtmpfs -o mode=0755,nosuid &&
|
||||
track_mount devpts "$1/dev/pts" -t devpts -o mode=0620,gid=5,nosuid,noexec &&
|
||||
track_mount shm "$1/dev/shm" -t tmpfs -o mode=1777,nosuid,nodev &&
|
||||
|
@ -87,6 +90,7 @@ api_fs_mount() {
|
|||
|
||||
chroot_umount() {
|
||||
umount "${CHROOT_ACTIVE_MOUNTS[@]}"
|
||||
unset CHROOT_ACTIVE_MOUNTS
|
||||
}
|
||||
|
||||
fstype_is_pseudofs() {
|
||||
|
|
Loading…
Reference in a new issue