modprobe: 치명적: /lib/modules/6.6.16 디렉토리에서 dm_mod 모듈을 찾을 수 없습니다.

modprobe: 치명적: /lib/modules/6.6.16 디렉토리에서 dm_mod 모듈을 찾을 수 없습니다.

-grant-nvme사용자 정의 커널을 구축하고 컴파일 중에 CONFIG_LOCALVERSION을 지정했습니다. 그러나 부팅하려고 하면 grub은 내가 무엇을 하든 그것을 찾는 것 같지만 /lib/modules/6.6.166.6.16을 어디에서 가져오는지 알 수 없습니다. 아마도 그것을 찾고 있는 것 같습니다 6.6.16-grant-nvme. 컴파일 중에 CONFIG_LOCALVERSION이 올바르게 설정되었는지, GRUB의 부팅 항목이 올바르게 설정되었는지, /lib/modules 및 /boot/vmlinuz-6.6.16-grant-nvme GRUB에 올바른 이름이 있는지 등을 수십 번 확인했습니다. 폴더 6.6.16 바닐라 이유로 부팅합니다.

어디에서 가져온 것입니까? 올바른 폴더로 어떻게 보낼 수 있나요?

전체 오류는 다음과 같습니다.

[ 6.174579] systemd[1]: Failed to start Load Kernel Modules.
[FAILED] Failed to start Load Kernel Modules.
[ 6.494351] dracut-pre-udev[499]: modprobe: FATAL: Module dm_mod not found in directory /lib/modules/6.6.16

물론, dracut에 들어갔을 때 다음을 보았습니다.

dracut:/# ls /lib/modules
6.6.16-grant-nvme

고쳐 쓰다

나도 시도했다dracut --force --kver 6.6.16-grant-nvme /boot/initramfs-6.6.16-grant-nvme.img

업데이트 2

오늘 새로운 눈으로 이 질문으로 돌아와서 계속 진행하십시오 vmlinuz. 커널 빌드 문자열이 이상해 보입니다.6.6.16 ([email protected]) (gcc (GCC) 11.4.1 20230605 (Red Hat 11.4.1-2), GNU ld version 2.35.2-42.el9) #2 SMP PREEMPT_DYNAMIC Thu Feb 15 08:10:42 EST 2024

이것은 분명히 내 것이 아닙니다 CONFIG_LOCALVERSION. 커널 빌드 프로세스를 다시 검토하고 문제가 있는지 살펴보겠습니다. 문제는 /boot의 폴더 이름이 정확하다는 것입니다. 읽는 동안에만 이런 일이 발생한다고 상상할 수 있습니다.CONFIG_LOCALVERSION

답변1

결국 돌아가서 구성을 저장하고 , make clean, make mrproper을 했습니다 make distclean.

그 후 구성을 복원하고 다시 빌드했는데 작동했습니다. 이름이 모두 정확해서 무엇이 잘못되었는지 정확히 알 수 없지만 /boot, 로컬 버전을 구성하지 않고 실제 커널 빌드 자체가 어떻게든 뭔가를 집어낸 것 같습니다.

모든 것을 재설정한 후에는 모든 것이 잘 작동했습니다.

관련 정보