다음 이전 차례

6. Tell the Driver the Configuration

6.1 소개

이것을 하는 방법은 완전히 드라이버에 의존 한다. 드라이버에 의해서 물리 디바이스가 어떻게 설정 되는지를 조사하는 방법은 여러개 가지고 있다 . 가장 그단적인 경우에는, 버스 자원을 커넬의 hard-code로 recompile 을 해야한다. 이에 반대되는 경우, 설정은 모두 자동적으로 행해지고, 사용자는 아무것도 할 필요가 없다. 하드웨어로 버스 자원 설정조차도 PnP 구조를 사용해 행해진다.

이 중간의 경우는, 자원 정보를 드라이버에 주거나, 파일에 설정 하는 경우이다. 경우에 따라서는, 디바이스가 있는 경우 어드레스에 대한 드라이버를 탐색 하는 것도 있다. 그렇기 때문에 다양한 IRQ를 조사하고, 어느 IRQ를 사용할 수 있을지를 조사 한다. 이것은 자동으로 행해지는 경우도 그렇지 않은 경우도 있다. 이 외에, 드라이버가 PnP의 구조를 사용해 디바이스 존 재와 버스 자원의 설정을 조사하는 것이 있지만, 실제로 설정은 행해지지 않는다. 이 정보는 /proc 디렉토리 내의 몇개의 파일에도 나타난다.

버스 자원을 커넬과 loadable 모듈에 파라미터로 줄 필 요가 있는 것도 있다. 지정가능한 파라미터에 대해서는 /usr/lib/modules_help/descr.gz를 보시오. 로드되는 모듈 은, /etc/modules에 파라미터 첨부로 열거 되어 있다. 경우에 따라서, 버스자원은 파라미터로서 커넬에 주어지는 것이 있다. 파라 미터는 lilo.conf 파일에 append="..." 라는 형태로 지정 한다. 이 파일을 편집한 후에는, 설정을 커넬의 부트 코드에 보존하기 위해서 lilo를 실행 해야만 한다.

드라이버가 버스 자원을 찾아내기 위한 방법은 모두 제각각이지만, 최종적 인 목적은 같다. 하드웨어와 그것에 대응하는 드라이버는 매우 많이 있으므로, 드라이버가 버스 자원을 찾아내는 방법과 드라이버가 필요로 하는 정 보를 확실하게 입수하기 위해서 해야 할것에 대해서는, 드라이버 문서를 볼 필요가 있을 것이다. 몇개의 드라이버에 관한 간단한 정보를 아래에서 설명 한다.

6.2 시리얼 포트 드라이버: setserial

표준 시리얼 포트 드라이버(멀티 포트 카드를 제외한)에 대해서는, setserial를 사용해 드라이버의 설정을 한다. setserial는 많은 경우, 시작파일로부터 실행 된다. 새로운 버젼의 setserial는 /etc/serial.conf 파일을 사용한다. 이 파일은 seetserial 명령어를 단순히 사용하는 것으로「편집」되고, setserial를 사용해 설정한 내용이 설정 파일 setserial에 등록된다. serial.conf 파일 은, setserial 명령어가 시작 파일로부터 실행되었을 때에 참조되는 것이다. 이러한 설정이 되어 있는지는 배포본마다 다를지도 모른다.

setserial 명령어는 주는 옵션에 따라서, 서로 다른 두가지 사용법이 가능하다. 사용법의 하나는 수동으로 드라이버에 설정을 알리는 것이다. 또 하나 의 사용법은, 지정된 어드레스를 조사하고, 그곳에 시리얼 포트가 있을지 를 알려주는 것이다. 이 어드레스를 조사하고, 이 포트에 대해 어느 IRQ가 사용되고 있는지의 검출을 시험도 가능하다. 드라이버는 시작시에 setserial에 적당한 것을 실행하지만, IRQ 탐색은 하지 않고, 오류가 있을지도 모르는 「표준」 IRQ를 할당하는 것뿐이다. 드라이버는 포트가 존재하는지를 탐색 한다. 자세한 것은 Serial-HOWTO를 보시오.

6.3 사운드 카드 드라이버

OSS-Lite

I/O 어드레스, IRQ, DMA 채널을 파라미터로서 모듈에 알려주거나, 커넬에 컴파일 해야만 한다. 그러나, 일부 PCI 카드는 자동적으로 검출된다(아마, lspci 명령어등을 사용하는 것에 의해 행해질 것이다). RedHat에는 "sndconfig" 라는 프로그램이 공급되고 있다. 이 프로그램은 ISA PnP 카드를 검출하고, 검출된 버스 자원을 사용해 모듈의 로드 설정을 한다.

OSS (Open Sound System) 와 ALSA

이것들은 PnP의 구조를 사용해 카드를 검출하고, 적절한 드라이버의 선택과 로드를 한다. ISA PnP 카드의 자원 설정도 실행한다. 버스 자원의 충돌을 피하기 위해서 수동으로 조정 할 필요가 있을지도 모른다. ALSA 드라이버의 경우에는, ISA PnP의 기능은 생략이 가능하고, 원하면 isapnptools를 사용하는 것도 가능하다.


다음 이전 차례