부팅시 메시지 관련 질문입니다.
글쓴이: choboja / 작성시간: 토, 2010/07/31 - 1:49오후
안녕하세요?
리눅스 커널 컴파일 후 부팅 메시지 관련 질문입니다.
disagrees about version of symbol struct_module
이런 메시지가 많이 나오는데, 이것이 현재 부팅때 사용되는 initrd.img 랑 /lib/modules 에 있는 object 파일과 버전이 달라서 출력되는 메시지인지 궁금합니다.
즉, 현재 initrd.img를 다른 컴퓨터에서 만들어서 카피해놓고 그 이미지를 부팅시 사용하게 되면 /lib/modules에 있는 다른 버전의 object파일을 읽어들이게 되어
문제가 발생하는것으로 예상했는데 맞는지요?
그리고 initrd.img가 제가 알기로는 kernel menuconfig시에 m으로 된 녀석들 즉, 부팅시 dynamic하게 로드되는 디바이스 드라이버 파일들을 /lib/modules에 있는
object파일을 읽어들이기 위해서 사용되는것으로 알고 있는데 맞는지 궁금하네요.
아, System.map 파일은 부팅시에는 필요없고 디버깅(?)등에 사용되는 심볼테이블이 맞나요?
속쉬원한 답변 부탁드리겠습니다.^^
좋은 주말되세요.
Forums:
맞습니다
모듈 버전 체크가 실패하여 모듈이 로드되지 못한 것입니다.
initrd 내의 모듈과 부팅한 커널의 버전이나 설정이 다른 경우 이런 문제가 발생할 수 있습니다.
소스에서 struct module의 구조를 확인해 보시기 바랍니다.
initrd와 System.map의 개념은 알고 계신 것이 맞고
이제는 kallsyms로 인해 디버깅 시에도 거의 필요가 없어진 듯 하네요..
댓글 달기