우분투 8.10 || 커널 2.6.29 build

커널 2.6.29는 기존의 커널 버전 소스의 디렉토리에서 몇가지 바뀐 사항이 있다. 그래도 커널 컴파일 과정은 다르지 않다. 특히, oldconfig를 사용하므로 다소 어려운 환경설정은 피할 수 있으니 예전에 비하면 쉽다고 하겠다.

개발 환경
$ sudo apt-get install build-essential bin86 kernel-package wget libncurses5
$ sudo apt-get install initramfs-tools

다른 리눅스에선 initrd 이미지를 생성할 때 mkinitrd 를 사용하였는데 우분투에선 initramfs-tools이란걸 사용한다.

이번 포스트에선 기존에 있는 .config 파일을 사용할 것이다. /usr/src/ 밑에 자신이 현재 사용하는 커널 디렉토리가 있다. 그곳에 있는 .config 파일을 새로 빌드할 linux source 디렉토리에 복사한다.

커널 빌드

$ make oldconfig
$ make
$ make modules
$ make modules_install

make가 완료되었다면 생성된 bzImage와 System.map을 /boot/에 복사해야 한다.

/linux-2.6.29/arch/x86/boot/bzImage
/linux-2.6.29/System.map

위 두 파일을 다음과 같은 이름으로 복사한다.

cp /linux-2.6.29/arch/x86/boot/bzImage /boot/vmlinuz-2.6.29
cp /linux-2.6.29/System.map /boot/System.map-2.6.29

그런 후 initrd image를 생성해야 한다.
$ update-initramfs -c -k 2.6.29

커널 이미지는 준비가 되었고 실제 grub에 새로 생성한 커널로 부팅을 할 수 있게 등록을 해야한다.
/boot/grub/menu.lst
파일을 열어 보면 기존에 설정 된 목록이 있다. 적당히 복사하여 이미지 부분 버전만 수정하여 주면 된다.

Leave a Reply