리눅스

Kernel compile

Justin입니다. 2025. 6. 21. 15:10

 

모듈에는 별도로 보관했다가 필요할만 호출해 사용하는 코드가 들어있다.

 

커널 업그레이드

kernel.org 에서 커널 tar.xz 파일을 다운로드 

 

mv linux-5.15.185.tar.xz  /usr/src/
cd /usr/src/
tar xfJ linux-5.15.185.tar.xz
cd linux-5.15.185/
pwd
#/usr/src/linux-5.15.185
ls
###############################################################################
COPYING        Kconfig      README  crypto   init      lib      scripts   usr
CREDITS        LICENSES     arch    drivers  io_uring  mm       security  virt
Documentation  MAINTAINERS  block   fs       ipc       net      sound
Kbuild         Makefile     certs   include  kernel    samples  tools

커널 압축파일 해제

 

컴파일을 위한 관련 패키지를 설치해야 한다.

dnf -y install gcc gcc-c++ make bison flex elfutils-libelf-devel openssl-devel dwarves

추가로 qt5 관련된 패키지를 설치해야 한다.  관련된 모든 패키지 (100개 이상)이 설치된다.

dnf -y install qt5*

 

make xconfig 명령어를 입력한다. 이러면 커널 환경을 설정할수있는 창이 열린다

왼쪽의 [Processor type and features] 를 선택하고 오른쪽의 [Processor family] 에서 자신의 CPU 타입을 선택해주자. 다른것을 선택해도 별 문제는 되지 않는다고 한다  FILE-SAVE 메뉴를 클릭해 설정내용을 저장하고 창을 닫았다

 

Rocy Linux9.0 에는 일부 버그가 있어서 커널 컴파일을 무사히 진행하기 위해선 설정파일도 편집해야 한다고 한다. 

커널 폴더안의 .config 파일을 수정해줘야 한다. 아래 두줄을 주석처리해주면 된다.

 

make clean 명령어를 입력해 이전의 컴파일 정보를 삭제한다. make 와 make modules_install, 그리고 make install 명령을 차례로 실행해야 하는데, 이 명령들은 각각 실행시간이 오래걸리므로 세미콜론으로 구분해서 실행했다.

컴퓨터에 성능에 따라서 몇십분 이상이 걸린다고 한다.

 

make: 커널 컴파일 환경 설정대로 소스 파일을 실제 컴파일 하는 명령어

make modules_install: 컴파일된 모듈을 /lib/modules/ 디렉터리에 설치하는 명령어

make install: 실제 컴파일된 커널을 /boot 디렉터리에 설치하는 명령어 

make clean 
make; make modules_install; make install

 

커널 컴파일이 완료되면 /lib/modules 디렉터리와 /boot 디렉터리에 새로운 커널 버전이 설치되었음을 확인할수있다. 

5.15.185 버전의 커널이 생성됨