diff -Naur genkernel-4.2.3.orig/defaults/initrd.scripts genkernel-4.2.3/defaults/initrd.scripts --- genkernel-4.2.3.orig/defaults/initrd.scripts 2021-07-09 06:09:46.000000000 +0900 +++ genkernel-4.2.3/defaults/initrd.scripts 2021-07-13 21:57:48.241878750 +0900 @@ -1841,6 +1841,12 @@ exit 1 fi + if [ $2 -gt 0 ] + then + eval local LUKS_NAME="$1_$2" + eval local OPENED_LOCKFILE='"${CRYPT_'${TYPE}'_OPENED_LOCKFILE}_$2"' + fi + while true do # Reset cryptsetup_options on each iteration @@ -2346,7 +2352,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 @@ -2396,6 +2406,7 @@ write_env_file \ "${CRYPT_ENV_FILE}" \ CRYPT_ROOT \ + CRYPT_ROOTS \ CRYPT_ROOT_OPTIONS \ CRYPT_SILENT \ CRYPT_SWAP \ diff -Naur genkernel-4.2.3.orig/defaults/linuxrc genkernel-4.2.3/defaults/linuxrc --- genkernel-4.2.3.orig/defaults/linuxrc 2021-07-09 06:09:46.000000000 +0900 +++ genkernel-4.2.3/defaults/linuxrc 2021-07-13 21:57:48.241878750 +0900 @@ -214,8 +214,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_root_options=*)