커널 컴파일 과정
Fredora 12 버젼 기준.
0. /boot 디렉토리 백업
1. www.kernel.org 에서 원하는 커널을 다운받는다.
ex) 받은 커널 linux-2.6.33.2.tar.gz
2. 받은 커널을 /usr/src/ 로 이동한다.
3. tar xvfz linux-2.6.33.tar.gz (압축을 해제한다)
4. cd /usr/src/linux-2.6.33 (압축 해제된 디렉토리로 이동)
5. make mrproper (이전 오브젝트 파일 삭제)
6. make menuconfig (원하는 환경으로 설정)
7. make 또는 time make | tee make.log
( /usr/src/linux-2.6.33/arch/i386/boot 디렉토리에 bzImage를 생성하는 커널 컴파일 과정 수행)
( make dep, clean, bzImage 명령을 make 명령어로 한번에 처리)
8. make modules 또는 time make modules | tee make_modules.log
( make menuconfig 환경설정에서 (M)로 선택한 모듈 부분을 커널 내부 구성요소에게 알려주고 그 구성요소들이 사용될 때 Auto kenel 적재가능하게 설정)
9. make modules_install 또는 time make modules_install | tee make_modules_install.log
(8번 단계에서 설정한 대로 설치한다. /lib/modules/...)
10. make install
( 자동으로 /boot 디렉토리에 initrd-2.6.18.img, vmlinux-2.6.18 파일들을 생성하고 이동시킨다)
( 예전의 2.4.x 커널 컴파일 방식보다 매우 편리하고 간단하게 커널컴파일 과정을 할 수 있다. 또한 /boot/grub/grub.conf 혹은 menu.list 파일을 자동으로 변경해주어 따로 부트로더 설정할 필요가 없어졌다)
11. sync
12. reboot
(만약 재부팅입력후, 다시 부팅될때, 커널 선택창이 안뜬다면, /boot/grub/grub.conf 에 가서, timeout 의 0값을 5정도로 주어서, 선택할수 있는 시간을 설정해놓는다.)