1. 2.6.x 버전의 커널을 컴파일 하려면 우선 필요한 패키지들의 버전을 확인해야 한다.
제목: 최소 버전: 버전 알아내기:
Gnu C Compiler 2.95.3 gcc --version
Gnu Make 3.78 make --version
binutils 2.12 ld -v
util-linux 2.10o fdformat --version
module-init-tools 0.9.9 depmod -V
procps 2.0.9 ps --version
[procps 2.x] [procps 3.x]
다음 유틸리티들은 특정 파일 시스템에 관련된 유틸리티들입니다. ext2 나 ext3 를 사용중이라면 e2fsprogs 를업데이트 하고 jfs 를 사용중이라면 jfsutils 를 업데이트 하십시요. 그 외 유틸리티들도 ext2, ext3, 아니면jfs 와 같은 방법으로 업데이트 하십시요:
제목: 최소 버전: 버전 알아내기:
e2fsprogs 1.29 tune2fs
jfsutils 1.0.14 fsck.jfs -V
reiserfsprogs 3.6.3 reiserfsck -V 2>&1 | grep reiserfsprogs
xfsprogs 2.1.0 xfs_db -V
nfs-utils 1.0.5 showmount --version
그리고 아래 목록의 다른 유용한 유틸리티들도 필요에 따라 업데이트 해주십시요:
제목: 최소 버전: 버전 알아내기:
pcmcia-cs 3.1.21 cardmgr -V
quota-tools 3.09 quota -V
PPP 2.4.0 ppd --version
isdn4k-utils 3.1pre1 isdnctrl 2>&1 | grep version
oprofile 0.5.3 oprofiled --version
위에서 PPP나 isdn 의 경우는 사용하지 않는 경우에는 버전업을 할 필요가 없다.
module-init-tools를 아래 주소에서 3.1 이상 버전으로 다운 받는다.
http://www.kernel.org/pub/linux/kernel/people/rusty/modules/
아래의 과정으로 컴파일 한다. (/sbin에 기존 modutil 파일을 *.old로 백업하고 /sbin에 컴파일된 파일을 설치한다.)
# ./configure --prefix=/
# make moveold
# make DOCBOOKTOMAN="ls"
# make
# make install
2. 커널 소스를 다운 받고 /usr/src에 푼다.
http://kernel.org/
위 사이트에서 full-source를 다운 받도록 한다. 파일 이름에 링크 걸린건 패치 파일이다. 그 옆에 full-source를 받도록 한다.
# cd /usr/src
# tar xvjf linux-2.6.10.tar.bz2
# ln -s linux-2.6.10 linux
소스를 컴파일 할 때 /usr/src/linux라는 경로명이 쓰이기 때문에 위와 같이 링크를 걸어줘야 한다.
3. 환경 설정
# make menuconfig
맨 밑에 있는 메뉴를 통해 기존 설정을 저장하고 로드 할 수 있다.
http://wiki.kldp.org/wiki.php/%B8%AE%B4%AA%BD%BA%C4%BF%B3%CE
위 주소를 참조한다.
커널 설정할때 스카시 디스크를 사용하는 서버(특히 aic7xxx)는 스카시 서포트와 스카시 디스크 서포트 및 사용하는 스카시 어뎁터를 모듈로 하지 말고 커널에 포함시켜야 한다.
4. 커널 컴파일
더 이상 'make dep' 명령을 주지 않아도 됨으로서 커널 컴파일 과정은 커널 2.4 보다 한 단계 쉬워졌습니다.'make bzImage' 명령으로 새로운 커널을 컴파일합니다. 모듈을 설치하려고 한다면 'make modules' 명령과'make modules_install' 명령 또한 입력해야 할 것입니다. 혹은 'make bzImage &&make modules && make modules_install' 과 같이 모든 명령을 한꺼번에 입력할 수도있습니다.
# make bzImage
# make modules
# make modules_install
# cd (위에서 설치한 module-init-tools 디렉토리)
# ./generate-modprobe.conf /etc/modprobe.conf
# depmod 2.6.10
# pwd
/usr/src/linux-2.6.10
# mv arch/i386/boot/bzImage /boot/vmlinuz-2.6.10
# mv System.map /boot/System.map-2.6.10
# vi /etc/sysconfig/syslog 에서 아래 내용을 수정
KLOGD_OPTIONS="-x -k /boot/System.map-`uname -r`"
5. lilo 설정
/etc/lilo.conf에 아래 내용을 추가한다.
image=/boot/vmlinuz-2.6.10
label=linux-new
read-only
# lilo
위 명령으로 변경사항 적용 (커널에 문제가 있어서 새로 컴파일 하고 부트 이미지를 새로 만든걸로 변경한 후에도 lilo를 실행시켜야 한다.)
만약 원격지 서버라면 아래 명령으로 커널 패닉이 발생 할 경우 10초 후에 기존 커널로 다시 부팅하도록 한다.
# lilo -R 새로운커널라벨 panic=10
ex) # lilo -R linux-new panic=10
# reboot
제목: 최소 버전: 버전 알아내기:
Gnu C Compiler 2.95.3 gcc --version
Gnu Make 3.78 make --version
binutils 2.12 ld -v
util-linux 2.10o fdformat --version
module-init-tools 0.9.9 depmod -V
procps 2.0.9 ps --version
[procps 2.x] [procps 3.x]
다음 유틸리티들은 특정 파일 시스템에 관련된 유틸리티들입니다. ext2 나 ext3 를 사용중이라면 e2fsprogs 를업데이트 하고 jfs 를 사용중이라면 jfsutils 를 업데이트 하십시요. 그 외 유틸리티들도 ext2, ext3, 아니면jfs 와 같은 방법으로 업데이트 하십시요:
제목: 최소 버전: 버전 알아내기:
e2fsprogs 1.29 tune2fs
jfsutils 1.0.14 fsck.jfs -V
reiserfsprogs 3.6.3 reiserfsck -V 2>&1 | grep reiserfsprogs
xfsprogs 2.1.0 xfs_db -V
nfs-utils 1.0.5 showmount --version
그리고 아래 목록의 다른 유용한 유틸리티들도 필요에 따라 업데이트 해주십시요:
제목: 최소 버전: 버전 알아내기:
pcmcia-cs 3.1.21 cardmgr -V
quota-tools 3.09 quota -V
PPP 2.4.0 ppd --version
isdn4k-utils 3.1pre1 isdnctrl 2>&1 | grep version
oprofile 0.5.3 oprofiled --version
위에서 PPP나 isdn 의 경우는 사용하지 않는 경우에는 버전업을 할 필요가 없다.
module-init-tools를 아래 주소에서 3.1 이상 버전으로 다운 받는다.
http://www.kernel.org/pub/linux/kernel/people/rusty/modules/
아래의 과정으로 컴파일 한다. (/sbin에 기존 modutil 파일을 *.old로 백업하고 /sbin에 컴파일된 파일을 설치한다.)
# ./configure --prefix=/
# make moveold
# make DOCBOOKTOMAN="ls"
# make
# make install
2. 커널 소스를 다운 받고 /usr/src에 푼다.
http://kernel.org/
위 사이트에서 full-source를 다운 받도록 한다. 파일 이름에 링크 걸린건 패치 파일이다. 그 옆에 full-source를 받도록 한다.
# cd /usr/src
# tar xvjf linux-2.6.10.tar.bz2
# ln -s linux-2.6.10 linux
소스를 컴파일 할 때 /usr/src/linux라는 경로명이 쓰이기 때문에 위와 같이 링크를 걸어줘야 한다.
3. 환경 설정
# make menuconfig
맨 밑에 있는 메뉴를 통해 기존 설정을 저장하고 로드 할 수 있다.
http://wiki.kldp.org/wiki.php/%B8%AE%B4%AA%BD%BA%C4%BF%B3%CE
위 주소를 참조한다.
커널 설정할때 스카시 디스크를 사용하는 서버(특히 aic7xxx)는 스카시 서포트와 스카시 디스크 서포트 및 사용하는 스카시 어뎁터를 모듈로 하지 말고 커널에 포함시켜야 한다.
4. 커널 컴파일
더 이상 'make dep' 명령을 주지 않아도 됨으로서 커널 컴파일 과정은 커널 2.4 보다 한 단계 쉬워졌습니다.'make bzImage' 명령으로 새로운 커널을 컴파일합니다. 모듈을 설치하려고 한다면 'make modules' 명령과'make modules_install' 명령 또한 입력해야 할 것입니다. 혹은 'make bzImage &&make modules && make modules_install' 과 같이 모든 명령을 한꺼번에 입력할 수도있습니다.
# make bzImage
# make modules
# make modules_install
# cd (위에서 설치한 module-init-tools 디렉토리)
# ./generate-modprobe.conf /etc/modprobe.conf
# depmod 2.6.10
# pwd
/usr/src/linux-2.6.10
# mv arch/i386/boot/bzImage /boot/vmlinuz-2.6.10
# mv System.map /boot/System.map-2.6.10
# vi /etc/sysconfig/syslog 에서 아래 내용을 수정
KLOGD_OPTIONS="-x -k /boot/System.map-`uname -r`"
5. lilo 설정
/etc/lilo.conf에 아래 내용을 추가한다.
image=/boot/vmlinuz-2.6.10
label=linux-new
read-only
# lilo
위 명령으로 변경사항 적용 (커널에 문제가 있어서 새로 컴파일 하고 부트 이미지를 새로 만든걸로 변경한 후에도 lilo를 실행시켜야 한다.)
만약 원격지 서버라면 아래 명령으로 커널 패닉이 발생 할 경우 10초 후에 기존 커널로 다시 부팅하도록 한다.
# lilo -R 새로운커널라벨 panic=10
ex) # lilo -R linux-new panic=10
# reboot
* 참고 사이트
http://pages.cpsc.ucalgary.ca/~spark/translations/kernel2.6.x.html

comments
comments rss (+댓글 쓰러가기)