Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>
커널 테스트 및 설치

1.8. 커널 테스트 및 설치

커널 컴파일이 끝난 후 만들어진 커널이 제대로 동작하는지 확인해본 후 기본 커널로 설치해 사용해야한다. 그렇지 않고 무턱대고 원래의 잘돌아가던 커널을 대체해버리면 혹시라도 에러있는 커널인 경우엔 부팅이 안되는 위급한 사태가 발생하게 된다. 그러므로 만들어진 커널을 먼저 테스트 후 사용하기 바란다.

테스트 방법엔 2가지 정도를 추천한다. 하나는 플로피를 사용하는 것이고 나머지 하나는 LILO를 사용하는 것이다.

플로피를 사용하는 방법

플로피를 사용하기 위해 make zdisk를 사용해 만들어진 커널을 플로피에 담는다. 복사가 끝나면 플로피를 사용해 부팅해 정상적으로 동작하는지 확인한다. 가장 안전한 방법 중 하나로 생각되고 문제가 있으면 플로피를 제거하고 다시 부팅해 커널 설정 등을 다시 하고 테스트를 하면 된다.

LILO를 사용하는 방법

LILO를 사용해 하는 방법은 아래와 같이 /etc/lilo.conf를 우선 수정한다. 먼저 염두에 둬야할 것은 만들어진 커널 이미지를 어디에 무슨 이름으로 복사할 것인지 결정해 두고 일을 진행해야한다는 것이다. 필자의 경우 보통은 $(TOPDIR)/arch/i386/boot/bzImage[1]를 /boot/test_img로 복사하고 테스트 한다.

아래는 필자의 lilo.conf다. 기본 부팅용 항목을 그대로 복사하고 image와 label 만을 바꿔 하나더 등록해 부팅한다. 부팅 후엔 LILO에 test라 입력해 새로 만든 테스트 커널을 실험해 보면 된다.

prompt
timeout=50
default=linux
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
#message=/boot/message
lba32
vga=0x030a

image=/boot/bzImage-2.4.16
label=linux
initrd=/boot/initrd-2.4.16.img
read-only
root=/dev/hda1
append="mem=nopentium hdd=ide-scsi"

image=/boot/test_img
label=test
initrd=/boot/initrd-2.4.16.img
read-only
root=/dev/hda1
append="mem=nopentium hdd=ide-scsi"

커널의 설치는 간단하다. 커널 이미지와 맵 파일을 복사하고 lilo.conf를 수정해주면 된다. 복사할 파일은 $(TOPDIR)/arch/i386/boot/bzImage와 $(TOPDIR)/System.map 두 개다.

필자는 bzImage를 /boot/bzImage-2.4.16과 같이 버전 이름을 사용해 복사하고 System.map을 /boot/Sysstem.map-2.4.16과 같이 복사한다. 그리고 /boot/System.map-2.4.16을 /boot/System.map 으로 심볼릭 링크를 만들어 준다. 커널은 /boot/System.map을 찾아 사용하기 때문이다.

주석

[1]

$(TOPDIR)은 커널 소스 디렉토리를 가리킨다. 즉 /usr/src/linux.