PXE관련 initrd.img 수정하는 문제
글쓴이: goodgon2 / 작성시간: 수, 2011/04/20 - 3:58오후
안녕하세요 리눅스 입문한지 얼마 안되는 리눅서입니다.
내부적으로 PXE를 이용한 kickstart를 이용해서 리눅스 PC들을 설치해 오고 있는데
이번에 신형샌디브릿지용 인텔보드가 사용하는 네트워크 모듈이 82579LM 이더군요
그런데 문제는 이 모듈이 e1000e 를 사용하는데 Cent5.5에서는 PXE부팅시 모듈자체가 안올라옵니다.
구글링 및 삽질로 이런 저런 방법을 사용해 보았지만 실패했습니다.
참고로 Cent5.6에서는 바로 PXE시작시 모듈이 올라옵니다.
하지만 5.5를 사용해야만 하는 부분이 있어서.. 5.5 설치시에 e1000e 모듈이 올라와야 하는 관계로 이렇게 질문을 올립니다.
해결방법을 검색해보니 총 3가지의 방법이 있더군요
1. 모듈을 포함한 커널컴파일
2. initrd.img파일 안에 모듈추가
3. kickstart로 부팅시에 dd="드라이버.img" 방식
이중에서 2번 방법을 이용해서 온갖 삽질을 해봤지만 실패입니다.
위 내용을 자세하게 아시는 분 계신가요?..
Forums:
initrd.img에 모듈을 추가하고
initrd.img에 모듈을 추가하고 pictable도 추가해 주셔야 합니다. 그래야 해당 드라이버를 매핑해서 load할 수 있습니다. 그리고, initrd에 들어있는 커널 버전과 빌드한 모듈과의 버전도 일치해야 합니다. (2.6.1.1 정도가 아니라 2.6.1.1-BOOT 정도까지 맞아야 합니다.)
여러가지 방법을 다 써보았습니다.
cent5.6에 들어있는 modules관련 파일들을 그대로 사용하고(5.6에서는 정상적으로 인식되므로) modules.cgz파일만 5.5용을 풀어서 5.5용 기본커널에서 e1000e.ko 파일을 컴파일하고 넣어서 다시 패킹한후에 initrd.img파일을 새로 만들어서 해보았는데도 네트웍 드라이버를 못찾더군요..
5.6과 다른것은 modules.cgz안의 컴파일 파일일 뿐인데... e1000e.ko 파일 컴파일이 잘못된 것일까요?
인텔 홈페이지에서 검색해봐도 예전 2.4커널 버전에 해당하는 내용만 나와있고 너무 간결하게 써놓아서 제대로 되는 부분도 없더군요..
아주 작은 부분만 해결하면 될것 같은데.. 어렵네요
모듈을 못 찾는다는 것은 PCI table에 등록이
모듈을 못 찾는다는 것은 PCI table에 등록이 되어 있지 않다는 의미이며, 만약 PCI table에 잘 등록이 되어 있다면 님과 제 대화 사이에 무언가 서로 다르게 보고 있는 부분이 있다는 얘기 같습니다. :-)
댓글 달기