[완료]커널 컴파일을 했는데 커널 패닉이 발생하네요.
글쓴이: sangchu / 작성시간: 화, 2008/10/28 - 5:31오후
부트로더는 lilo 구요.
image=/boot/wraplinux -> 부트이미지 이름입니다.
label=wraplinux
read-only
lilo.conf에 이렇게 추가되어 있습니다.
근데 부팅을 해보면,
VFS : Cannot open root device "/" or 00:00
Please append a crrect boot option
Kernel panic : VFS: Unable to mount root fs on 00:00
왜 이런 경우가 발생하나요?
Forums:
hdd 를 mount하지 못해서 발생합니다.
booting 하면서 root device를 mount하지 못할 때 저런 error 메시지를 내며 kernel panic 이 일어납니다.
root directory가 있는 device를 mount하지 못하는 이유는 보통 두가지 입니다.
1. 해당 device에 대한 driver가 kernel에 없는 경우 (module로 만들었을 때에도 마찬가지 입니다.)
2. 해당 device에서 사용하는 file system driver가 kernel에 없는 경우 (마찬가지로 module로 만들었을 때에도 이런 일이 발생합니다.)
kernel compile시 흔히 하는 실수(?)가 driver들이 종류도 많고 복잡하고 해서 죄다 module로 빼서 필요할 때만 사용하도록 하는 것인데, kernel이 일단 root device를 mount해야 해당 module을 읽을 수 있으므로, root device를 mount하지 못하면 말짱 꽝이 됩니다.
따라서 해결 방안도 두가지 입니다.
device driver, file system driver를 자신의 computer 에 해당하는 것을 찾아 module이 아닌 kernel에 내장하는 방식으로 compile하는 방법과
booting 시 필요한 module들을 ramdisk image로 만들어 사용하는 방법 입니다.
(initrd.img 어쩌구 하는 녀석들이 여기에 속합니다.)
자신의 compulter 에서 필요한 driver를 정확히 안다면 전자의 방식을 추천하고, 잘 모르겠으니 죄다 module로 만들어버리자. 하시는 분은 후자를 추천합니다.
initrd.img 쪽을 만드는 방법은 찾아보세요. (저도 검색해 봐야 압니다. ~.~)
혹시.. lilo는 때려보셨나요?
제 경우엔.. lilo.conf 만 고쳐놓고... lilo를 안먹여서.. 못찾는경우가 많았던거 같아요..
한번 먹여보시길..
댓글 달기