리눅스 커널 컴파일을 해보자 .

테스트사양 ubuntu-14.04.2  메모리 2GB 프로세스2개

 

커널을 받기위해 사이트를 접속한다.

https://www.kernel.org/하트3

 

 

 

커널 소스는 보통 /usr/src 폴더에 보관한다?

받은 소스를 /usr/src폴더에 옮긴후 다운받은 압축파일을 풀어헤친다

 

터미널 창에서 root@li:/usr/src# tar xvf linux-3.19.4.tar.xz 

압축을 풀고 cd linux-3.19.4

 

1. apt-get install ncurses-dev   (필요한 패키지를 설치한다.)

커널 컴파일하기전에 /boot/config-3.16.0-30-generic   커널 설정파일을 .config파일로 옮긴다.

cp config-3.16.0-30-generic /usr/src/linux-3.19.4/.config

2. make menuconfig   (커널 관련 설정파일을 설정하는 부분)

 

 

 

Load (선택) 방금복사한 파일 .config (OK) Save 세이브한다.

통합 커널 컴파일 할수있는 툴을 설치한다.

추가 apt-get update

3. apt-get install kernel-package

4. make-kpkg -j8 --initrd --revision=1.0 kernel_image  

    (revision= 버전)생성될 파일의 버전을 의미한다. -j 옵션 프로세스 *2(멀티컴파일? CPU를 여러개사용하여 컴파일 빠르도록)

    현재시각 16시 29분 ( 프로세스가 4개이므로 *2인 옵션에 8)

 결과사진

 

상위폴더에 cd ../

linux-image-3.19.4_1.0_amd64.deb  파일이 생성 되었는지 확인

 

 

5.   dpkg -i linux-image-3.19.4_1.0_amd64.deb

/boot 및 /lib/modules 에 파일이 추가된다 

 

6.  reboot now

 

7.  uname -a  (커널 버전이 바뀌었는지 확인한다.

 


 

과거 컴파일시

 

 

 

make -j8

아키텍쳐 부트 폴더의 bzImage 를 boot에 vmlinux-XXX로 복사

update-initramfs -c -k 2.6.29

Sudo update-grub

 

 

이상 쉬엇!

 

 


 

 

 

 

'리눅스커널' 카테고리의 다른 글

LCD (1)  (1) 2016.06.23
ARM 리눅스 커널 3.0 포팅(Porting the Linux kernel 3.0 for ARM Architecture)  (0) 2016.06.23
시스템콜  (0) 2015.04.16
systemcall  (0) 2015.04.15
스와퍼(Swapper)프로세스  (0) 2015.04.15

+ Recent posts