다음 이전 차례

3. 리눅스 하드웨어 FAQ

3.1 64메가 이상의 메모리를 인식하게 하려면 어떻게 하나요?

커널이 64메가 이상의 메모리를 인식하게 하기 위해서는 부팅하고자 하는 부팅 이미지 이름(label)뒤에 mem=XXXM라는 내용을 추가시켜 주거나 혹은 이런 사항을 파라미터로 설정하여 계속 적용되도록 하면 됩니다.

/etc/lilo.conf파일에

append="mem=XXXM"

을 추가해 주면 됩니다.(이렇게 lilo.conf에 내용을 추가하고 난 후에 lilo를 다시 실행시키는 것을 잊지 마세요.)

man bootparm의 내용중 일부를 한번 살펴보겠습니다.

`mem=...'

현재 설치되어 있는 메모리의 용량을 넘겨주는, PC 사양에 정의되어 있는 BIOS콜은 64메가까지만 보고할 수 있도록 설계되어 있습니다. 리눅스는 부팅할때 얼마만큼의 메모리가 장착되어 있는지 알아내기 위해 이 BIOS 콜을 이용합니다. 만약 여러분이 64메가 이상의 메모리를 설치했다면 이 부팅 관련 파라미터를 이용하여 리눅스 시스템에 얼마만큼의 메모리가 장착되어 있는지 알려줄 수 있습니다. 값은 십진수일 수도 있고 혹은 16진수(0x 를 앞에 붙임)일 수도 있으며 단위는 k(1024)혹은 M(1048576)을 사용할 수 있습니다. 리눅스 커널 개발자인 라이너스(Linus)는 `mem=' 파라미터에 관해 다음과 같이 언급했습니다.

커널은 당신이 지정하는 대로 `mem=xx' 파라미터를 받아들입니다. 그리고 만약 당신이 그 파라미터를 거짓으로 지정한 것이 드러나면 곧 시스템은 망가질 것입니다. 이 파라미터는 커널이 액세스할 수 있는 최상위 메모리 주소를 나타내므로 예를 들어 `mem=0x1000000' 은 당신이 16메가의 메모리를 가지고 있다는 것을 뜻하며 96메가의 메모리를 가지고 있다면 `mem=0x6000000' 이 됩니다.

주의. 주의. 주의: 어떤 시스템의 경우 최상위 메모리를 BIOS 캐싱 등의 용도로 사용하는 경우가 있기 때문에 96메가 전부에 접근하지 못할 수도 있습니다. 그 반대의 경우는 항상 성립합니다. 어떤 칩셋은 BIOS 가 커버하는 물리적인 메모리를 최상위 메모리 주소 다음 위치로 대응시키기 때문에 실제 최상위 메모리 주소는 96MB + 384kB 가 될 수도 있습니다. 만약 당신이 실제로 가지고 있는 메모리보다 더 많이 가지고 있다고 리눅스에게 알려주게 되면 좋지않은 일이 생길 것입니다.: 당장은 아니더라도 언젠가는 확실히 그런 일이 일어납니다.

번역자 주: 개발 커널 버전 2.1 대에서 64메가 이상의 메모리를 자동으로 인식하게 하는 기능이 추가되어 테스트되고 있으므로 안정 커널 버전 2.2 대에서는 자동으로 대용량의 메모리를 인식시킬 수 있을 것이다.

3.2 두 장 이상의 이더넷 카드를 사용하려면 어떻게 하나요?

커널이 두 장 이상의 이더넷 카드를 인식하게 하려면 `ether=IRQ,i/o addr,device' 파라미터를 부팅할때 넘겨 주어야 합니다. 예를 들면

boot: linux ether=5,0x320,eth0

또는 lilo.conf에 다음과 같이 추가해 줍니다.

image=/boot/vmlinuz
        label=linux
        append="ether=5,0x320,eth0"
        root=/dev/hda2
        read-only

이것은 커널에 통채로 컴파일되어 들어가 있는 이더넷 카드인 경우에만 작동할 것입니다. 만약 드라이버가 모듈로 컴파일되어 있다면 이 파라미터를 /etc/modules.conf 파일에 설정해 주어야 합니다. 예를 들면

alias eth0 3c509
options eth0 irq=10

3.3 무엇 때문에 GCC가 "exiting on signal 11" 메시지를 내보내게 합니까?

이 내용에 관해서는 http://www.bitwizard.nl/sig11/에서 좋은 참고 자료를 얻을 수 있습니다.

3.4 윈도우즈에서만 사용할 수 있는 WinModem/WinPrinter를 리눅스에서 사용하려면 어떻게 하나요?

모든 Win*주변기기들은 우리들을 골치아프게 만들죠. WinModem 이나 WinPrinter 를 리눅스에서 사용할 수 있는 방법은 없습니다. Win- 디바이스들은 매우 단순화되어 있어 많은 작업들이 특별한 윈도우즈 드라이버를 통해 이루어지기 때문입니다.

불행히도 WinModem 이나 WinPrinter를 만들어 내는 회사들은 MS로부터 자사의 프로그래밍 관련 정보들을 유출시키지 말도록 압력을 받고 있기 때문에 리눅스 프로그래머들이 정보를 얻어낼 수가 없습니다.

어떤 사람이 윈도우즈와 WinPrinter 사이의 데이터 스트림을 리버스 엔지니어링을 통해 WinPrinter 중의 하나를 리눅스에서 사용할 수 있도록 했다고 하는데 저는 이에 관해서 더이상 아는바가 없군요.


다음 이전 차례