mirror of
https://github.com/ItsDrike/dotfiles.git
synced 2025-06-29 12:10:42 +00:00
Add initcpio script to autodetect external luks root key
This commit is contained in:
parent
caef6a84c5
commit
4929c281d2
3 changed files with 55 additions and 1 deletions
27
root/etc/initcpio/hooks/lukskeyfile
Normal file
27
root/etc/initcpio/hooks/lukskeyfile
Normal file
|
@ -0,0 +1,27 @@
|
|||
#!/bin/ash
|
||||
|
||||
run_hook() {
|
||||
if [ -n "$lukskeyfile" ]; then
|
||||
# This is a needed kernel parameter for this hook
|
||||
modprobe -a -q loop dm-crypt >/dev/null 2>&1
|
||||
# Refer to help from `mkinitcpio -H lukskeyfile`.
|
||||
IFS=: read rootKeyDev rootKey cryptkeyLoc <<EOF
|
||||
$lukskeyfile
|
||||
EOF
|
||||
|
||||
if [ -z "${cryptkeyLoc}" ]; then
|
||||
cryptkeyLoc=/crypto_keyfile.bin
|
||||
fi
|
||||
|
||||
if resoleved=$(resolve_device "${rootKeyDev}" $rootdelay); then
|
||||
if mount -o noatime "${rootKeyDev}" /mnt>/dev/null 2>&1; then
|
||||
cat "/mnt/${rootKey}" > "${cryptkeyLoc}"
|
||||
else
|
||||
echo "Failed to mount ${rootKeyDev} on /mnt"
|
||||
/bin/sh
|
||||
fi
|
||||
else
|
||||
echo "Failed to find ${rootKeyDev} containing LUKS root key."
|
||||
fi
|
||||
fi
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue