[커널] 모듈 컴파일이란?
본 자료는 3페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
해당 자료는 3페이지 까지만 미리보기를 제공합니다.
3페이지 이후부터 다운로드 후 확인할 수 있습니다.

목차

1. 커널 모듈 컴파일이란?
2. 모듈(module)이라는 말부터...
3. 모듈에 대해서 익숙해지자.
4. 모듈은 왜 필요한가?
5. 모듈을 사용해봅시다.
6. 모듈 고급 사용법
7. 글을 마치며

본문내용

의존성 검사를 똑똑하게 해주어서modprobe나 kerneld 기능을 사용할 수 있는 정보를 만들어주는 역할을 합니다.
7) 매번 depmod -a, kerneld 를 띄우는 것도 귀찮다?
-------------------------------------------------
게으름은 발명의 어머니가 될 수 없으나 게을러 지려는 노력은 발명의 어머니가 될수 있는 것 같습니다. 전세계 리눅서들은 자기 손가락의 건강을 위해서 오늘도 많은노력을 하고 있을 겁니다. :)
시스템 부팅 시 딱 한 번 실행하면 되는 명령이므로 초기화 스크립트에 넣어주십시요.
슬랙웨어
--------
저는 그냥 /etc/rc.d/rc.local 이라는 사용자 정의 스크립트에 넣어서 사용하고 있습니다.
rc.local 스크립트 맨 앞부분에 다음과 같은 줄을 넣어줍니다.
# Update kernel-module dependencies file
[ -x /sbin/depmod ] && {
/sbin/depmod -a
}
# Start kerneld
[ -x /sbin/kerneld ] && {
/sbin/kerneld
}
대부분 아무런 이상이 없지만 한 가지 주의하실 것이 있습니다.
여러분은 재미로 아무렇게나 중요한 기능을 모듈로 설정하셔서는 안된다는 겁니다.
특히나 화일 시스템에서 ext2 기능이나 시스템 초기화에 사용되는 SysV 초기화 기능같은 것은 너무도 중요하기 때문에 모듈로 설정하지 마십시요. 그리고 ELF 바이너리지원 같은 것도 마찬가지입니다. 그것을 모듈로 하셨다가는 크나큰 재앙을 맛보시게 될 겁니다. 정말로 주의하십시요.
그리고 위에서 depmod, kerneld 의 실행 순간은 되도록 SysV 초기화 스크립트의 초기에 넣어주십시요. 슬랙웨어라면 rc.S 의 거의 전반부에 넣어주시는 것도 안전할듯 합니다. 예를 들어 VFAT 기능을 모듈로 설정하였는데 초기화 과정 중 VFAT 마운트하는 곳이 있다고 칩시다. mount 명령을 수행하기에 앞서 depmod, kerneld 를 수행하십시요. 그렇게 하지 않으시면 원하는 결과를 얻을 수 없을 겁니다.
레드햇, 데비안
--------------
이미 초기화 스크립트에 다 들어있을 겁니다. 데비안을 확인해보지 못했으나 그런것 정도 없겠습니까?
모듈 고급 사용법
================
1) 옵션 주기
------------
모듈을 로딩할 때 여러분은 추가옵션을 줄 수 있는 경우가 있습니다. 저는 현재사운드 블래스터 16 VE 와 AT 버스 방식의 2 배속 시디롬 드라이브를 가지고 있습니다.
sbpcd 라는 모듈이 바로 2 배속 시디롬 드라이브에 대한 지원 모듈입니다.
저는 다음과 같이 실행합니다.
modprobe sbpcd sbpcd=0x230,SoundBlaster
각 모듈마다 옵션 주는 방법이 천차만별입니다. 물론 일관성이 없는 것은 아니죠.
자신이 사용하는 모듈의 옵션 주기 방법은 일단 모듈 HOWTO 문서 번역본을 번역란에서 읽어보신 후 뒤에 옵션 표는 영문 HOWTO 를 참고하십시요.
이 기회에 모듈 HOWTO 도 완역되어 나오길 바랍니다.
2) 나는 커널데몬을 사용한다! 그런데 커널 데몬에게는 어떻게 옵션을 알려주는가?
-----------------------------------------------------------------------------
저도 잘은 모르는 부분입니다. 하지만 다음과 같이 해주시면 됩니다.
/etc/conf.modules 또는 /etc/modules.conf 라는 화일을 만들어줍니다.
그 내용은 보통 다음과 같습니다.
alias scsi_hostadapter aha1542 # SCSI 어댑터 설정 alias eth0 3c509 # 이더넷 설정
# 옵션을 줍니다.
options 3c509 io=0x300 irq=10
options sbpcd sbpcd=0x230,SoundBlaster
post-install ppp modprobe bsdcomp
alias 기능은 위와 같습니다. scsi_hostadapter 를 원할 때는 aha1542 모듈을 이용하라고 말하는 것입니다. eth0 즉 이더넷 어댑터 첫번째 인터페이스에 대해서는3c509 즉 3Com 것을 사용하라고 말합니다.
명령행애서 주는 옵션은 위에서 options 라는 줄에 써줄 수 있습니다.
마지막으로 pre-install, post-install 이라는 항목은 어떤 모듈을 로딩하기 전또는 후에 어떤 특수한 행동이 요구될 때 사용됩니다. 제 경우에는 ppp 모듈을 로딩한 후에 bsdcomp 라는 모듈을 로딩하도록 modprobe bsdcomp 라고 적어주었습니다. pre-install 이 매우 중요합니다. 예를 들어 프린터 지원과 PLIP 지원처럼서로 배타적인 경우에는 pre-install 문장을 통해 상대방을 미리 뽑아낸 후 모듈이 올라가야 하기 때문이죠.
글을 마치며
===========
커널 모듈 기능으로 인해 여러분이 레드햇 4.0 이나 데비안 1.1 ~ 1.2 에서 볼수 있는 훌륭한 설치 과정이 가능하게 되었습니다. 전에는 슬랙웨어에서 어떤 부트이미지를 선택할 것인지 고심해야 했지만 지금은 설치 도중에 자동으로 원하는 기능을 불러서 쓰기 때문에 부트/루트 이미지고 뭐고 고를 필요도 없습니다. 레드햇설치의 경우 많아야 2 장, 데비안 설치는 좀 독특한 방식을 쓰기 때문에 5~6 장이디스켓을 선택없이 만들어주기만 하면 됩니다.
커널 모듈 기술은 리눅스 커널의 엄청난 발전을 의미합니다. 표준 커널 부분이아니라 할 지라도 많은 프로그래머들이 리눅스 커널용 모듈을 자체적으로 만들어서 제공할 수 있게 되었습니다. 이제는 사운드 카드 제조업체 등에서 리눅스 전용 드라이버를 모듈로 만들어서 배포할 수 있게 되겠지요?( 근데 소스로 배포할까요? 아니면 그냥 *.o 로 만들어서? 윽~ )
저는 NT 파티션을 읽는 커널 외부 모듈을 사용해본 적이 있는데 정말 그럴 듯 하더군요. 그리고 도스 에뮬의 경우에도 모듈을 사용합니다. 이제는 커널에 표준적으로 배포되지 않은 모듈도 사용가능합니다.
앞으로도 언제나 왕성한 속도로 리눅스가 발전하기를 바라면서...
  • 가격2,000
  • 페이지수11페이지
  • 등록일2004.10.26
  • 저작시기2004.10
  • 파일형식한글(hwp)
  • 자료번호#271362
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니