[t:/]$ 지식_

우분투 커널 개발 환경

2011/02/06

요즘은 커널 원본을 받아다 이런저런 실험을 하기가 어렵다.
다들 데스크탑 리눅스를 쓰기 때문이다.
뭐라도 하나 망가지면 시스템이 작살날 뿐더러..
현 시스템의 커널 설정을 마이그레이션 하기도 어렵다.

.config만 복사한다고 될 일이 아니로다.
이게 커널인지 나비가 나인지..

우분투의 경우 몇 가지 룰을 알고 있으면 커널 실험(개발)이 쉽다.

각설하고..

apt-get source linux-image-$(uname -r)

이 작업은 현재 자신이 쓰고 있는 시스템과 같은 버전의 커널 소스를 우분투 레파짓에서 긁어온다.
여기에 우분투 패치까지 알아서 다 해준다.

이제 /usr/src/linux-2.6.38 디렉토리가 생기며 커널 소스가 깔렸다.

apt-get install linux-headers-$(uname -r)

커널 헤더를 받는다. 물론 커널 소스에도 있지만. 이것은 현 시스템의 커널 빌드가 반영된 헤더다.

/usr/src/linux-headers-2.6.38-8 이 생겼다.

거의 모든 파일이 심볼릭 링크로 연결되어 있을 것이다.

이때 /lib/modules/2.6.38-generic 도 생긴다.
이 디렉토리는 알다시피 모듈 버전등을 관리한다.

이제 /lib/modules/2.6.38-generic/build 심볼릭 링크가 /usr/src/linux-headers-2.6.38-8 에 연결되어 있는지 확인한다.

/lib/modules/2.6.38-generic/build 를 들어가보면 source라는 끊어진 심볼릭 링크가 보인다.

/build/buildd 를 /usr/src/linux-2.6.38 에 심볼릭 링크로 연결한 후 source를 /build/buildd 로 연결한다. 그냥 직빵 연결해도 된다. 우분투 기본 값이 그렇다.









[t:/] is not "technology - root". dawnsea, rss