diff -Naur genkernel-4.0.9.orig/defaults/initrd.scripts genkernel-4.0.9/defaults/initrd.scripts --- genkernel-4.0.9.orig/defaults/initrd.scripts 2020-06-24 03:44:22.000000000 +0900 +++ genkernel-4.0.9/defaults/initrd.scripts 2020-07-15 14:45:13.739085574 +0900 @@ -1769,6 +1769,12 @@ local DEV_ERROR=0 KEY_ERROR=0 KEYDEV_ERROR=0 local mntkey="/mnt/key/" crypt_filter_ret= + if [ $2 -gt 0 ] + then + eval local LUKS_NAME="$1_$2" + eval local OPENED_LOCKFILE='"${CRYPT_'${TYPE}'_OPENED_LOCKFILE}_$2"' + fi + while true do local cryptsetup_options='' @@ -2264,7 +2270,11 @@ if [ -n "${CRYPT_ROOT}" ] then - openLUKS "root" + local crypt_index=0 + for CRYPT_ROOT in ${CRYPT_ROOTS}; do + openLUKS "root" ${crypt_index} + let crypt_index=${crypt_index}+1 + done if [ -n "${REAL_ROOT}" ] then # Rescan volumes @@ -2314,6 +2324,7 @@ write_env_file \ "${CRYPT_ENV_FILE}" \ CRYPT_ROOT \ + CRYPT_ROOTS \ CRYPT_ROOT_TRIM \ CRYPT_SILENT \ CRYPT_SWAP diff -Naur genkernel-4.0.9.orig/defaults/linuxrc genkernel-4.0.9/defaults/linuxrc --- genkernel-4.0.9.orig/defaults/linuxrc 2020-06-24 03:44:22.000000000 +0900 +++ genkernel-4.0.9/defaults/linuxrc 2020-07-15 15:04:24.129541019 +0900 @@ -244,8 +244,9 @@ ISCSI_NOIBFT=1 ;; # Crypto - crypt_root=*) - CRYPT_ROOT=${x#*=} + crypt_root=*|crypt_roots=*) + CRYPT_ROOT=${CRYPT_ROOT:=${x#*=}} + CRYPT_ROOTS="${CRYPT_ROOTS} ${x#*=}" USE_CRYPTSETUP=1 ;; crypt_swap=*)