커널 컴파일 할 때 make install 해보신분?
글쓴이: porco / 작성시간: 금, 2002/12/27 - 4:31오후
예전에 어떤 문서에서 "커널 컴파일 할 때 make install 하게 되면 /boot/로 심
볼릭 링크나 lilo설정 부분이 편해지더라... "고 본 기억이 나서 커널 컴파일하고
나서 무심결에 make install이라고 쳤더니 net어쩌구저쩌구 error가 났더이
다.
껏다 켜보니 부팅 중간중간에 fail이 보이더니 네트워크가 앙되더나이다. ㅜㅜ
ifconfig명령에 lo만 있다는.. 끄억~
원인을 알아보기 위해서 3시간동안 삽질을 시작했습니다. 원인은...
/dev/eth0, /dev/eth1, /dev/eth2 ... 가 없나이다... ㅠㅠ
이런 얼토당토 이런일이 있답니까? ㅠㅠ
커널 컴파일에서 make install 해보신분.. 이게 어디다 쓰는 물건인지 설명좀
해주시지 않겠나요?
Forums:
커널 버젼이 없군요.
제가 컴파일 하는 방법은
make config (or xconfig)
make dep
make clean
make bzImage
make install
make modules
make modules_install
형식입니다.
make install은 만들어진 커널 이미지를 /boot에 복사하는 역할을 합니다.
그리고 LILO에 필요한 부분을 넣어주는 역할되 하겠죠.
그런데 실행을 시키고 /dev 에서 eth0가 사라졌다는건 좀 이상한 일이군요.
모듈로 잡아놓은 부분을 컴파일 안해서 그런건 아닐까 생각이 드는군요.
일단은 make install다음의 make modules를 해줘보세요.
그리고 /dev에 있는 파일들을 일일이 만드는 명령은 makedev 명령인가로
복구가 가능하며 귀찮다면 설치 CD에 보면 dev-x.x.x...rpm이라는 것이 있
는데 이것을 다시 설치해 주면 됩니다.
------------------------------
좋은 하루 되세요.
원래 eth* 는 /dev에 없는걸로...
없는걸로 알고 있습니다.
네트웍 관련은 보통 디바이스와는 다르게 취급합니다.
(커널에서 취급하는 걸로...)
따라서 /dev에는 들어가지 않습니다.
네트웍이 안된다면 이더넷카드(랜카드)의 모듈이 올라가지 않아서일
가능성이 제일 큽니다. 새로운 커널을 빌드하면서 모듈설정이 잘못되었거나
모듈이 make modules_install 과정이 빠져 있음으로 해서 모듈이
제 위치에 없을 가능성이 젤 큽니다.
현재 커널을 확인해 보시고 그에 맞는 모듈이
/lib/modules/커널버전/kernel/ 에 존재하는지 부터 확인해 보세요.
lsmod로 해당 모듈이 메모리에 로드되었는지도 확인해보시구요.
물론 지금까지의 멘트는 이더넷 설정을 모듈로 만들었다는 가정하에서입니다.
그럼 종무식하러..;;
Mors est quies viatoris
Finis est omnis laboris
다른 분들께서 지적하신 대로 재부팅을 하면서 모듈이 제대로 로딩이 안되었
다른 분들께서 지적하신 대로 재부팅을 하면서 모듈이 제대로 로딩이 안되었을 가능성이 가장 높습니다. lsmod로 확인하시고 빠졌으면 modprobe나 insmod로 모듈을 집어넣으십시오.
그리고 /dev 아랫쪽에서 실수로 파일을 지웠을 경우는 /dev 디렉토리로 가서
# ./MAKEDEV [디바이스 이름]
하시면 만들 수 있습니다. MAKEDEV는 스크립트이니까 한번 읽어보는 것도 나쁘지 않구요. (원래는 mknod 명령을 씁니다만...) 최근들어서는 dev filesystem이 /dev 디렉토리에 마운팅되는 추세이던데 여기서는 어떻게 바뀌었는지 잘 모르겠습니다.
"I conduct to live,
I live to compose."
--- Gustav Mahler
다른분들이 모두 적절히 답을 해주셨지만 제가 몇가지 더 추가를..
다른분들이 모두 적절히 답을 해주셨지만 제가 몇가지 더 추가를..
- 부트로더를 LILO가 아닌 GRUB를 사용시에는 make install하지
않으셔도 됩니다. 그저 bzImage를 /boot에 복사후에 grub.conf
(이것은 링크되어 있음)에 적절히 추가하시면 됩니다.
(make modules; make modules_install은 해주셔야 합니다.)
- /etc/modules.conf파일에 "alias eth0 eepro100"과 같이 되어
있는지 확인. (eepro100은 예를 든 랜카드 드라이버 임) 후에,
#ifup eth0 수행. #ifconfig 확인.
댓글 달기