ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 커널 컴파일 과정
    Embedded/Kernel Programing 2010. 4. 19. 15:06

    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정도로 주어서, 선택할수 있는 시간을 설정해놓는다.)

    'Embedded > Kernel Programing' 카테고리의 다른 글

    Makefile 옵션중에서...는  (0) 2010.06.28
    struct module  (0) 2010.04.22
    vi에서 소스 자동정렬 방법  (0) 2010.03.09
    Exception 처리과정  (0) 2010.03.05
    PSP Hardware Specifications  (0) 2010.03.04
Designed by Tistory.