리눅스 커널 모듈
IT 위키
더 많은 작업
리눅스 커널이 실행 중에 불러오거나 내릴 수 있는 기능 조각이다. 장치 드라이버, 파일 시스템, 네트워크 기능 등을 커널에 모두 넣지 않고 필요할 때만 올려 쓸 수 있게 해 준다.
- 파일 확장자 : .ko (kernel object)
- 위치 : /lib/modules/$(uname -r)/
- 의존성 정보 : /lib/modules/$(uname -r)/modules.dep
- 리눅스는 모놀리식 커널이지만 모듈을 동적으로 적재할 수 있다.
- 커널 설정에서 기능을
y로 두면 커널 이미지에 포함되고,m으로 두면 모듈로 빌드되며,n이면 빌드하지 않는다.
- /etc/modules-load.d/*.conf : 부팅 때 자동으로 적재할 모듈 이름을 한 줄에 하나씩 적는다. (systemd-modules-load)
- /etc/modprobe.d/*.conf : modprobe 동작 설정
options 모듈 매개변수=값: 모듈 매개변수 지정blacklist 모듈: 자동 적재 금지alias 별칭 모듈: 별칭 지정
# 적재된 모듈 확인 $ lsmod | grep usb # 모듈 정보 확인 $ modinfo e1000 # 의존성까지 함께 적재 / 제거 # modprobe vfat # modprobe -r vfat # 의존성 파일 다시 만들기 # depmod -a # 부팅 때 자동 적재 # echo "br_netfilter" > /etc/modules-load.d/br_netfilter.conf
- insmod·rmmod는 의존성을 처리하지 않고, modprobe는 modules.dep를 이용해 처리한다.
- modules.dep를 만드는 명령은 depmod이다.
- 모듈 위치 /lib/modules/커널버전/