커널 패치 & 컴파일 ( SOURCE ) > 그누3 팁자료실

그누3 팁자료실

커널 패치 & 컴파일 ( SOURCE ) 정보

일반 커널 패치 & 컴파일 ( SOURCE )

본문

인터넷 제국에서 가져온 글입니다.
저도 아직 시도는 해보지 않았는데...
지금 해볼려구요..
혹시 이 부분 시도 해 보신분 댓글 남겨 주세엽

오늘(2004년 6월 21일) 공지한 리눅스 커널에 발생한 보안홀에대한 해결책인
커널 업그레이드 방법에대한 간단한 방법을 설명하겠습니다. 해당 시스템에
따라 달라질수있으므로 어디까지나 참고문서로 사용하시길 바라며 자신의 시
스템에 맞게끔 설치하시길 바랍니다.


[ 패치 후 소스로 컴파일하기 ]

* 커널 소스 컴파일의 가장 일반적인 예시입니다.
* 실제와 다른 부분이 존재할수도 있으니 참고 하시기 바랍니다.
* 레드햇 6.2를 설치했다면 modutils 패키지를 업데이트 해야 할 것입니다.
만약 커널 2.4 버젼대의 컴파일 시 modutils 버전이 2.4.0보다 버전보다 낮은 상태에서 모듈 컴파일을 한다면 에러가 납니다.
꼭 modutils를 업그레이드 해야 모듈 컴파일을 할 수 있습니다.
modutils를 업하면 예전의 /etc/conf.modules가 /etc/modules.conf 로 변경이 됩니다.
다음의 ftp 사이트에서 구할 수 있습니다.
ftp://ftp.kr.kernel.org/pub/linux/utils/kernel/modutils/v2.4/
해당 커널 버전에 맞는 rpm 파일을 다운받으셔서 업데이트 하시기 바랍니다.



[kernel 패치 방법]
* 커널 소스 다운로드 장소 : ftp://ftp.kr.kernel.org/pub/linux/kernel/v2.4
* 패치파일은 아래와 같습니다.

##########################################################
diff -Nru a/include/asm-i386/i387.h b/include/asm-i386/i387.h
--- a/include/asm-i386/i387.h 2004-06-15 20:38:27 -07:00
+++ b/include/asm-i386/i387.h 2004-06-15 20:38:27 -07:00
@@ -34,7 +34,7 @@

#define clear_fpu( tsk ) do { \
if ( tsk->flags & PF_USEDFPU ) { \
- asm volatile("fwait"); \
+ asm volatile("fnclex ; fwait"); \
tsk->flags &= ~PF_USEDFPU; \
stts(); \
} \
###########################################################

또는 아래 URL 에서 다운로드하시면 됩니다.

2.4.2x (x86)
http://linux.bkbits.net:8080/linux-2.4/gnupatch@40cdf6f8V7sOe5n96HA5Q7r9uDRvJQ

# cd /usr/src
# tar -xvzf linux-2.4.26.tar.gz
# cd /usr/src/linux-2.4.26
# patch -p1 < patch.txt


[kernel 컴파일 방법]

# make mrproper
# make menuconfig


-> 서버의 환경에 맞게 메뉴 옵션을 설정하시기 바랍니다.

# make dep
# make clean
# make bzImage
# make modules
# make modules_install
# cd arch/i386/boot
# cp /usr/src/linux-커널버전/arch/i386/boot/bzImage /boot/vmlinuz-2.4.26
# mv /usr/src/linux-커널버전/System.map /boot/System.map-2.4.25 -> 옆의 숫자는 커널 버전입니다.
# cd /boot
# ln -s System.map-2.4.26 System.map
# cd /boot
# mkinitrd initrd-2.4.26.img 2.4.26/kernel/drivers

* 다음은 lilo 에 대한 설정입니다.
3. /etc/lilo.conf 수정하기

해당 패키지를 정상적으로 설치완료한후에는 /etc/lilo.conf 파일을 수정하여
부팅시 새로운 커널로 부팅이 되게끔 설정해 줘야합니다.

[root@hostech]# uname -a
Linux server 2.4.26 #1 SMP Sat Jun 19 11:22:57 KST 2004 i686 unknown


주의) 잘못된 커널업그레이드는 시스템에 막대한 영향을 미치므로 업그레이드시 주
의 하시길 바랍니다.

이상입니다.
추천
0
  • 복사

댓글 전체

커널 컴파일은 석달에 한 두 번 정도 합니다... 만. -_-^ 올 해부터는 2.6버전대의 커널만 컴파일해서... 음.
2.6버전대의 커널 컴파일이 더 쉽더군요. 그냥 컴파일만 하는 것이라면 한 서너번 정도 삽질해 보면 몸으로 익힐 수 있습니다... --aaa 부디 성공하시길...
© SIRSOFT
현재 페이지 제일 처음으로