# 리눅스 커널 소스 다운로드 (bz2) 의 경우
wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.5.1.tar.bz2
tar jxvf linux-3.5.1.tar.bz2
# 최근 리눅스 커널 소스는 xz 로 압축해서 배포하고 있다.
# 리눅스 커널 소스 다운로드 (xz) 의 경우 xz -> tar 두번 압축해제
wget https://cdn.kernel.org/pub/linux/kernel/v3.x/linux-3.10.105.tar.xz
xz -d linux-3.10.105.tar.xz
tar xvf linux-3.10.105.tar
# 빌드에 필요한 툴 설치(Ubuntu 기준)
sudo apt-get install ncurses-dev
# 리눅스 소스 경로로 이동
cd linux-3.5.1
# 이전 커널의 오브젝트파일, 버전정보, 컴파일 환경 설정 값등 현재 컴파일할 커널에 영향을 줄 수 있는 정보 삭제
make mrproper
# 빌드 환경 설정
# defconfig:디폴트설정
# i386_defconfig:32bit 디폴트설정
# x86_64_defconfig:64bit 디폴트설정
# config:텍스트모드
# menuconfig:텍트스메뉴모드
# xconfig:X윈도우
make x86_64_defconfig
# 빌드(make bzImage(일반용) 와 make zImage(임베디드용) 는 kernel2.6 이후 make 로 통합)
make clean
make -j10
# 모듈 설치 (/lib/modules/버전 에 설치됨)
sudo make modules_install
# 커널 설치 (/boot 에 설치됨)
sudo make install
# 필요시 grub 부트로더 갱신
# grub 일 경우
sudo vi /boot/grub.conf
# grub2 일 경우
sudo update-grub