내가 달성하고 싶은 것은 부팅 시 SSH를 통해 잠금 해제되는 Raspberry Pi(Raspian Buster 실행)에 암호화된 루트 파일 시스템을 갖는 것입니다. 나는 적응하여 큰 발전을 이루었습니다칼리 리눅스 튜토리얼적어도 한 번은 작동하게 했지만 커널 업데이트 이후에는 살아남지 못했습니다.
문제 중 하나는 이 설정이 다음에서 /boot/config.txt
참조하는 initramfs를 사용한다는 것입니다.
initramfs initramfs.gz followkernel
커널 업데이트 후 수동 호출로 업데이트해야 합니다.
mkinitramfs -o /boot/initramfs.gz 4.19.118-v7+
이는 4.19.118-v7+
현재 커널 버전과 사용되는 Raspberry Pi 하드웨어 유형에 따라 다릅니다. 물론 apt upgrade
새 커널이 설치될 때마다 이 작업이 자동으로 수행되기를 바랍니다 .
내가 겪고 있는 두 가지 문제는 다음과 같습니다.
- A) 업데이트 프로세스를 어디에, 어떻게 삽입해야 할까요?
- B) 사용할 올바른 커널 버전을 결정하는 방법은 무엇입니까?
raspberrypi-kernel.postinst
A) 실행하는 법을 배웠습니다 /etc/kernel/postinst.d/
. 어느 것이 불릴 /usr/sbin/update-initramfs
까요 mkinitramfs
? 내가 혼란스러워하는 것은 다음 코드입니다 /usr/sbin/update-initramfs
.
set_initramfs()
{
initramfs="${BOOTDIR}/initrd.img-${version}"
}
initramfs의 파일 이름을 결정합니다. 업데이트 중에 그러한 파일이 생성되지 않았으며 올바른 방향으로 가고 있는지 잘 모르겠습니다.위키피디아init.rd 구성표가 initramfs 구성표로 대체되었음을 나타냅니다. 그러나 커널 모듈 업그레이드 후에 어떤 일이 발생해야 하는지 설명하는 좋은 문서를 찾을 수 없습니다. (좋은 링크 감사합니다).
그래서 내 질문은: mkinitramfs
명령을 실행하는 스크립트를 삽입하기에 좋은 위치는 어디입니까? 수정해야 합니까 /etc/kernel/postinst.d/
? 이 솔루션은 다음 몇 가지 데비안 릴리스에서 안정적일까요?
B)에 관해서는 작동하는 커널 버전을 얻는 것이 쉽습니다.
> ls -l /lib/modules/ | awk -F" " '{print $9}'`
5.4.51+
5.4.51-v7+
5.4.51-v7l+
5.4.51-v8+
하지만 현재 하드웨어에 적합한 것을 자동으로 선택하려면 어떻게 해야 할까요? Pi3B+의 경우 5.4.51-v7+
이를 자동으로 결정하는 방법이 있습니까?
도와주셔서 감사합니다!
답변1
설정을 통해 INITRD=Yes
initramfs를 활성화 하고 제안된 대로 업데이트하려면 /etc/default/raspberrypi-kernel
업데이트 후 스크립트를 추가해야 하는 것 같습니다./etc/initramfs/post-update.d/
/boot/config.txt
커널 업데이트 #608 후 intramfs 업데이트.
이것이 효과가 있기를 바랍니다...