커널 수정 후 재컴파일한 뒤 새커널이 먹히지가 않습니다.
레드햇 9에서 2.4.22로 커널 컴파일하고 모든 게 잘 동작했습니다.
그런데 2.4.22 커널 코드 몇 개를 수정하고(시스템 콜 추가 같은거) 다시 재컴파일한 뒤에 다시 부팅시키니 수정하기 전 이미지로만 부팅이 됩니다.
예를 들어, printk문으로 출력문을 중간에 넣어서 검사해보면
다시 재컴파일을 해도 출력이 되질 않습니다.
(물론 dmesg로 봐야 한다는 건 알고 있구요--;;)
이유를 더욱 모르는 것은 어떤 때는 재컴파일한 이미지가 먹혀서
제대로 출력문이 나올 때도 있고 다시 수정하면 어떤 때는 또 안 먹히고 그럽니다.--;;;
대략 레드헷 9에 기본으로 까리는 2.4.20-8에서 재컴파일을 하면 먹히는 것 같기도 하고... 매우 비논리적 추측...--;
한 가지 더 궁금한 점은, 이거랑 연관이 있는지 몰르겠는데,
예를 들어...
2.4.20-8(기본커널)로 부팅해서 2.4.22-test를 컴파일하고 /boot에 가면 만들어놨던 커널 이미지들이 쫙 보입니다. 2.4.21, 2.4.22, 2.4.22-test 등등
긍데 2.4.22-test(제가 수정한 거)에서 다시 2.4.22-test를 재컴파일하면 /boot폴더에서 다른 커널이미지들이 안 보이네요.--;
2.4.21, 2.4.22같은 것들이...
그리고 grub.conf도 수정할라고 들어가면 그런 파일이 없구요.
깜짝 놀래서 2.4.20-8로 다시 부팅해서 들어가면 멀쩡히 있습니다.
누가 절 갖고 노는 걸까요? --;;
좀 바보같은 질문이긴 합니다만...흑...
혹시 저와 비슷한 경험을 하신 분 없나요?
이유가 정말... 로... 궁금합니다.
참... 그리고...
첫 컴파일 후, 재컴파일할 때, 혹시 몰라서 그대로 다 해봤습니다.
make mrproper;make menuconfig
make dep;make bzImage;make modules;make modules_install
같은 장소에 화일이 있다가 없다가 할 수 없죠.아마도 마운트가 다르게
같은 장소에 화일이 있다가 없다가 할 수 없죠.
아마도 마운트가 다르게 되고 있는 것 같습니다.
fdisk -l
하셔서 디렉토리 구조를 한번 확인하심이 좋을 듯 싶습니다.
두 커널이 다른 위치에 있고
device map 이 적절하지 않아 생가는 현상 같습니다.
댓글 달기