|
http://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Lectures&no=48 [복사]
/****************************************************************************/
제 목 : 커널 컴파일 하기
작성자 : h41d35@Realskulls.Team
/****************************************************************************/
1. 커널이란....
-커널이란 운영체제(Operating System)에서 가장 핵심적인 역할인 자원
(메모리, 프로세서등)을 관리하며 컴퓨터가 원활히 돌아갈 수 있도록 제어해
주는 것이다.
2. 커널 컴파일이란....
- 일종의 업그레이드..예를 들어.. 윈도우98에서.. 윈도우 xp로 업그레이드
한다고 생각하면 된다..ㅋㅋㅋ^^
3. 커널 컴파일 하기...^^(차근차근 순서대로 따라 하세요..^^)
참고: 컴파일할 커널 버전은 linux-2.4.20 이고.. 컴파일 이전에...리눅스에
gcc및 lib등 컴파일 도구 들이 설치 되어 있어야 한다... 리눅스 설치시 전부
"설치" 선택 했으면 상관 없다..^^
참고2 : 대소문자를 확실히 타이핑하기 바랍니다...^^
1) 커널 다운 받기
- 여기서 부터 따라 하세요..^^
[localhost@Bitlab]# cd /usr/src 디렉토리 이동
[localhost@Bitlab]# ncftp ftp.kaist.ac.kr 카이스트 서버에 접속하기..
∫
접속화면
∫
Ncftp> cd /pub/linuxkernel/kernel/v2.4/ 커널이 있는 디렉토리로 이동
Ncftp> get linux-2.4.20.tar.gz 커널다운받기
Ncftp> quit 또는 exit 접속 종료
[localhost@Bitlab]# 처음 화면으로 돌아온다
2) 커널 압축풀고 컴파일 하기
- linux-2.4.20.tar.gz 파일이 /usr/src/ 디렉토리에 저장 되어 있다.
[localhost@Bitlab]# tar xvfz linux-2.4.20.tar.gz "커널 압축풀기 /usr/src/linux-2.4.20/
디렉토리에 압축이 풀린다."
[localhost@Bitlab]# mv linux-2.4.20 linux 디렉토리 이름을 linux-2.4.20에서
linux로 바꾼다.
[localhost@Bitlab]# cd /usr/src/linux 다시 linux 디렉토리로 이동한다...^^ 이동할
필요 없으면 하지말고요..^^
[localhost@Bitlab]# make mrproper 기존 커널 컴파일시 생성된 환경설정파일
삭제
[localhost@Bitlab]# make menuconfig 또는 make xconfig menuconfig는 텍스트환경, xconfig는
X윈도우 환경에서... 설정 하는 것이다.
┌--------------------------------------------------------------------------------┐
│ │
│ 커널 세부 설정 화면이 보임 │
│ 세부설정이 아주 중요 합니다. 자신의 컴에 해당하는 하드웨어를 꼭 모듈로 │
만들거나 커널에 포함 시켜야 합니다.
│ │
커널패닉의 원인은 이 세부설정 잘못이라고 봐도 됩니다.
│ 텍스트모드 설정 화면은 "Exit" 를 누르고.. 빠져 나온다..저장 하겠냐구 │
│ 물어본다... 당근 "Yes" 한다...(TAB키로 이동 한다) │
│ │
│ X윈도우 설정 화면은 "Save and Exit"를 선택하고 빠져 나오다 │
│ │
└--------------------------------------------------------------------------------┘
[localhost@Bitlab]# make dep 의존성검사...
[localhost@Bitlab]# make clean 임시파일 삭제
[localhost@Bitlab]# make bzImage 커널 이미지 생성 "I"대문자 아이~~
∫
이미지 생성 화면이 쫘르륵~~
∫
[localhost@Bitlab]# cp arch/i386/boot/bzImage /boot/kernel-2.4.20 "생성된 이미지"
"/boot/kernel-2.4.20로 복사"
[localhost@Bitlab]# cp System.map /boot/System.map "System.map파일을 /boot 디렉토리에 복사"
어쩌고 저쩌고 Overwrite ? y 덮어쓸까요 물어보면 "y"
[localhost@Bitlab]# make modules "모듈 설정"
[localhost@Bitlab]# make modules_install "모듈 설치"
[localhost@Bitlab]# depmod -as -F System.map 2.4.20 "모듈 의존성 검사"
여기까지.. 커널 컴파일 이였습니다..^^ 이게 다냐!!!..... 마지막으로 할일...ㅋㅋ
lilo 설정......
4) lilo 설정....
[localhost@Bitlab]# vi /etc/lilo.conf lilo.conf파일 vi로 열기
┌--------------------------------------------------------------------------------┐
│ 어쩌고 저쩌고...~~~~ │
│ 어쩌고 저쩌고...~~~~ │
│ 어쩌고 저쩌고...~~~~ │
│ │
│설정되어 되어있는 곳 마지막에 "i"누르고 밑에 아래 줄 추가 │
│ │
│ image=/boot/kernel-2.4.20 │
│ label=New_Kernel │
│ │
│윗줄을 추가한 후 "Esc"누르고 ":"누르고 "wq"누르고..vi를 빠져 나온다... │
└--------------------------------------------------------------------------------┘
[localhost@Bitlab]# lilo 새로운 lilo를 설정 하기 위해 한번 실행
여기까지.. 커널 컴파일이 끝났습니다..^^
[localhost@Bitlab]# reboot 제대로 동작하는지 재부팅하고..부팅시
"New_Kernel"를 선택해서. 부팅하다..
부팅이 잘되는지 지켜 보세요..^^
자세한 세부설정은 기술 하지 않았습니다.
기타 의문점등은 참고 사이트를 방문 해보세요..
참고 사이트 : http://kernel.pe.kr/
/****************************************************************************/
※잘못된.. 명령어나... 틀린 내용이 있으면. 알아서.. 수정 배포 해주세요..^^
/****************************************************************************/
|
Hit : 13719 Date : 2003/09/12 07:30
|