1
0
Fork 0
cryptsetup/debian/initramfs/scripts/local-bottom/cryptroot
Daniel Baumann 74b680e410
Adding debian version 2:2.7.5-2.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-21 10:45:48 +02:00

45 lines
1 KiB
Bash

#!/bin/sh
PREREQ=""
prereqs()
{
echo "$PREREQ"
}
case $1 in
prereqs)
prereqs
exit 0
;;
esac
# If we reached this stage, we do have a rootfs mounted
# so let's clean-up cryptroot setup mess...
[ -f /lib/cryptsetup/functions ] || return 0
. /lib/cryptsetup/functions
rm -f -- "$CRYPTROOT_COUNT_FILE"
dmremove_deferred() {
local d="$1" d2 name devno maj min
if [ -d "$d/dm" ] && devno="$(cat "$d/dev")" &&
maj="${devno%:*}" && min="${devno#*:}" &&
[ "$devno" = "$maj:$min" ] && [ -n "$maj" ] && [ -n "$min" ] &&
name="$(dmsetup info -c --noheadings -o unmangled_name -j "$maj" -m "$min")"; then
dmsetup remove --deferred "$name"
fi
if [ -d "$d/slaves" ]; then
for d2 in "$d/slaves"/*; do
if [ -d "$d2" ] && d2="$(realpath "$d2")"; then
dmremove_deferred "$d2"
fi
done
fi
}
if devnos="$(get_mnt_devno "$rootmnt")"; then
for devno in $devnos; do
dmremove_deferred "/sys/dev/block/$devno"
done
fi