tonykang22 / study

0 stars 0 forks source link

[리눅스 개발환경] 22. 리눅스 커널 구조 및 컴파일 #93

Open tonykang22 opened 2 years ago

tonykang22 commented 2 years ago

22. 리눅스 커널 구조 및 컴파일

리눅스 커널 구조

image

출처 : https://flylib.com/books/en/3.475.1.15/1/





리눅스 커널 컴파일

리눅스 커널 생성 과정 3단계

  1. 커널 구성 (Kernel Configuration)
    • 커널 구성은 새로 리눅스 커널 컴파일 시 사용할 환경 변수 등을 설정하는 과정이다.
    • 하드웨어 특성, 커널 특성 등 설정 정보를 지정하는 방법이다.
    • make config, make menuconfig, make xconfig 등의 방법이 있다.
    • 커널 구성 단계에서 사용자가 선택한 사항은 .config 이라는 파일에 저장되며 이후 커널 컴파일 단계에서 사용된다.
  2. 커널 컴파일 (Kernel Compile)
    • 커널 소스 파일을 이용해 실행 가능한 커널 이미지를 만드는 과정이다.
    • make bzImage, make zImage 등의 명령으로 생성할 수 있다.
      • 2.6 버전 이후 make 명령으로 생성 가능
    • 커널 컴파일이 완료되면 시스템 아키텍처에 따라 kernel/arch/x86/boot/ 디렉토리 하위에 커널 이미지가 생성된다.
  3. 커널 인스톨 (Kernel Installation)
    • 생성된 커널 이미지로 시스템이 부팅될 수 있도록 만드는 과정이다.
    • 생성된 이미지를 파일 시스템으로 복사, 커널 모듈 인스톨, 부트로더(grup) 수정 등의 과정으로 이루어진다.
    • make install