다음 이전 차례

5. 모듈 사용을 위한 커널 재 컴파일

커널은 루트로 마운트될 파일 시스템(대부분 ext2 파일 시스템이다)을 제외하고는 모두 모듈을 사용하기 위해 다시 설정될 수 있다. 하지만 모듈로서 적절히 설정되기 어려워 보이는 항목들이 있으므로, 아래의 항목들은 커널 자체에 컴파일해 넣도록 권한다.

반면 모듈로서만 제대로 작동하는 드라이버 조합이 있다. 특히 아래의 것들을 두 개 이상 조합할 경우에는 모듈로 만들어야 한다. 무엇을 커널 안에 컴파일해 넣고, 무엇을 모듈로 만들 것인지 결정할 때, 위의 사항들을 감안하기 바란다. 실제의 선택은 컴파일하는 동안 다음과 같은 일련의 지시에 의해 이루어진다.
        cd /usr/src/linux
        make menuconfig
        make dep clean modules modules_install zImage
위의 명령이 수행된 다음에는, 모듈의 의존관계를 맞추어야 한다. 이를 위해서는 다음 명령을 내린다.

depmod -a

이제는 새 커널을 부팅 과정에 삽입해야 한다. 필자는 이런 목적으로는 LILO밖에 써 본 적이 없으므로, 독자도 LILO를 쓴다고 가정하도록 하겠다.

무작정 새로 컴파일한 커널을 리눅스의 기본 커널로 집어넣어서는 안 된다. 그랬다가는 커널이 잘못되었을 경우에 완전히 설치를 다시 하지 않고서 리눅스 설정을 복구하기란 지극히 어렵기 때문이다. 물론 설치를 다시 하는 것도 권장할 만한 일이 아니다. 이런 까닭으로 필자는 아래의 몇 행을 /etc/lilo.conf 파일에 넣어두었다.

        image=/usr/src/linux/arch/i386/boot/zImage
        label=new
        alias=n
        read-only
        vga=ask
        optional
위의 내용은 (요청된 이미지가 없으면 무시될) 조건부 부팅 옵션이 있다는 것을 말해주고 있다. 선택되었을 경우에는 /boot/newlinux 파일로 부팅하며, 부팅 시 사용될 비디오 모드를 선택할 수 있다. 위의 내용이 /etc/lilo.conf에 있다고 가정하면, 다시 만든 커널이 컴파일 과정이 끝난 뒤 올바른 위치에 있을 때 아래의 명령으로 커널을 설치할 수 있다.

lilo

여기까지 마쳤다면, 각자 선택한 배포본에 따라 아래와 같이 몇 단계를 더 밟아야 한다.


다음 이전 차례