0. 환경
-우분투 16.04 64bits
1. 리눅스 커널 소스 다운
https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/
v4.x부분을 v3.x로 바꾸면 3.x버전들을 다운받을 수 있는 곳으로 간다.
이런 식으로 원하는 커널 버전을 다운받으면 된다.
링크주소 복사 후 wget 명령어로 압축파일 다운
**이 글에서는 linux-4.4.1.tar.gz 다운 받음
다운받은 파일을 압축해제하고
/usr/src 폴더로 옮긴다.
$ sudo tar -zxvf linux-4.4.1 $ sudo mv linux-4.4.1 /usr/src |
** /usr/src 폴더에서 다운받아서 압축을 풀어도 무관
2. 빌드하려는 커널의 설정
현재 버전의 리눅스에서 사용하는 config 파일을 가져온다.
$ uname -r // 현재 커널 버전 확인
usr/src/linux-4.4.1$ sudo cp /boot/config-현재커널버전 ./.config usr/src/linux-4.4.1$ sudo make menuconfig |
** 현재 커널 버전이 3.19.0-19-generic인 경우
$ sudo cp /boot/config-3.19.0-19-generic ./.config $ sudo make menuconfig |
3. 커널 컴파일 (이미지파일 생성)
usr/src/linux-4.4.1$ sudo make-kpkg --initrd --revision=1.0 kernel_image
이 과정이 3~4시간 정도 걸리므로 충분한 시간과 배터리를 가지고 시도한다.
커널이 제대로 설치되었을 경우 /usr/src/ 폴더에서 .deb파일을 확인할 수 있다.
** make-kpkg: command not found
$ sudo apt-get install kernel-package |
** openssl/opensslv.h: No such file or directory
$ sudo apt-get install libssl-dev |
4. 커널 빌드
/usr/src$ sudo dpkg -i 커널이미지파일(.deb) $uname -r // 현재 커널 버전 확인 |