shell_down script from cryptboot-s6 cannot unmount encrypted partitions.
#!/usr/bin/env bash
do_lock() {
umount /dev/mapper/"$1" >/dev/null
cryptsetup luksClose "$1" >/dev/null
}
read_crypttab() {
local line nspo
while read line <&3; do
[[ $line && $line != '#'* ]] || continue
eval nspo=("${line%#*}")
do_lock "${nspo[0]}" "${nspo[1]}" "${nspo[2]}" "${nspo[3]}"
done 3< /etc/crypttab
}
vgchange --sysinit -a n &>/dev/null
read_crypttab
`umount /dev/mapper/cryptboot` fails because /dev/mapper/cryptboot is mounted on /boot and /boot/efi is mounted on top of /boot.
I suggest making mount-filesystems unmount every file system before cryptsetup closes decrypted devices.