[LFS_prj] 05 Final debugging

the Linux-From-Scratch debugging

매뉴얼 대로 했는데 커널 패닉이 일어난다. 로그를 보니 rootfs 디바이스가 로드 되지 않는 듯 하다. 일반적인 환경이 아니라 vmware상에서 개발하다보니 생긴 문제이다. 즉 커널 모듈이 vmware의 SCSI 드라이버를 로드하지 못하여 생기는 문제인 것 같다. 하기 두가지 방법으로 해결이 가능하다.

  1. initramfs환경으로 부팅 : grub.cfgfstab에 파티션 이름이 아닌 UUID를 넣고 initramfs로 부팅하는 방법인데 부팅은 되나 이제껏 구성했던 환경은 아니다.
  2. kernel에 필요한 모듈을 넣어 다시 컴파일 하는 방법

필자는 삽질에 삽질을 계속하여 2번째 방법으로 해결하였다.

Kernel rebuild

Host 환경 재로그인

필자는 grub을 설치한 후 백업을 하지 않았다. grub 명령어로 host의 우부투를 부팅하자. (부팅 시 grub 부팅 선택 화면에서 c키를 누르면 됨)

1
2
3
4
set root=(hd0,1)
linux /boot/vmlinuz root=/dev/sda1
initrd /boot/initrd.img
boot

이후 매뉴얼의 7.3, 7.4절에서 기술한 내용으로 LFS chroot 환경으로 진입한다.

kernel rebuild

매뉴얼의 10.3절에서 다음의 커널 모듈을 포함하여 커널을 리빌드한다. 사실 몇가지만 필요할텐데 정확하게 필요한게 먼지 몰라서 다 포함 시켰다.

  • VMware Balloon Driver
  • VMware VMCI Driver
  • Maintain a devtmpfs filesystem
  • AMD PCnet32 PCI support
  • SCSI device support, SCSI low-level drivers
  • BusLogic SCSI support
  • Fusion MPT ScsiHost drivers for SPI
  • Fusion MPT ScsiHost drivers for FC
  • Fusion MPT ScsiHost drivers for SAS
  • File Systems, Ext4 Journaling file system support

커널이 리빌드 되면 커널 모듈을 인스톨하고 빌드된 커널을 /boot에 복사하자. 이후 리부팅 후 성공

reference

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
Built with Hugo
Theme Stack designed by Jimmy