System/OS
2003.04.23 10:37
[linux] 기존 환경설정 저장하면서 커널 컴파일..
조회 수 13814 댓글 0
리눅스 커널 컴파일하기...
모듈 유틸 업그레이드 먼저 하기
-Uvh ...
1. 최신 Kernel 가져오기
현재 최신 커널 : 2.4.19
SMP의 지원이라든지 TV 드라이버의 지원 등등
많은 것이 추가되었습니다.
최신 커널은 linuxHQ에서 구하실 수 있습니다.
ftp.kernel.org 의 한국 미러 사이트는 kp.kernel.org입니다.
원하시는 커널을 구하셨다면 이제 압축을 풀어야 되겠죠.
"/usr/src/" 로 디렉토리에 받아오신 화일을 옮기시고,
여기에 있는 링크화일 "linux"를 지웁니다.(rm -f linux)
아마도 이것은 현재 가지고 계신
커널 소스 디렉토리와 링크되어 있을 것입니다.
이제 압축을 풉니다.
(tar -xzvf '화일이름' 만약 bz2화일이라면
먼저 bunzip2로 압축을 푸시고 tar -xvf '화일이름' 하세요)
확인해보면 "linux"라는 디렉토리가 생겼을 것입니다.
이것을 보통은 "linux-'커널버젼'" 이런 식으로 이름을 바꾸어 놓고
"linux"라는 이름으로 링크시킵니다.(ln -s linux-'커널버젼' linux)
이제 옵션 설정을 해야겠죠.
2. 커널 옵션 설정
(1)cp /boot/config-예전버젼 /usr/src/linux/.config
(2)이 옵션 설정을 하는 방법은 3가지가 있습니다.
먼저 콘솔화면에서는 "make config","make menuconfig" 가 있고,
X-Windows 화면에서는 "make xconfig" 가 있습니다.
이 옵션 설정은 각 커널의 버젼마다 다르고, 컴퓨터 사양마다 다르므로
각자가 보시고 필요한 것들을 알아서 선택하셔야 합니다.
여기서 설정할 수 있는 값은 "y","m","n"의 세가지가 있습니다.
"y"는 커널에 항상 포함이 되고, "m"은 모듈로 포함됩니다.
"n"은 말하지 않아도 아시겠죠?
이제 컴파일을 해봅시다.
3. 커널 컴파일
다음은 커널을 컴파일 하는 순서입니다.
(앞의 숫자가 같은 것은 같은 단계의 것으로
어느것을 사용해도 같습니다.)
(1)cd /usr/src/linux
(2)make dep --> (의존성 검사)
(3)make clean --> (object 화일 삭제)
여기서 또다시 세가지의 방식이 있습니다.
이 중 어느 것을 하셔도 좋습니다만 저는 "make bzImage"를 즐겨 사용합니다.
(4)make bzImage
(5)mv /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-'커널버젼'
(6)rm -f /boot/System.map
(6)cp /usr/src/linux/System.map /boot/System.map-' 커널버젼'
(7)ln -s /boot/System.map-'커널버젼' /boot/System.map
(8)cp /boot/initrd-예전버젼.img /boot/initrd-최신버젼.img
(9)vi /etc/grub.conf
default=0 (디폴트 부팅 번호)
timeout=10
splashimage=(hd0,5)/grub/splash.xpm.gz
title Red Hat Linux (예전버젼)
root (hd0,5)
kernel /vmlinuz-예전버젼 ro root=LABEL=/
initrd /initrd-예전버젼.img
title Red Hat Linux (최신버젼)
root (hd0,5)
kernel /vmlinuz-최신버젼 ro root=LABEL=/
initrd /initrd-최신버젼.img
title Windows XP
rootnoverify (hd0,0)
chainloader +1
(10)grub-install /dev/hda
(11)make modules --> (모듈 컴파일)
(12)make modules_install --> (모듈 인스톨)
재부팅... 으하하... 이게 내가 한 그대로다...
번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|---|
121 | Develop | [c] flooding 알고리즘 미로 찾기(도스용) 소스코드 9 | hooni | 2003.04.23 | 12980 |
120 | Develop | [c] 테트리스(Tetris) 게임(도스용) 소스코드 | hooni | 2003.04.23 | 11753 |
119 | Develop | [c] 파일입출력, 링크리스트(linked list)를 이용한 주소록(도스용) 소스코드 1 | hooni | 2003.04.23 | 11421 |
118 | Develop | [c] 간단한 자료구조(stack, queue, linked list) 구현 소스 6 | hooni | 2003.04.23 | 10445 |
117 | System/OS | [linux] Proftpd 설치 가이드 | hooni | 2003.04.23 | 13349 |
» | System/OS | [linux] 기존 환경설정 저장하면서 커널 컴파일.. | hooni | 2003.04.23 | 13814 |
115 | System/OS | [linux] 스케쥴링 순서(nice) 변경하기 | hooni | 2003.04.23 | 12909 |
114 | System/OS | [linux] 셀 스크립트 if, for, case in.. | hooni | 2003.04.23 | 14034 |
113 | System/OS | [linux] 종료와 종료코드 확인(환경변수에서) | hooni | 2003.04.23 | 15940 |
112 | System/OS | [linux] 프로세스 상태확인(ps) | hooni | 2003.04.23 | 13068 |
111 | System/OS | [linux] 메타(기호)문자의 의미와 사용 | hooni | 2003.04.23 | 16766 |
110 | System/OS | [linux] 특수문자 환경 설정(stty) | hooni | 2003.04.23 | 15645 |