LUKS 볼륨의 비밀번호 없는 암호 해독을 위해 TPM 2.0 모듈과 함께 클레비스를 사용하고 싶습니다. 모듈은 데비안 테스트(과녁의 중심)에서 승인되었으며 존재 /dev/tpm0
합니다 /dev/tpmrm0
(데비안에서 필요한 U자 모양 명령을 실행할 수 있도록).
그러나 clevis initramfs 스크립트는 실패합니다. 쉘에서 이것을 조사한 후 위의 장치가 init=premount
initramfs에 있음을 발견했습니다./dev/tpm*
존재하지 않는다. 이것을 어떻게 바꿀 수 있나요? 데비안을 사용하면서 initramfs-tools
.
답변1
TPM을 구동하는 커널 모듈이 에 나열되어 initramfs에 로드되었는지 확인하십시오 /etc/initramfs-tools/modules
. 그러면 initramfs가 udev
장치를 생성해야 합니다.
먼저 lsmod | grep tpm
TPM 드라이버 모듈 찾기를 실행하세요. 나에게 출력은 다음과 같습니다.
# lsmod |grep tpm
tpm_tis 16384 0
tpm_tis_core 20480 1 tpm_tis
tpm 61440 2 tpm_tis,tpm_tis_core
rng_core 16384 2 tpm
tpm_tis
x86 하드웨어에서 가장 일반적인 TPM 구현을 위한 드라이버입니다. 출력에서 다른 모듈( tpm_tis_core
, tpm
및 ) 에 의존한다는 것을 알 수 있습니다 rng_core
. 목록은 lsmod
아래에서 위로 작성되므로 최적의 로드 순서는 먼저 로드하는 것입니다 rng_core
.
따라서 이러한 모듈이 initramfs에 로드되었는지 확인하려면 /etc/initramfs-tools/modules
파일에 네 줄을 추가해야 합니다.
rng_core
tpm
tpm_tis_core
tpm_tis
(이것은 약간 과잉일 수 있습니다. initramfs-tools
이제 모듈 종속성이 자동으로 처리된다고 생각하므로 언급하는 것만으로도 tpm_tis
충분할 수 있습니다. 하지만 재시도의 필요성을 최소화하기 위해 모듈을 명시적으로 지정하는 것을 좋아합니다...)
이 /etc/initramfs-tools/modules
파일을 편집한 후 initramfs 파일을 다시 생성해야 합니다. 데비안에서는 update-initramfs -u
.
다음 단계는 재부팅하고 init=premount
셸을 다시 사용하여 /dev/tpm*
장치가 이제 생성되었는지 확인하는 것입니다.