커널 패키지를 적절하게 업데이트한 후 데비안에서 mkinitramfs를 자동으로 실행하는 방법은 무엇입니까?

커널 패키지를 적절하게 업데이트한 후 데비안에서 mkinitramfs를 자동으로 실행하는 방법은 무엇입니까?

내가 달성하고 싶은 것은 부팅 시 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.postinstA) 실행하는 법을 배웠습니다 /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=Yesinitramfs를 활성화 하고 제안된 대로 업데이트하려면 /etc/default/raspberrypi-kernel업데이트 후 스크립트를 추가해야 하는 것 같습니다./etc/initramfs/post-update.d//boot/config.txt커널 업데이트 #608 후 intramfs 업데이트.

이것이 효과가 있기를 바랍니다...

관련 정보