ISO/archiso/initcpio/hooks/archiso_loop_mnt
Christian Hesse b1011376cf explicitly detach loop device on umount and silent losetup error
Umount detaches the loop device automatically, but let's make it
explicit to be sure. Additionally losetup gives:

losetup: /dev/loop0: detach failed: No such device or address

This is kind of expected, let's silent the error message.

Signed-off-by: Christian Hesse <mail@eworm.de>
2015-05-29 13:10:37 -03:00

33 lines
947 B
Bash

# vim: set ft=sh:
run_hook () {
[[ -n "${img_label}" ]] && img_dev="/dev/disk/by-label/${img_label}"
if [[ -n "${img_dev}" && -n "${img_loop}" ]]; then
mount_handler="archiso_loop_mount_handler"
fi
}
archiso_loop_mount_handler () {
newroot="${1}"
local _dev_loop
msg ":: Setup a loop device from ${img_loop} located at device ${img_dev}"
_mnt_dev "${img_dev}" "/run/archiso/img_dev" "-r"
if [[ "${copytoram}" != "y" ]]; then
echo $(readlink -f ${img_dev}) >> /run/archiso/used_block_devices
fi
if ! _dev_loop=$(losetup --find --show --read-only "/run/archiso/img_dev/${img_loop}"); then
echo "ERROR: Setting loopback device for file '/run/archiso/img_dev/${img_loop}'"
launch_interactive_shell
fi
archiso_mount_handler ${newroot}
if [[ "${copytoram}" == "y" ]]; then
losetup -d ${_dev_loop} 2>/dev/null
umount /run/archiso/img_dev
fi
}