1.    Ubuntu에서 커널 컴파일 하기

 

* 아래 나와있는 것은 전부 root계정 기준입니다.

 

1)    먼저, 커널 컴파일에 필요한 것들을 설치합니다.

apt-get install build-essential bin86 kernel-package

apt-get install libncurses5-dev

libncurses의 경우 저렇게 명령어 쳐주면 자동으로 현재(08.05.11) 가장 최신인 5.6버전을 받습니다.

 

 

 

2)    커널 소스 다운로드, 컴파일 옵션

예전 버전들이 이곳에 있습니다. 확장자가 bz2인 파일을 받습니다.

ftp://ftp.kernel.org/pub/linux/kernel/v2.6/

다운로드 위치는 상관없으나 여기서는 /usr/bin 기준으로 말하겠습니다.

/usr/bin 디렉토리로 이동하여 압축을 풀어줍니다. tar xjvf linux-2.6.24.tar.bz2

압축을 푼 화면 입니다.

linux-2.6.24-16-generic은 우분투 8.04 설치 시 기본 커널 버전

이제 압축 푼 디렉토리를 소프트링크를 통해 연결시켜 줍니다.

ln –s /usr/src/linux-2.6.24 /usr/src/linux

 

 

 

 

이제 커널 컴파일 옵션을 줘야 하는데, 여기서는 지금 기존에 있는 옵션파일을 불러와서 컴파일 하겠습니다. (수동으로 옵션 주실 분은 아래 참고하세요 make menuconfig부분 참고)

/boot 디렉토리에 보면 지금 돌고있는 커널(uname –r로 확인)config파일이 있습니다. 이것을 /usr/src/linux 디렉토리에 .config이라는 이름으로 복사해 줍니다.

cp /boot/config-2.6.24-16-generic .config

 

 

*make menuconfig 명령을 통해 기존 config이 아닌 새로운 옵션으로 컴파일 할 수 있습니다.

 

 

 

 

이 과정은 반드시 기존의 config을 복사하신 분은 안 하셔도 됩니다. 새롭게 옵션 주실 분은 여기서 조정할 수 있습니다. 옵션을 주시고 나가실 때 저장하면 .config 파일이 생성됩니다.

3)    컴파일 시작

 

make clean 한 번 해주시고

make-kpkg --initrd --stem linux --revision=cusom.1.0 kernel_image kernel_headers

 

--revision 부분은 적고 싶으신 대로 적으시면 됩니다.

이제 컴파일 됩니다. 저 같은 경우에는 virtual box환경에서 3시간 걸렸습니다.

끝나고 나면 header와 image 두 개의 deb 파일이 생성됩니다.

이것을 설치해주면 되겠습니다.

 

dpkg –i linux-headers-2.6.24.custom_i386.deb

dpkg –i linux-image-2.6.24.custom_i386.deb

 

설치된 커널 이미지는 시냅틱 패키지 관리자에서 제거 가능합니다.

 

자동으로 부트로더에 등록되어 처음 부팅시에 esc를 눌러 커널을 선택할 수 있습니다.

cat /boot/grub/menu.lst 로 등록된 커널 확인 가능

커널이 바뀌어서 하드웨어 드라이버는 재설치 하셔야 합니다.

출처: http://smartsaver.springnote.com/pages/1173140

'Education > Linux Kernel' 카테고리의 다른 글

vi 명령어  (0) 2012.01.18
Ubuntu 접속시 느림 현상  (0) 2011.04.28
vi 명령어 모음  (1) 2011.01.28
우분투 vi editor 세팅  (0) 2010.08.05
우분투 커널 소스 & 컴파일  (0) 2010.08.04
Posted by 초상큼발랄
l