2015년 9월 29일 화요일

임베디드 시스템(10월 1일) - 실습: 라즈비안 커널 빌드

라즈비안이 설치된 라즈베리 파이를 위한 리눅스 커널 빌드와 설치 방법에 대해 실습합니다.

대부분의 데스크톱 리눅스 사용의 경우 커널 컴파일을 하는 경우가 드물긴 하지만, 임베디드 시스템에서라면 얘기가 다릅니다. 물론 데스크톱 리눅스에서 커널 컴파일이 불필요하다는 얘기는 아닙니다.

단순히 디바이스 드라이버를 만들기 위해 커널을 컴파일하기 보다는 모듈로 사용하는 것이 간단합니다만, 임베디드 시스템의 경우 커널 이미지를 최소화하고 최적화하여 부팅 시간을 단축하거나 메모리 사용량을 줄이는 것이 매우 의미 있는 일입니다.

배포판에 포함된 커널 이미지를 사용하는 것 보다 직접 커널 빌드하는 경우를 살펴보면,

* 새로운 하드웨어를 추가하였는데 기존 커널과 충돌이 발생할 때
* 배포판 커널에서 지원하지 않는 옵션을 사용하고자 할 때(모듈로 지원하지 않는 기능을 사용하려면 반드시 커널 빌드를 해야 합니다.)
* 필요없는 드라이버를 지워 커널을 최적화해 부팅 시간을 빠르게 하기
* 모듈 여러 개로 구성된 커널 대신에 이미지 하나로 된 커널 만들기
* 새로 업데이트된 커널이나 개발버전 커널 사용
(참고: https://www.debian.org/releases/etch/s390/ch08s06.html.ko)

그러면, 라즈비안에서 커널 빌드 방법에 대해 아래 링크에서 살펴보겠습니다.
https://github.com/jyheo/documentation/blob/master/linux/kernel/building.md

라즈비안 리눅스 커널 소스(교내 링크)
http://idisk.hansung.ac.kr:8081/api.link/3d_baLoMEr_eTeYC_Q~~.gz