728x90
반응형
모듈 관리의 필요성


◆  디바이스 드라이버를 모듈로 커널에 등록할 수 있다는 것은 매우 편리한 방법

◆  만일 커널에 고정으로 실행되어야 한다면 프로그램을 수정할 때 마다 시스템을 재 부팅해야 될 것





모듈관련 명령어

  • insmod : 커널에 모듈을 등록
    -s : 실행결과를 터미널 대신 syslog에 기록한다.
    -v : 메시지를 자세히 보여준다.
  • rmmod : 커널에 등록된 모듈을 제거
    -a : 사용되지 않는 모든 모듈을 제거한다.

  • lsmod : 커널에 등록된 모듈의 목록 출력
  • depmod : 모듈간의 의존성 정보를 생성
  • modinfo : 모듈 오브젝트 파일의 모듈 정보를 보여준다. 
    -d : 모듈에 대한 설명을 보여준다.
    -p : 모듈이 지원하는 매개변수를 보여준다.

  • modprobe : 모듈을 커널에 등록하거나 제거
    -l : 사용가능한 모든 모듈을 보여준다.
    -r : rmmod와 같이 모듈을 제거한다. 여러 모듈을 한꺼번에 지정할 수 있다. 또한 의존성이 걸려 있는 모듈들도 찾아
    자동으로 제거한다.
    -c : 기본값과 /etc/modules.conf에 정의된 지시자를 포함해 완전한 모듈설정을 보여준다.
    -k : autoclean을 사용하여 모듈 적재



디바이스 드라이버 파일 찾기

◆ 모듈 명령은 모두 root 계정에서 실행가능
]$ su -
Password:
[root@jwCentOS ~]# lsmod
Module Size Used by
nfsd 214529 17
exportfs 10177 1 nfsd
lockd 65769 2 nfsd
nfs_acl 7745 1 nfsd
md5 8129 1
ipv6 242657 14
parport_pc 28033 1
lp 15661 0
parport 38025 2 parport_pc,lp
autofs4 23109 0
i2c_dev 14529 0
i2c_core 26049 1 i2c_dev
sunrpc 144037 12 nfsd,lockd,nfs_acl
dm_mirror 31901 0
dm_mod 60741 1 dm_mirror
button 10705 0
battery 12997 0
ac 8901 0
tulip 47073 0
floppy 58193 0
ext3 119113 3
jbd 59609 1 ext3

◆  여기선 시리얼 포트와 관련된 디바이스 드라이버를 찾을 수 없음(임베디드 보드 포함)

Welcome to FALinux EZ-X5 ( www.falinux.com )
XScale(PXA255) Linux
ez-x5 login: root
[root@ez-x5 /root]$ lsmod
Module Size Used by Not tainted
[root@ez-x5 /root]$

◆ 디바이스 드라이버를 반드시 모듈로 작성하지 않음(즉, 이미 자주 사용되고 범용성이 있는 디바이스 드라이버나 소스를 공개해도 관계없는 디바이스 드라이버는 커널 소스와 함께 컴파일되서 아예 커널과 한 몸으로 실행), 그러므로 커널 부팅 후에 따로 insmod 로 모듈로 등록되지 않으므로 당연히 lsmod 에 출력되지 않는 것

◆ 대신에 /proc 디렉토리의 내용을 확인하시면 정확한 정보를 확인가능. 참고로 /proc 디렉토리는 하드디스크와 같은 실제 물리적인 파일 시스템이 아니라 리눅스에서 제공하는 가상의 디렉토리로 시스템을 정보를 파일 형식으로 보여주는 디렉토리

]# cat /proc/devices
Character devices:
1 mem
4 /dev/vc/0
4 tty
4 ttyS
5 /dev/tty
5 /dev/console
5 /dev/ptmx
6 lp
7 vcs
10 misc
13 input
29 fb
36 netlink
89 i2c
128 ptm
136 pts
162 raw
180 usb

Block devices:
1 ramdisk
2 fd
3 ide0
9 md
22 ide1
253 device-mapper
254 mdp
[root@jwCentOS ~]#

◆ 시리얼 포트에 대한 디바이 드라이버 정보를 /proc/devices 내용에서 찾을 수 있음

◆ 디바이스 드라이버 목록과 함께 주 장치 번호도 출력되므로 /proc/devices 를 기억해 두시면 좋을 것으로 생각


반응형

'Linux' 카테고리의 다른 글

Linux User 관리  (0) 2018.08.08
Linux grep and egrep  (0) 2018.08.08
Linux chkconfig  (0) 2018.08.08
Linux SAR  (0) 2018.08.08
Linux top  (0) 2018.08.08

+ Recent posts