리눅스 커널 컴파일 방법에 대한 메모
OS : CentOS 6.3
Kernel 버전 : 2.6.32-279.19.1.el6.i686 -> 2.9.39 로 업데이트
1. 일단 커널 컴파일시, 메뉴를 화면에 뿌려주기 위한 ncurses-devel를 설치한다.
- yum install ncurses-devel
2. 컴파일 하고 싶은 커널 버전 다운로드 (http://www.kernel.org/pub/linux/kernel)
- 경로 : /usr/src (경로는 자기가 원하는 곳으로 설정하면 된다)
- wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.39.tar.gz
3. 압축을 풀고, 링크 설정을 한다. (사실 안해도 상관은 없다.)
- tar xvfz linux-2.6.39.tar.gz
- ln -s linux-2.6.39 linux
4. 커널 컴파일 하기 전, 커널에 대한 설정을 한다.
- cd /usr/src/linux
- make mrproper
- make clean
- cp /boot/config-`uname -r` ./.config
- make menuconfig
- Load and Alternaate Configuration File로 들어가서 .config 입력 후 OK 버튼
- General setup 선택
- enable deprecated sysfs features to support old userspace tools (NEW) 에서 "y" 키로 선택
- Local Version 선택
- 커널 뒤에 붙을 이름 입력 (-release를 붙혔다면 2.6.36-release로 생성 됨)
- Save and Alternaate Configuration File로 들어가서 .config 입력 후 OK 버튼
5. 커널을 빌드한다.
- make all
- make modules_install
- make install
6. 부팅 시, Load할 커널을 설정한다.
- vi /boot/grub/menu.lst
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/mapper/VolGroup-lv_root
# initrd /initrd-[generic-]version.img
#boot=/dev/sde
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.39release)
root (hd0,0)
kernel /vmlinuz-2.6.39release ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS LANG=ko_KR.eucKR rd_NO_MD rd_LVM_LV=VolGroup/lv_swap crashkernel=auto rd_LVM_LV=VolGroup/ lv_root KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
initrd /initramfs-2.6.39release.img
title CentOS (2.6.32-279.19.1.el6.i686)
root (hd0,0)
kernel /vmlinuz-2.6.32-279.19.1.el6.i686 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS LANG=ko_KR.eucKR rd_NO_MD rd_LVM_LV=VolGroup/lv_swap crashkernel=auto rd_LVM_L V=VolGroup/lv_root KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-279.19.1.el6.i686.img
title CentOS (2.6.32-279.el6.i686)
root (hd0,0)
kernel /vmlinuz-2.6.32-279.el6.i686 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS LANG=ko_KR.UTF-8 rd_NO_MD rd_LVM_LV=VolGroup/lv_swap crashkernel=auto rd_LVM_LV=Vol Group/lv_root KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-279.el6.i686.img
'Linux' 카테고리의 다른 글
vi 편집기 설정 방법 (0) | 2014.11.29 |
---|---|
Linux 환경 CentOS 6.3 root 비밀번호 분실 대처 방법 (0) | 2014.11.29 |
문자 디바이스 드라이버 (Device Driver)를 이용한 모듈프로그래밍(Module Programming) 입/출력 (0) | 2014.11.29 |
모듈 프로그래밍 (Module Programming) (0) | 2014.11.29 |
Linux USB 마운트 방법 (0) | 2014.11.29 |