kernel panic...어떻게 해야 할까요?

flamesj의 이미지

안녕하세요 처음으로 커널 컴파일에 도전하는 리눅스 초보입니다.
kldp의 모든 글들 다 읽어가면서 어케어케 해나가고 있는데
도저히 넘을 수 없는 벽에 도달한 것 같습니다.

배포판은 레드햇8이고 지금 2.4.25버젼을 컴파일하는 중입니다.

에러가 어떻게 뜨냐면 부팅하는 도중에

Mounting /proc filesystem
Creating block devices
Creating root device
Mounting root filesystem
VFS : Can't find ext3 filesystem on dev ide1(22, 64)
mount: error 22 mounting ext3
pivotroot: pivot_root(/sysroot,/sysroot/initrd) failed: 2
umount /initrd/proc failed: 2
Freeing unused kernel memory: 104k freed
Kernel panic: No init found. Try passing init= option to kernel

지금 하드2개를 쓰는데 한개를 리눅스용으로 만들어서 쓰고 있습니다.
분명 커널 옵션 줄때 ext3지원을 Y선택했었습니다.
make bzImage, mkinitrd 모두 문제없이 잘 이루어졌는데
왜 태클이 들어오는지 모르겠습니다. 무엇인 문제인지만 알아도
이것저것 시도해볼텐데 여기 글들 뒤져봐도 명확한 답을 모르겠길래
이렇게 글 올립니다. 고수님들의 지적 부탁드립니다(__)

hys545의 이미지

flamesj wrote:
안녕하세요 처음으로 커널 컴파일에 도전하는 리눅스 초보입니다.
kldp의 모든 글들 다 읽어가면서 어케어케 해나가고 있는데
도저히 넘을 수 없는 벽에 도달한 것 같습니다.

배포판은 레드햇8이고 지금 2.4.25버젼을 컴파일하는 중입니다.

에러가 어떻게 뜨냐면 부팅하는 도중에

Mounting /proc filesystem
Creating block devices
Creating root device
Mounting root filesystem
VFS : Can't find ext3 filesystem on dev ide1(22, 64)
mount: error 22 mounting ext3
pivotroot: pivot_root(/sysroot,/sysroot/initrd) failed: 2
umount /initrd/proc failed: 2
Freeing unused kernel memory: 104k freed
Kernel panic: No init found. Try passing init= option to kernel

지금 하드2개를 쓰는데 한개를 리눅스용으로 만들어서 쓰고 있습니다.
분명 커널 옵션 줄때 ext3지원을 Y선택했었습니다.
make bzImage, mkinitrd 모두 문제없이 잘 이루어졌는데
왜 태클이 들어오는지 모르겠습니다. 무엇인 문제인지만 알아도
이것저것 시도해볼텐데 여기 글들 뒤져봐도 명확한 답을 모르겠길래
이렇게 글 올립니다. 고수님들의 지적 부탁드립니다(__)


그 하드를 ext3으로 인식못하는거 같습ㄴ이다
하드가 망가진거인가?

즐린

ryk76의 이미지

커널 컴파일 시에.. make menuconfig로 모듈 추가하는데 그때.. 메뉴 중 파일 시스템에 ext3 이라는 모듈이 있는데 그거 추가하셨어요?
"Can't find ext3 filesystem on dev ide1" 이것은 ext3 로 마운트를 못해서 그런것 같은데요..

mach의 이미지

커널 컴파일시에 커널소스디렉터리에서
.config 파일에서
CONFIG_EXT3_FS=y
를 확인하시고. 즉, 모듈말고 스태틱하게 컴파일하시고
리부팅 시도해보세요.

그 이유는 레드햇8,9가 /boot 파일 시스템으로 ext3를
기본으로 하기 때문입니다.

Quote:

많은 linux 기반 네트워크 (layer 2,3등) 소프트웨어
개발자들이 레드햇8,9을 피하는 이유가 이것이 아닌가 합니다.
저도 회사의 노선이 바뀌어 리눅스 개발로 온지 3일째인데, 이 문제로
8시간 넘게 헤멨습니다. :oops:

이후 안되면

# df
Filesystem ..... Mount on
....
/dev/hda1 ...     /boot
/dev/hda2  ...   /
....

을 사용해서 각 파티션이 어떻게 마운트 되어 있는지를 조사하시고.
다시부팅 GRUB라면
부팅 옵션에서
E (에티트로 들어가셔서)

kernel /vmlinuz-2.4.25 ro root=LABEL=/ 
을 아래와 같이...
kernel /vmlinuz-2.4.25 ro root=/dev/hda1

등의 형태로 변경하고 B를 눌러 부팅해 보시기 바랍니다.

음, 아예 다시 까는것 또는 boot파티션을 새로 잡을수 있는 여지가 있는 상황이라면,
/boot 파티션을 잡을때 파일시스템타입을 ext2로 해주시던가요. (소극적 대처)

아님 커널 소스를 손봐서..... 저는 소극적으로 했습니다.:oops:

하여간 잘 되면 좋겠습니다.

------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.

skjean의 이미지

mach 님 시그가 너무 멋있읍니다. ^^;;

(그 동네 아저씨도 멋진 분이시군요...)