커널 컴파일 할 때 *로 올리면 커널 안에 들어가버리는건가요?
글쓴이: visualplus / 작성시간: 금, 2007/12/21 - 4:13오후
sip때문에 몇일 고생하고 있는 리눅스 초보입니다..ㅠㅜ
커널컴파일 할 때요 menuconfig 들어가서 보니 sip support 라는 모듈이 있더군요.
근데 이게 *로 체크가 돼 있었어요.
여기서 제가 궁금한것은.
menuconfig에서 위에있는 영어 대충 읽어보니 built-in 이라고 적혀있더군요.
이게 그냥 커널에 포함시키겠다.. 이런 뜻으로 해석해도 되는거 아닌가요?
그렇다면 그 모듈은 올리지 않아도 그냥 쓸 수 있는것인가요?
커널컴파일 할 때 *로 체크하는것과 m으로 체크하는것의 정확한 차이점을 알고싶어요..
Forums:
말씀하신 그대로
말씀하신 그대로 입니다. m 로 하면 독립된 모듈로 되고 * 로 하면 커널에 포함됩니다.
모듈의 장단점은 (un)loading 이 되니 항상 쓰는게 아니라면 메모리 절약도 됩니다.
대신에 항상 쓰는 ext3 지원 같은걸 모듈로 해 놓으면 안되겠죠.
--
/~eunjea
http://eunjaeim.com
잘 이해하고 계신듯
쓰신대로 커널바이너리에 들어가거나 모듈로 뽑아놓거나 하는 차이입니다.
커널에 집어넣으면(*) 항시 사용할 수 있고 모듈로 하면 필요할 때엔 올려서 쓰고 안 필요할 땐 내릴 수도 있지요. 뽑는 이유는 일단 모듈로 빼면 커널은 가벼워지고 안 쓸땐 해당 기능도 없으니 성능이 체감상이야 어떻든 좀더 좋다고 합니다. 커널에 넣으면 좀더 무거워지는 대신 모듈로 쓸 때보다 성능이 좋다고 하지요... 보통 자주(항상) 쓰는 기능은 커널에 넣고 가끔 쓰는건 모듈로 놓고...하는데 사실 일반사용자한텐 별 차이가 없다고도 하고-_-... 그리고 요즘은 어떤가 모르는데 커널내장이 더 안정적이라곤 하더군요. 모듈로 빌드하다 오류나면 내장으로 빌드하면 안나는 경우도 있고 그랬는데 제가 할땐...(한 3년전 얘기)
어떤 내용을 *로 했을
어떤 내용을 *로 했을 때 상위 레벨 내용이 M라면 주 커널에 빌트인되는 것이 아니라, 상위레벨의 모듈 파일에 빌트인으로 들어가는 것으로 알고 있습니다.
예를 들어 Sound Support 를 M으로 설정하고 ALSA support가 * 라고 설정이 되면 커널은 sound.ko가 로딩이 안되면 ALSA를 통한 사운드 출력이 안됩니다.
댓글 달기