웹사이트 검색

CentOS 7에서 Linux 커널을 컴파일하는 방법


사용자 정의 컴파일된 Linux 커널을 실행하는 것은 항상 유용하며, 특히 기본 배포 제공 커널에서는 사용할 수 없는 특정 커널 기능을 활성화하거나 비활성화하려는 경우 더욱 그렇습니다.

이 기사에서는 CentOS 7 배포판의 소스에서 최신 Linux 커널을 컴파일하고 사용하는 방법을 설명합니다. 여기에 제공된 지침은 RHELFedora에서도 작동합니다. ).

이러한 복잡한 설정을 진행하고 싶지 않다면 타사 RPM 저장소를 사용하여 CentOS 7에서 커널을 설치하거나 업그레이드하는 방법을 설명하는 쉬운 기사를 따르십시오.

커널 컴파일에 필요한 패키지 설치

먼저, 소프트웨어 패키지 저장소를 업데이트하고, 커널 컴파일에 필요한 개발 도구를 설치하고, 다음 yum 명령을 사용하여 ncurses 라이브러리를 설치하세요.

yum update
yum install -y ncurses-devel make gcc bc bison flex elfutils-libelf-devel openssl-devel grub2

CentOS 7에서 커널 컴파일 및 설치

/usr/src/ 디렉토리에서 wget 명령을 사용하여 최신 커널 4.17 소스를 다운로드하거나 kernel.org로 이동하여 최신 커널을 다운로드할 수도 있습니다.

cd /usr/src/
wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.17.11.tar.xz

다음 명령을 사용하여 보관된 파일을 추출하고 디렉터리를 변경합니다.

tar -xvf linux-4.17.11.tar.xz
cd linux-4.17.11/

CentOS 7에서 커널 구성

커널은 CentOS 7 환경 내에서 다음 필수 구성 옵션으로 올바르게 구성되어야 합니다.

CONFIG_KVM_GUEST=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_BLK_DEV_SD
CONFIG_SCSI_VIRTIO=y
CONFIG_VIRTIO_NET=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y

실행 중인 커널 구성(.config)을 /boot 디렉터리에서 새 커널 linux-4.17.11 디렉터리로 복사하는 것이 좋습니다.

cp -v /boot/config-3.10.0-693.5.2.el7.x86_64 /usr/src/linux-4.17.11/.config

이제 make menuconfig 명령을 실행하여 Linux 커널을 구성하세요. 아래 명령을 실행하면 모든 메뉴가 포함된 팝업 창이 나타납니다. 여기에서 특정 커널 기능을 활성화하거나 비활성화할 수 있습니다. 이 메뉴에 익숙하지 않다면 ESC 키를 눌러 종료하세요.

cd /usr/src/linux-4.17.11/
make menuconfig

커널 구성 옵션이 설정되면 저장을 클릭하여 구성 인터페이스를 저장하고 메뉴를 종료합니다.

CentOS 7에서 커널 컴파일

커널 컴파일을 시작하기 전에 시스템의 파일 시스템에 25GB 이상의 여유 공간이 있는지 확인하세요. 확인하려면 그림과 같이 df 명령을 사용하여 파일 시스템 여유 공간을 확인할 수 있습니다.

df -h

이제 다음 명령을 사용하여 커널과 모듈을 컴파일하고 설치합니다(몇 시간이 걸릴 수 있음). 컴파일 프로세스는 /boot 디렉토리 아래에 파일을 배치하고 grub.conf 파일에 새 커널 항목을 만듭니다.

make bzImage
make modules
make
make install
make modules_install

컴파일이 완료되면 시스템을 재부팅하고 새로 설치된 커널을 확인합니다.

uname -sr

그게 다야. 이 글이 여러분 모두에게 많은 도움이 되기를 바랍니다. 커널을 컴파일하거나 설치하는 동안 문제나 어려움에 직면한 경우 아래 의견 양식을 사용하여 질문을 하거나 게시해 주시기 바랍니다.