1580, 2/79 회원가입  로그인  
   h41d35
   커널 컴파일 하기

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 : 10509     Date : 2003/09/12 07:30



    
lawsoul 좋은정보 감사합니다.

어렵습니다.. 영어의 중요성을 깨닫게 되는 글이네요.

오래된 글이지만 감사합니다.
2012/01/16  
1560   네트워크 개념 휘어잡기 3[17]     소유
09/12 12893
  커널 컴파일 하기[1]     h41d35
09/12 10508
1558   Sendmail 소스로 설치하기[1]     h41d35
09/12 12460
1557   IMAP, POP3 소스로 설치하기[3]     h41d35
09/12 10544
1556   네트워크 개념 휘어잡기 4[14]     소유
09/13 12823
1555   Xp Best Tip 30가지!!(그대는 알고있는가???)[23]     chagang531
09/13 15150
1554   네트워크 개념 휘어잡기 5[10]     소유
09/14 12536
1553   네트워크 개념 휘어잡기 6[10]     소유
09/15 11693
1552   VI편집기 명령어 및 사용법 정리[6]     ntmaster99
09/16 15433
1551   네트워크 개념 휘어잡기 7[8]     소유
09/16 11749
1550   [강좌] 98 부팅디스켓 과 fdisk 하기, 도스에서 설치하기[2]     chagang531
09/18 9736
1549   원재아빠님의 gcc 2.96에서의 버퍼 구조 강좌.[9]     ttongfly
09/19 12613
1548   윈도우 시스템의 컴퓨터에서 리눅스 설치방법[15]     o-0_o-0
09/19 13167
1547     [re] 허접팁] 암호를 바꿔 해킹피해 줄이쟈 ㅋ ^^; 더 좋은방법[9]     xeon400
10/14 9034
1546   허접팁] 암호를 바꿔 해킹피해 줄이쟈 ㅋ[17]     o-0_o-0
09/20 10373
1545   Xmanager로 리눅스 이용하기(멍멍님 만화강좌 사용)[15]     DarkSlayer
09/21 11401
1544   해킹당한 서버에서 확인해야할일[9]     소유
09/21 19871
1543     [re] ::system(); 사용 관련.. :: ↑     yl
10/04 8522
1542   레벨5 레이스컨디션에 대해서. [의외로 질문하시는 분들이 많아서..][9]     yl
10/01 13962
1541   리눅스의 거의 모든 명령어?[314]     소유
10/05 30906
[1] 2 [3][4][5][6][7][8][9][10]..[79]

Copyright 1999-2023 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org & Wowhacker.com