<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>http://wiki.debianusers.or.kr/index.php?action=history&amp;feed=atom&amp;title=%EC%BB%A4%EB%84%90_%EC%BB%B4%ED%8C%8C%EC%9D%BC</id>
	<title>커널 컴파일 - 편집 역사</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.debianusers.or.kr/index.php?action=history&amp;feed=atom&amp;title=%EC%BB%A4%EB%84%90_%EC%BB%B4%ED%8C%8C%EC%9D%BC"/>
	<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EC%BB%A4%EB%84%90_%EC%BB%B4%ED%8C%8C%EC%9D%BC&amp;action=history"/>
	<updated>2026-06-14T12:44:44Z</updated>
	<subtitle>이 문서의 편집 역사</subtitle>
	<generator>MediaWiki 1.34.1</generator>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EC%BB%A4%EB%84%90_%EC%BB%B4%ED%8C%8C%EC%9D%BC&amp;diff=15&amp;oldid=prev</id>
		<title>Redneval: 새 문서:  제목 : 커널 컴파일  난이도 : 중급  작성자 : redneval  라이선스 : GFDL  처음 작성일자 : 2009년 6월   == 목적 ==  데비안에서 리눅스 커널을 컴파...</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EC%BB%A4%EB%84%90_%EC%BB%B4%ED%8C%8C%EC%9D%BC&amp;diff=15&amp;oldid=prev"/>
		<updated>2009-06-06T04:46:45Z</updated>

		<summary type="html">&lt;p&gt;새 문서:  제목 : 커널 컴파일  난이도 : 중급  작성자 : redneval  라이선스 : GFDL  처음 작성일자 : 2009년 6월   == 목적 ==  데비안에서 리눅스 커널을 컴파...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt; 제목 : 커널 컴파일&lt;br /&gt;
 난이도 : 중급&lt;br /&gt;
 작성자 : redneval&lt;br /&gt;
 라이선스 : GFDL&lt;br /&gt;
 처음 작성일자 : 2009년 6월&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 목적 ==&lt;br /&gt;
&lt;br /&gt;
데비안에서 리눅스 커널을 컴파일하는 방법에 대해서 알아봅니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 사전준비 ==&lt;br /&gt;
&lt;br /&gt;
=== 최신 커널 설치 ===&lt;br /&gt;
&lt;br /&gt;
먼저 sid 저장소를 추가해줍시다. 다음 명령어로 /etc/apt/sources.list 파일을 열어서,&lt;br /&gt;
&lt;br /&gt;
 sudo gedit /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
다음을 추가해줍니다.&lt;br /&gt;
&lt;br /&gt;
 deb http://http.us.debian.org/debian sid main contrib non-free&lt;br /&gt;
&lt;br /&gt;
이제 sid 저장소에 있는 커널을 설치해줍시다.&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get install linux-image-2.6-686&lt;br /&gt;
&lt;br /&gt;
현재(2009년 6월)는 linux-image-2.6.29-2-686 꾸러미가 설치됩니다.&lt;br /&gt;
&lt;br /&gt;
어떤 버전의 커널이 설치될지는 sid 저장소에 어떠한 버전의 커널이 있느냐에 따라 다릅니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
꾸러미 이름의 2.6.29 는 커널 버전을 의미합니다.&lt;br /&gt;
&lt;br /&gt;
2 는 (리눅스 커널의 꾸러미를 관리하고 있는) Debian Kernel Team 이 두번째로 업데이트한 것라는 것을 나타내고,&lt;br /&gt;
&lt;br /&gt;
686은 컴퓨터 종류(Architecture)를 나타냅니다. 참고로, 대부분의 PC 는 686 에 해당됩니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
이제부터 일반화된 설명을 하기 위해서, 커널 버전은 2.[X].[Y] 라고 나타내고, 업데이트 번호는 [Z] 라고 나타내겠습니다.&lt;br /&gt;
&lt;br /&gt;
그러므로, linux-image-2.6.29-2-686 는 이제 linux-image-2.[X].[Y]-[Z]-686 이라고 나타내는 식입니다.&lt;br /&gt;
&lt;br /&gt;
앞으로의 설명에서 나오는 모든 [X], [Y], [Z] 는 해당되는 숫자로 바꿔서 이해해야합니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
커널 설치가 끝났으면 재부팅해봅시다.&lt;br /&gt;
&lt;br /&gt;
 sudo reboot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
