C & Docker & LINUX

리눅스 커널 컴파일

로픽 2017. 4. 25. 13:30
300x250

리눅스 커널 컴파일 전체적인 순서 (Centos 기준)

1. 루트 권한 획득 후 커널 버전 확인 및 필요 패키지 설치
2. 커널 소스코드 다운로드
3. 기존 커널 옵션 초기화
4. 커널 옵션 설정
5. 새 커널 컴파일 및 설치
6. 재부팅

1. 루트 권한 획득 후 현재 커널 버전 확인 및 필요 패키지 설치
#su root -> 패스워드 입력 이후 루트 권한 획득

#uname -r  현재 커널의 버전 확인

#yum install -y gcc* ncurses-devel  커널 컴파일을 위한 패키지 설치

2. 커널 소스코드 다운로드

#mv ./Desktop/linux-2.6.36.tar.gz /usr/src  다운로드 받은 커널을 /usr/src로 이동
#cd /usr/src
#tar xvzf linux-2.6.36.tar.gz    //압축해제
#ln -s linux-2.6.36 linux         //심볼릭 링크 설정으로 파일이름 간단하게
#cd linux

3. 기존 커널 옵션 초기화
#make mrproper  //이전 컴파일시 남은 커널옵션 초기화
#make clena    //여러개 생성된 object파일 삭제
#cp -p /boot/config-2.618.1B-398.el5PAE ./.config    //현재 사용하는 설정으로 컴파일하기 위해서 설정파일을 가져옴

4. 커널 옵션 설정
#make menuconfig
메뉴 설정에서 설정을 추가함

load and aleternate configuration file에 .config가 입력되어 있는지 확인 후 ok
general startup의 enable deprecated sysfs features to support old userspace tools 선택(space bar)
local version 선택 후 부트 이미지에 붙을 이름을 입력
저장 후 빠져나옴

5. 새 커널 컴파일 및 설치
     #make all
/usr/src/linux-버전/arc/i386/boot 디렉토리에 커널파일 bzImage가 생성됨
#make modules
모듈 컴파일
#make modules_install
모듈을 /lib/modules로 설치함
#make install
/boot 디렉토리에 initrd-버전.img, vmlinuz-버전 파일들을 생성함

6. 재부팅
#reboot


반응형