웹마스터 팁

-리눅스 커널패치관련 문서는 이곳저곳에 널려있습니다..-

리눅스의 커널 패치는 Windows의 핫픽스처럼 자주 발표되고 있으며 항상 최신으로 관리해야 합니다.

2004년 3월 19일 현재 최신은 2.4.25입니다.

와우리눅스 7.3 R2는 기본적으로 2.4.18이 설치되는데 이 버전은 WINNT RPC 인터페이스가 패치되지 않은 상태와 대등하므로, 즉시 패치해야 합니다.

우선 시스템의 커널버전을 알아봅니다.
[root@localhost root]#uname -a
Linux 2.4.18 2004 03 19 06:57 KST GNU/Linux
시스템의 커널은 2.4.18입니다.

이제 커널 소스를 받아옵니다.

커널을 받아올수 있는곳은
ftp.kreonet.re.kr
ftp.kernel.org
ftp.mizi.com
등이 있습니다.

[root@localhost root]#ncftp ftp.kreonet.re.kr
--환영메시지--
명령어는 일반적인 리눅스와 같습니다.
ncftp>cd pub/os/linux/kernel
ncftp>ls
... ... ... ... ... v2.4 v2.2 v2.6
ncftp>cd v2.4
ncftp>ls
... ... ... ... ... ... ... ... linux-2.4.25.tar.gz
ncftp>get linux-2.4.25.tar.gz
....... 1.3MB/S
다운로드가 완료되면 우리 시스템으로 돌아옵니다.
[root@localhost root]#ls
... ... ... linux-2.4.25.tar.gz
다운받은 파일을 /usr/src로 옮겨야 합니다.
[root@localhost root]#mv linux-2.4.25.tar.gz /usr/src/linux.tar.gz
압축을 풉니다.
[root@localhost root]#cd /usr/src
[root@localhost src]#tar xvfz linux.tar.gz
/usr/src/linux-2.4.25/Documentation/configuration.txt
/usr/src/linux-2.4.25/Linux/main.c
...
디렉토리 이름바꾸기
[root@localhost src]#mv linux-2.4.25 linux
커널 설정
[root@localhost src]#cd linux
[root@localhost linux]#make menuconfig
그래피컬(?)한 화면..
이 그래피컬한 화면이 고비입니다... 모조리 선택해서는 안되고, 필요한건 반드시 선택해야 하죠
시스템의 하드웨어 정보만 잘 알고 계시다면 그렇게 어렵지는 않습니다. 가령 SCSI 하드나 시디롬이 달려있다거나, 마우스를 사용한다던가, cpu가 32개가 달려있거나 ntfs/fat 파티션를 읽으려고 하는등등..
기능에 화살표키로 이동 후 y키를 누르면 그 기능이 커널에 포함되고, m을 누르면 모듈로 포함, n을 누르면 포함을 취소합니다.

다 설정하셨으면 하단의 Save를 누릅니다. 그러면 다시 메뉴로 돌아올텐데, 다시한번 Save를 누릅니다.
.... .... ... ....
Ok, you must run make dep
이라고 나옵니다.
[root@localhost linux]#make dep
이건 호환성 검사입니다. 이걸 하지 않으면 컴파일시 에러가 날 수도 있습니다.

[root@localhost linux]#make bzlilo
대망의 컴파일입니다. :)

제 시스템에서는 약 30분 정도가 소요되었습니다...
[root@localhost linux]#mv bzlinux /boot/bzlinux-2.4.25
커널을 /boot로 이동
[root@localhost linux]#vi /etc/lilo.conf
LILO에 새로 만들어진 커널정보를 추가해야 만든 커널로 부팅할수 있습니다.
     boot=/dev/sda
     map=/boot/map
     install=/boot/boot.b
     prompt
     timeout=50
     image=/boot/bzlinux-2.4.25 새로운 커널이미지를 linux-2.4.25라는 이름으로
     label=linux-2.4.25          
     root=/dev/sda1
     read-only

     image=/boot/bzlinux-2.4.18 예전 커널은 그냥 둡니다.
     label=linux                    
     root=/dev/sda1
     read-only
:wq
[root@localhost linux]#/sbin/lilo
lilo 업데이트(?)
[root@localhost linux]#shutdown -r now
시스템 재시작

새로 만들어진 커널을 선택하고
uname -a 해보면
Linux 2.4.25 2004 03 19 06:57 KST GNU/Linux
이렇게 나와야 하겠습니다.