mirror of
https://gitdl.cn/https://github.com/chakralinux/core.git
synced 2025-02-03 06:37:14 +08:00
40 lines
1.6 KiB
Bash
40 lines
1.6 KiB
Bash
#!/bin/bash
|
|
|
|
build()
|
|
{
|
|
if [ -z "${CRYPTO_MODULES}" ]; then
|
|
MODULES=" dm-crypt $(all_modules "/crypto/") "
|
|
else
|
|
MODULES=" dm-crypt ${CRYPTO_MODULES} "
|
|
fi
|
|
|
|
FILES=""
|
|
SCRIPT="encrypt"
|
|
[ -f "/sbin/cryptsetup" ] && add_binary "/sbin/cryptsetup" "/sbin/cryptsetup"
|
|
[ -f "/usr/sbin/cryptsetup" ] && add_binary "/usr/sbin/cryptsetup" "/sbin/cryptsetup"
|
|
add_binary "/sbin/dmsetup"
|
|
add_file "/usr/lib/udev/rules.d/10-dm.rules"
|
|
add_file "/usr/lib/udev/rules.d/13-dm-disk.rules"
|
|
add_file "/usr/lib/udev/rules.d/95-dm-notify.rules"
|
|
add_file "/usr/lib/initcpio/udev/11-dm-initramfs.rules" "/lib/udev/rules.d/11-dm-initramfs.rules"
|
|
}
|
|
|
|
help() {
|
|
cat <<HELPEOF
|
|
This hook allows for an encrypted root device. Users should specify the device
|
|
to be unlocked using 'cryptdevice=device:dmname' on the kernel command line,
|
|
where 'device' is the path to the raw device, and 'dmname' is the name given to
|
|
the device after unlocking, and will be available as /dev/mapper/dmname.
|
|
|
|
For unlocking via keyfile, 'cryptkey=device:fstype:path' should be specified on
|
|
the kernel cmdline, where 'device' represents the raw block device where the key
|
|
exists, 'fstype' is the filesystem type of 'device' (or auto), and 'path' is
|
|
the absolute path of the keyfile within the device.
|
|
|
|
Without specifying a keyfile, you will be prompted for the password at runtime.
|
|
This means you must have a keyboard available to input it, and you may need
|
|
the keymap hook as well to ensure that the keyboard is using the layout you
|
|
expect.
|
|
HELPEOF
|
|
}
|