사용자 정의 빌드 커널이 부팅 불가능한 initramfs를 생성함 - CentOS 7

사용자 정의 빌드 커널이 부팅 불가능한 initramfs를 생성함 - CentOS 7

make저는 자체 커널(4.19.37)을 구축해 왔으며 빌드( ) 또는 설치( make install_modules+ make install) 중에 문제가 없습니다 . 를 실행하기 전까지는 모든 것이 잘 진행되는 것 같습니다 grub2-mkconfig -o /boot/grub2/grub.cfg. 이 명령을 실행할 때 grub 은 vmlinuz-*해당 . 그러나 이 시점에서 시스템은 무기한(> 몇 시간) 정지됩니다. 멈추지 않는 것 같아서 재부팅해야 합니다. 이 문제를 조사한 결과 문제가 될 수 있는 것으로 발견한 것은 부팅 가능한 OS용 제거 디스크를 검색하는 것뿐입니다. 이 디스크를 제거하고 추가하여 제거 했습니다 ./boot/initramfs-*.imgCtrl+CGRUB_DISABLE_OS_PROBER=true/etc/default/grub이 SE 게시물. 둘 다 도움이 되지 않았습니다.

재부팅하면 명령줄이 표시됩니다 . 아마도 grub 구성 파일이 완료되지 않고 손상되었기 grub>때문일 것입니다 . grub2-mkconfig여기에서는 initramfs뿐만 아니라 이전 커널과 새 커널을 문제 없이 로드할 수 있지만 부팅을 실행하면 커널 패닉이 발생합니다.

end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)

커널 패닉 - 동기화되지 않음: VFS: 알 수 없는 블록(1,0)에 루트 fs를 마운트할 수 없습니다.

initramfs-4.19.37.img당연히 내 빌드 프로세스에서 생성된 내 파일에 문제가 있다고 가정합니다 . 실험으로 새 커널을 로드할 수 있는지 테스트했지만 이전 initramfs(4.19.10)를 사용했고 실제로 emergency mode. 그러나 나는 새로운 initramfs를 사용하여 반대의 기존 커널을 ​​수행할 수 없습니다. 그래서 내 새로운 initramfs 이미지에 뭔가 수상한 점이 있습니다.

더 똑똑해지면서 나의 마지막 실험은 이전 및 새 initramfs 이미지를 mount. 둘 다 오류 없이 성공적으로 마운트되었으며 파일 구조가 동일한 것 같습니다. 또한 .config커널 빌드에 대한 새 파일과 이전 파일을 모두 비교했는데 차이점은 사소합니다.

몇 가지 기타 참고 사항/관찰 사항:

  • 위 이미지에서는 List of all partions:아무것도 생성되지 않는 것을 볼 수 있는데, 파일 시스템 유형에 문제가 있는 것인지 궁금합니다. 내 하드 드라이브는 입니다 xfs. 의 파일 시스템은 무엇입니까 initramfs? CPIO?
  • 명령 grub>줄 에서는 ls /. 내 파일 과 파일이 /boot모두 포함되어 있습니다 .vmlinuz-*initramfs-*.img
  • 내 파일 시스템은xfs
  • 동일한 결과로 다양한 다른 커널 버전을 시도했습니다.
  • 저는 두 번 성공적으로 빌드하고 설치했는데, 한 번은 기존 커널(4.19.10)이었고, 업그레이드였으며, 두 번째는 low-latency선점 모델이 있는 동일한 커널을 사용했습니다. 나는 그때 내가 무엇을 다르게 했는지 평생 알 수 없습니다.

따라서 마지막 질문은 - initramfs이 빌드의 형식에 어떤 문제가 있습니까? 무결성을 검증하려면 또 어떻게 해야 합니까? 파일 시스템 .config용 커널을 구축할 때 변경해야 할 사항이 있습니까 xfs?


면책조항: 따라서 이것은 실제로 다음의 연속입니다.이 질문, 하지만 문제를 조금 단순화했습니다. 일부 배경 정보가 관련될 수 있습니다.

관련 정보