출처 : http://lpbox.co.kr/lp/read.php?id=Linux&main_No=60&sub_No=AAAAA



CentOS 5.4를 깔자마자, 사정상 커널 컴파일을 했는데 부팅시 에러로 인한 삽질을 경험하여 포스팅 함.

1. 컴파일 도구 설치

코드

# yum install gcc
# yum install ncurses-devel
# yum install rpm-build
# yum install bison
# yum install depmod
# yum install mkinitrd


2. 커널 다운로드& 압축 해제
코드

# cd /usr/src
# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.33.1.tar.bz2
# tar xvf linux-2.6.33.1.tar.bz2
# ln -s linux-2.6.33.1 linux
# cd linux


3. 메뉴 구성
코드

# make clean
# make mrproper
# cp /boot/config-현재커널 버전 ./.config
# make menuconfig

현재 구동중인 커널의 환경정보를 기준으로 커널을 컴파일 하기 위하여 cp /boot/config-현재커널 버전 ./.config 를 함

이제 핵심!!!
메뉴 하단에 Load an Al ternate Configuration File을 선택
.config 파일이 입력되어 있는데, 이를 선택하여 현재 커널 환경을 불러들임
이후
General Setup ---> enable deprecated sysfs features which may confuse old usersp 를 Y키를 눌러 *로 활성화 시킨다.
이후 저장하여 메뉴 환경 설정 메뉴에서 탈출!!
또는 .config 파일에서 CONFIG_SYSFS_DEPRECATED_V2=y
로 설정

이를 하지 않고 부팅시 insmod: error inserting '/lib/dm-region-hash.ko': -1 File exists라는 메세지와 함께 커널 패닉!!
설정하더라도 같은 메세지는 나오지만 패닉없이 잘 넘어감

이후
코드
#make && make modules && make modules_install && make install
#cat /boot/grub/grub.conf

#cat /boot/grub/grub.conf를 통해 새로운 커널이 부팅할 수 있게 설정되었는지 확인한

코드

#reboot
...
#uname -a


WRITTEN BY
RootFriend
개인적으로... 나쁜 기억력에 도움되라고 만들게되었습니다.

,