
--enable-MODULE=shared 옵션은 Linux 커널 컴파일 시 모듈을 동적 링크하여 shared library로 생성하는 옵션입니다.
이 옵션을 사용하는 이유는 커널 모듈을 재컴파일하지 않고도 새로운 기능을 추가하거나 업데이트할 수 있기 때문입니다.
shared module을 사용하는 장점은 다음과 같습니다.
- 커널 모듈을 재컴파일하지 않고도 새로운 기능을 추가하거나 업데이트할 수 있습니다.
- 커널 크기가 줄어들어 메모리 사용량이 줄어듭니다.
- 커널 업데이트가 쉬워집니다.
그러나 shared module을 사용하는 단점은 다음과 같습니다.
- 커널 모듈의 로드 시간이 느려질 수 있습니다.
- 커널 모듈의 버그가 발생할 수 있습니다.
shared module을 사용하려면 --enable-MODULE=shared 옵션을 커널 컴파일 시에 지정하면 됩니다. 예를 들어, 다음과 같이 지정할 수 있습니다.
make menuconfig
- Device Drivers
- <*> Module Support
- [*] Enable loadable module support
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
- [*] Module versioning
- [*] Module unloading
- [*] Module aliasing
- [*] Module initcall timing
2025-07-15 02:53