직접 컴파일한 커널로 부팅이 안되요...^^
글쓴이: achrom / 작성시간: 금, 2003/04/11 - 11:30오전
안녕하세요.
kernel 2.4.18을 받아서 옵션을 좀 수정하고 컴파일을 했습니다.
컴파일한 커널로 부팅을 하는데, 다음의 메시지와 함께 다운이 됩니다.
Kernel panic: No init found. Try passing init= option to kernel.
이유가 뭘까요?
도움을 기다립니다.
감사합니다.
Forums:
/etc/lilo.conf 화일을 확인해야 겠는데요.. 올려주실 수 있을
/etc/lilo.conf 화일을 확인해야 겠는데요.. 올려주실 수 있을까요?
----
http://poorpuppet.egloos.com
전 지금 부팅 디스켓을 만들려고 하는데요...루트 파일시스템이 하드
전 지금 부팅 디스켓을 만들려고 하는데요...
루트 파일시스템이 하드 디스크에 있지 않고,
디스켓에 압축이 되어 있는 상황이거든요.
첫번째 디스켓에 커널을 담고,
두번째 디스켓에 미닉스로 된 루트 파일 시스템을 담았어요.
그리고 커널에 rdev를 사용해서 두번째 디스켓에서 루트 파일시스템을 읽도록 설정했구요.
배포판에서 리눅스 설치용으로 만들어논 커널 이미지로는 부팅이 잘되는데,
제가 컴파일한 커널로는 부팅이 잘 안됩니다.
첫번째 디스켓을 넣고 부팅을 하면, 커널을 로드한 후, 두번째 디스켓을 넣으라는 메시지가 나오고, 두번째 디스켓을 넣으면, 디스켓을 읽다가 위의 메시지와 함께 다운됩니다.
배포판 설치용 커널 이미지로는 잘 되거든요..
커널 컴파일할 때 ram disk도 넣고, minix fs도 넣었는데, 왜 안될까요?
커널 소스에 보면...먼저 /sbin/init을 찾아서 실행하고
커널 소스에 보면...
먼저 /sbin/init을 찾아서 실행하고
그게 없다면 /bin/init
그게 없다면 ..뭐더라 까먹었당 -_- 세번째는 까먹었네요 죄송
그것도 없으면
/bin/sh를 실행하려고 시도합니다.
그것도 없으면 말씀하신 오류를 내고 죽어버리죠.
제 생각엔 아마 파일 시스템이 안올라가서 그런것 같네요. 저도 부팅 디스켓을 만드는 것을 안해봐서 모르지만 제대로 파일 시스템이 안올라간 것 같습니다.
플로피에 dd로 이미지를 뜨실 때나 램디스크를 만드실 때 뭔가 잘못된 것이 없는 지 확인해보셔야 할 듯...
커널 소스에서 램디스크를 어떻게 푸는지도 보시고요..
rommance.net
제 생각엔 문제가 두번쩨 디스크에 있은것 같군요.설명데로라면 디스크에
제 생각엔 문제가 두번쩨 디스크에 있은것 같군요.
설명데로라면 디스크에 파일들을 직접담으신 것 같은데...
보통 램디스크는 압축이미지로 사용하거든요.
한 2-4 메가 까지는 디스크 한장에 압축해서 쓰실 수 있읍니다.
/dev/zero를 사용하는 것은 압축률을 높이기 위해서고요, count는 4 메가 파일 작성 옵션입니다.
# dd if=/dev/zero of=/tmp/rootfs bs=1k count=4096
이렇게 헤서 더미(dummy) 이미지를 만드시고, 포맷 시키세요 (흑 minix는 제가 잘 몰라요, ext로는 및에있는 링크에...)
포맷된 파일을 룹백 (loop back device) 으로 마운트 시키시고...
거기다 지금 디스크에 있는 내용들을 옮기시고,
유마운트 -> 압축
그리고 압축된 파일을 dd로 디스크에:
dd if=/tmp/rootfs.gz of=/dev/fd0 bs=1k
위의 램디스크 제작법은 여기를 참조 하세요:
[어려운질문]플로피도 없구 시디롬도 없구
http://bbs.kldp.org/viewtopic.php?t=2321
제 답변 중간 어디서부터 램디스크 만들기가 시작됩니다.
많은 분들에게 이 문제가 있는 것 같군요...
전 오늘 동록해서 많이 읽어 보지는 못했지만, 시간 나는데로 [자유 강좌]에 자세히 설명 하겠습니다.
[b]1. 파일 시스템을 커널에 모듈이나 빌트인 하지 않았다. [/b]
1. 파일 시스템을 커널에 모듈이나 빌트인 하지 않았다.
- ext2 는 빌트인 해두는게 좋음
- 파일시스템을 올리지 못하니까..
- 근데 메시지 보니 이 문제는 아닌 듯
2. initrd 이미지를 만들지 않았다.
- xfs 나 resierfs 등의 파일시스템을 사용하고 있고, 새로 컴파일한 커널에 해당 파일시스템을 커널에 박아넣지 않고 모듈로 맹글었다면 당근 initrd 이미지를 만들어야 함
형식
그리고 lilo.conf 수정
3. initrd 이미지를 풀어낼 마운트 포인트가 존재하지 않는다.
- initrd 이미지도 일종의 파일시스템이니까 마운트해야 사용할 수 있을겝니다. 그게 /initrd 입니다. 특정한 경우엔 해당 디렉토리가 삭제되어서 initrd 이미지를 풀어내지 못해 필요한 모듈을 적재할 수 없는 경우가 생깁니다. /initrd 디렉토리를 만들어 주면 되겠군요.
- 푸름...
꼬랑지] 3번일 가능성이 높아 보이는 것은 왜일까요? ^^
---
사람의 기쁨이나 슬픔 같은 것은,
풀꽃의 희미한 향기만큼도 오래 지속되지 않는다.
댓글 달기