부팅시에 커널 선택 화면(Grub)이 나타나는데,&lt;br /&gt;
&lt;br /&gt;
방금 설치한 `Debian GNU/Linux, kernel 2.[X].[Y]-[Z]-686' 를 선택하여 부팅합니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 설치 확인 ===&lt;br /&gt;
&lt;br /&gt;
먼저 부팅이 잘 되었나 확인합니다.&lt;br /&gt;
&lt;br /&gt;
이제 uname -r 명령어로 현재 사용 중인 커널의 버전을 확인해봅시다.&lt;br /&gt;
&lt;br /&gt;
 redneval@Horus:~$ uname -r&lt;br /&gt;
 2.[X].[Y]-[Z]-686&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
부팅 과정에서 중요한 파일들은 /boot 에 위치합니다.&lt;br /&gt;
&lt;br /&gt;
 redneval@Horus:~$ ls /boot | grep 2\.[X]\.[Y]&lt;br /&gt;
 System.map-2.[X].[Y]-[Z]-686&lt;br /&gt;
 config-2.[X].[Y]-[Z]-686&lt;br /&gt;
 initrd.img-2.[X].[Y]-[Z]-686&lt;br /&gt;
 vmlinuz-2.[X].[Y]-[Z]-686&lt;br /&gt;
&lt;br /&gt;
네 개의 파일이 있는지 확인하면 됩니다.&lt;br /&gt;
&lt;br /&gt;
이 중에서 config-2.[X].[Y]-[Z]-686 은 커널 컴파일 옵션이 저장된 파일입니다.&lt;br /&gt;
&lt;br /&gt;
뒤에서 커널을 컴파일할 때 사용할 것입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
커널 선택 화면(Grub)의 설정 파일인 /boot/grub/menu.lst 도 구경해봅시다.&lt;br /&gt;
&lt;br /&gt;
 redneval@Horus:~$ cat /boot/grub/menu.lst | grep Debian&lt;br /&gt;
 title		Debian GNU/Linux, kernel 2.[X].[Y]-[Z]-686&lt;br /&gt;
 title		Debian GNU/Linux, kernel 2.[X].[Y]-[Z]-686 (single-user mode)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 기타 필요한 꾸러미 설치 ===&lt;br /&gt;
&lt;br /&gt;
커널을 컴파일하기 위해서 필요한 몇 가지 꾸러미를 설치합니다.&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get build-dep linux-2.[X]&lt;br /&gt;
 sudo apt-get install build-essential fakeroot procps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 커널 컴파일 준비 ===&lt;br /&gt;
&lt;br /&gt;
커널 컴파일하기 위한 작업용 디렉터리를 새로 만들고, 그 곳으로 이동합시다.&lt;br /&gt;
&lt;br /&gt;
예를 들면, 다음과 같이 합니다.&lt;br /&gt;
&lt;br /&gt;
 mkdir ~/kernel-compile&lt;br /&gt;
 cd ~/kernel-compile&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
이번에는 커널의 소스 코드를 받습니다.&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install linux-source-2.[X].[Y]&lt;br /&gt;
 cp /usr/src/linux-source-2.[X].[Y].tar.bz2  .&lt;br /&gt;
 tar xvfj linux-source-2.[X].[Y].tar.bz2&lt;br /&gt;
 cd linux-source-2.[X].[Y]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#f8f8f8;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
| &amp;lt; 참고 (선택사항) &amp;gt;&lt;br /&gt;
&lt;br /&gt;
만약 컴퓨터의 CPU의 코어가 여러 개라면 다음과 같은 설정을 하는 것이 유리할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
하지만 커널 컴파일 경험이 없는 사용자라면 이 부분은 그냥 넘어가는 것이 좋습니다.&lt;br /&gt;
&lt;br /&gt;
어쨌거나 설정하기 위해서는, /etc/kernel-pkg.conf 에 다음 한 줄을 추가합니다. (참고 : man kernel-pkg.conf)&lt;br /&gt;
&lt;br /&gt;
 CONCURRENCY_LEVEL = 2&lt;br /&gt;
&lt;br /&gt;
듀얼코어라면 2 로 하고, 쿼드코어라면 4 로 설정하면 됩니다.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 커널 컴파일 옵션 설정 준비 ==&lt;br /&gt;
&lt;br /&gt;
kernel 2.[X].[Y]-[Z]-686 의 커널 컴파일 옵션 파일을 복사해옵시다.&lt;br /&gt;
&lt;br /&gt;
 cp /boot/config-2.[X].[Y]-[Z]-686 .config&lt;br /&gt;
&lt;br /&gt;
그 다음은 커널 컴파일 옵션 설정하는 단계입니다.&lt;br /&gt;
&lt;br /&gt;
커널 컴파일 옵션을 설정하기 위한 방법에는 make xconfig 와 make menuconfig 가 있습니다.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#f8f8f8;color:black;width:50%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; &lt;br /&gt;
! 명령어&lt;br /&gt;
! 의존성을 해결하기 위한 명령어&lt;br /&gt;
|-&lt;br /&gt;
| make xconfig || sudo apt-get install libqt3-mt-dev&lt;br /&gt;
|-&lt;br /&gt;
| make menuconfig || sudo apt-get install ncurses-dev&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
둘 중에서 make xconfig 를 사용할 것을 추천합니다.&lt;br /&gt;
&lt;br /&gt;
그러므로 libqt3-mt-dev 꾸러미가 설치안되었다면 다음과 같이 설치해주고,&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install libqt3-mt-dev&lt;br /&gt;
&lt;br /&gt;
make xconfig 명령어를 실행하여 커널 컴파일 옵션 설정 프로그램을 실행합니다.&lt;br /&gt;
&lt;br /&gt;
 make xconfig&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 커널 컴파일 옵션 설정하기 ==&lt;br /&gt;
&lt;br /&gt;
이 부분이 가장 중요한 단계입니다.&lt;br /&gt;
&lt;br /&gt;
이 단계에서 커널 컴파일 옵션을 잘못 설정하게 되면, 부팅이 안되거나 기능이 잘 동작하지 않는 커널이 생성될 수도 있습니다.&lt;br /&gt;
&lt;br /&gt;
그러므로 잘 모르겠으면 옵션을 건드리지 않고 그냥 넘어가도록 합시다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 컴파일 및 꾸러미 생성 ==&lt;br /&gt;
&lt;br /&gt;
설정이 끝났으면 이제 컴파일하는 단계입니다.&lt;br /&gt;
&lt;br /&gt;
데비안에서는 커널 꾸러미를 자동으로 생성해주는 make-kpkg 라는 프로그램이 있습니다.&lt;br /&gt;
&lt;br /&gt;
(참고로, make-kpkg 는 kernel-package 꾸러미에 포함돼있습니다.)&lt;br /&gt;
&lt;br /&gt;
다음 명령어를 입력하면 됩니다. 참고로 컴퓨터의 사양에 따라 1시간이상 걸리기도 합니다.&lt;br /&gt;
&lt;br /&gt;
 make-kpkg clean&lt;br /&gt;
 fakeroot make-kpkg --initrd --append-to-version=-custom --revision=1.0 kernel_image kernel_headers&lt;br /&gt;
&lt;br /&gt;
--append-to-version 옵션을 주면 꾸러미의 이름을 약간 바꿀 수 있고,&lt;br /&gt;
&lt;br /&gt;
--revision 옵션으로 꾸러미의 버전을 바꿀 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
위와 같이 하면 linux-image-2.[X].[Y]-custom 과 linux-headers-2.[X].[Y]-custom 의 두 개의 꾸러미가 생성되며&lt;br /&gt;
꾸러미의 버전은 1.0 이 됩니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 설치 및 확인 ==&lt;br /&gt;
&lt;br /&gt;
이제 생성된 꾸러미를 설치합니다.&lt;br /&gt;
&lt;br /&gt;
 cd ..&lt;br /&gt;
 sudo dpkg -i linux-image-2.[X].[Y]-custom_1.0_i386.deb linux-headers-2.[X].[Y]-custom_1.0_i386.deb&lt;br /&gt;
&lt;br /&gt;
재부팅하여 커널이 잘 동작하는지 확인합시다.&lt;br /&gt;
&lt;br /&gt;
커널 버전도 확인해봅시다.&lt;br /&gt;
&lt;br /&gt;
 redneval@Horus:~$ uname -r&lt;br /&gt;
 2.[X].[Y]-[Z]-custom&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 마무리 ==&lt;br /&gt;
&lt;br /&gt;
맨 처음에 추가해줬던 sid 저장소를 빼주는 것도 잊지 맙시다. /etc/apt/sources.list 를 열어서,&lt;br /&gt;
&lt;br /&gt;
 sudo gedit /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
다음 부분은 지워줍시다.&lt;br /&gt;
&lt;br /&gt;
 deb http://ftp.us.debian.org/debian/ sid main&lt;/div&gt;</summary>
		<author><name>Redneval</name></author>
		
	</entry>
</feed>