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
반응형
'C & Docker & LINUX' 카테고리의 다른 글
리눅스 커널) 모듈 프로그래밍(읽기 쓰기가 가능한 Character Device 모듈 구현) (2) | 2017.05.10 |
---|---|
리눅스 커널) 모듈 프로그래밍(간단한 Char Device 모듈 구현) (0) | 2017.05.01 |
c언어 - stdout, stderr의 차이점 (0) | 2016.10.11 |
리눅스 C언어 (파일 목록 읽어내기) (0) | 2016.10.08 |
리눅스 쉘 스크립트 예제(alias, csh, 구구단, 피보나치수열) (4) | 2016.10.07 |