FreeBSD 핸드북 : FreeBSD 커널 설정 : 맞춤 커널 빌드와 설치
Previous: 왜 맞춤 커널을 만드나
Next: 설정 파일

5.2. 맞춤 커널 빌드와 설치

먼저, 커널 빌드에 필요한 디렉토리를 봅시다. 여기서 언급하는 디렉토리들은 모두 /usr/src/sys이하의 상대위치로 표시하며, /sys로도 억세스가능합니다. 여기에 커널의 각부분을 구성하는 서브디렉토리도 들어있습니다. 그러나 우리의 가장 중요한 목적은 i386/conf입니다. 여기에서 여러분의 시스템에 맞추어 맞춤 커널 편집을 할 것입니다. 그리고, compile디렉토리가 커널이 작성되는 디렉토리입니다. 지원되는 디바이스나 파일시스템의 디렉토리가, 옵션마다 서브디렉토리로 나뉘어져있는 디렉토리 구조(tree)의 논리적 구성에 주의하십시요. 또한, i386 디렉토리는 PC 하드웨어만을 다루고, i386이외의 디렉토리는 FreeBSD가 다른 플랫폼에 포팅될때 공통으로 사용되는 코드입니다.

주: 만일 여러분의 시스템에 /usr/src/sys 디렉토리가 없으면, 커널 소스는 설치되어 있지 않은 겁니다. 그러므로, 패캐지의 설치 순서에 따라 시스템에 설치해 주세요.

다음, i386/conf 디렉토리로 이동한 다음에 GENERIC 설정을 여러분이 원하는 새로운 커널이름으로 복사합시다. 예를들면:

# cd /usr/src/sys/i386/conf
# cp GENERIC MYKERNEL

관습적으로, 이 이름은 모두 대문자로 기술합니다. 만일 여러 대의 다른 하드웨어의 FreeBSD머신을 관리한다면, 이 이름에 각 호스트 이름을 포함하는것이 좋습니다. 여기서는, 예로서 MYKERNEL이라고 부르기로 합시다.

주: 이 작업은 루트권한으로 해야합니다. 그렇지 않으면, ``permission denied''란 에러가 납니다.

그럼 MYKERNEL을 여러분이 익숙한 에디터를 사용해 편집합시다. 만일, 시스템을 설치한 직후라면 사용가능한 에디터는 vi 뿐일 겁니다. 여기에 이 에디터의 사용법을 설명하지 않습니다. 참고 서적에 있는 여러 책을 보면 자세히 설명돼어 있으니, 참고하세요. 우선 파일의 맨 첫행을 주석처리해, 여러분의 설정에 맞추어 변경한 점들을 기술해 놓으므로서, GENERIC과 구별할 수 있도록 해 놓읍시다.

만일, SunOS나 다른 BSD 운영체제에서 커널을 빌드한 경험이 있다면, 이 파일은 아주 친숙하게 느껴질겁니다. 하지만 DOS와 같은 다른 운영체제를 사용한 사람에게는 GENERIC 설정 파일이 아주 생소하게 느껴질 겁니다. 이런 경우에는 설정파일 절을 주의깊게 읽어 보세요.

주: 만일, 구버전의 FreeBSD 을 업그레이드할 경우, 새로운 커널소스를 얻은 같은 장소에서 새버전의 config(8)를 가져와야 합니다. 이것은 /usr/src/usr.sbin에 있습니다. 그러므로 이 소스코드도 다운로드할 필요가 있습니다. 다음의 명령어를 실행하기 전에 config를 만들고 설치하세요.

편집이 종료하면, 아래와 같이 여러분의 커널을 컴파일하고 설치를 합니다:

# /usr/sbin/config MYKERNEL
# cd ../../compile/MYKERNEL
# make depend
# make
# make install
새로운 커널은 루트 디렉토리에 /kernel란 이름으로 복사되고, 이전 커널은 /kernel.old란 이름으로 변경됩니다. 이제 시스템을 재부팅하세요. 무언가 문제가 생긴다면, 이장의 마지막 부분의 문제 해결을 참고 하세요. 새로운 커널에 문제가 생긴 경우 다음 절 부팅 실패을 읽으면, 복구하는 방법을 알 수 있습니다.

주: 만일 새로운 장치(사운드카드와 같은)를 추가한 경우에는, 사용하기 전에 /dev디렉토리에 장치노드를 추가해야 합니다.


FreeBSD 핸드북 : FreeBSD 커널 설정 : 맞춤 커널 빌드와 설치
Previous: 왜 맞춤 커널을 만드나
Next: 설정 파일