리눅스 커널 컴파일을 해보자 .
테스트사양 ubuntu-14.04.2 메모리 2GB 프로세스2개
커널을 받기위해 사이트를 접속한다.
커널 소스는 보통 /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 |