>운영 및 유지보수 >CentOS >CentOS의 소스 코드에서 새 버전의 커널을 컴파일하고 설치하는 방법

CentOS의 소스 코드에서 새 버전의 커널을 컴파일하고 설치하는 방법

WJ
WJ원래의
2020-06-06 17:14:272499검색

CentOS의 소스 코드에서 새 버전의 커널을 컴파일하고 설치하는 방법

CentOS의 소스 코드에서 새 버전의 커널을 컴파일하고 설치하는 방법은 무엇입니까?

업무상 새로운 기술 솔루션을 사용해야 하는 경우가 많으므로 새로운 기능을 지원하려면 최신 버전의 커널이 필요합니다. CentOS 시스템에 포함된 커널 버전은 일반적으로 비교적 오래되었으므로 업데이트가 필요합니다. 시스템 커널을 업그레이드하고 새 버전의 커널을 설치합니다. 여기서는 CentOS 7 시스템을 예로 들어 최신 버전의 커널을 컴파일하고 설치하는 과정을 다음과 같이 요약합니다.

1. 최신 안정 버전의 커널 소스 코드 패키지를 /usr에 다운로드합니다. /local/src, 그리고 현재 디렉터리에 압축을 푼다 /usr/local/src ,并解压到当前目录

CentOS의 소스 코드에서 새 버전의 커널을 컴파일하고 설치하는 방법

2、解压内核源码包

CentOS의 소스 코드에서 새 버전의 커널을 컴파일하고 설치하는 방법

3、从 /boot 目录将现有版本的内核编译config配置文件拷过来到放到新的内核源码解压目录内并重命名为.config的隐藏文件

[root@localhost src]# cd linux-5.2.11
[root@localhost linux-5.2.11]# cp /boot/config-3.10.0-957.el7.x86_64 ./.config

从boot目录拷贝原内核的config文件过来主要是为了方便,这个文件保存了在安装系统时内核所安装的模块配置信息(否则需要重新手动指定每一个模块的编译配置)。

4、安装依赖包

安装开发工具包组

[root@localhost linux-5.2.11]# yum -y groupinstall "development tools"

安装ncurse-devel包 (make menuconfig 文本界面窗口依赖包)

[root@localhost linux-5.2.11]# yum -y install ncurses-devel

5、运行 make menuconfig,开启文本界面的编译选项菜单窗口,可以对内核加载的模块编译选项进行调整,如修改编译后的内核名称、新添加之前系统缺少的模块等。

修改内核名称:

General setup --->local version -append to kernel release

此处修改内核名称为 5.2.11-001.el7.x86_64

CentOS의 소스 코드에서 새 버전의 커널을 컴파일하고 설치하는 방법

新添加NTFS文件系统支持模块:

File systems --->DOS/FAT/NT Filesystems --->NTFS file system support

CentOS의 소스 코드에서 새 버전의 커널을 컴파일하고 설치하는 방법CentOS의 소스 코드에서 새 버전의 커널을 컴파일하고 설치하는 방법

2. 커널 소스 패키지의 압축을 푼다

CentOS의 소스 코드에서 새 버전의 커널을 컴파일하고 설치하는 방법CentOS의 소스 코드에서 새 버전의 커널을 컴파일하고 설치하는 방법

3. 커널 컴파일 구성 구성 파일의 기존 버전을 /boot 디렉터리에서 새 디렉터리로 복사합니다. 커널 소스 코드 압축 해제 디렉터리를 .config로 이름을 바꿉니다. 숨겨진 파일

[root@localhost linux-5.2.11]# make -j 4  #根据CPU核数开启多线程编译以加快编译速度

부팅 디렉터리에서 원본 커널 구성 파일을 복사하는 것은 주로 편의를 위한 것입니다. 이 파일은 시스템을 설치할 때 커널이 설치한 모듈 구성 정보를 저장합니다. 각 모듈의 컴파일 구성을 다시 수동으로 지정해야 합니다.)

4. 종속성 패키지 설치

개발 도구 패키지 그룹 설치

[root@localhost linux-5.2.11]# yum -y install openssh-devel elfutils-libelf-devel bc

ncurse-devel 패키지 설치(menuconfig 텍스트 인터페이스 창 종속성 패키지 만들기)

[root@localhost linux-5.2.11]# make modules_install

5. make menuconfig를 실행하여 컴파일 옵션을 엽니다. 텍스트 인터페이스 창의 메뉴에서는 컴파일된 커널 이름 수정, 이전 시스템에서 누락된 새 모듈 추가 등과 같이 커널에 의해 로드된 모듈 컴파일 옵션을 조정할 수 있습니다.

커널 이름 수정:

[root@localhost linux-5.2.11]# make install

여기에서 커널 이름을 5.2.11-001.el7.x86_64

CentOS의 소스 코드에서 새 버전의 커널을 컴파일하고 설치하는 방법

새롭게 추가된 NTFS 파일 시스템 지원 모듈:파일 시스템 --- &gt ;DOS/FAT/NT 파일 시스템 --->NTFS 파일 시스템 지원

🎜🎜모듈 모드(M 옵션)로 컴파일하는 것을 권장합니다. (* 기호는 커널 파일에 정적으로 컴파일되어 패키지됩니다. 새로 추가되는 모듈이 더 많으면 커널 파일의 크기가 늘어납니다.) 🎜🎜🎜6 커널 컴파일 🎜🎜
grub2-set-default 0  #0表示 /boot/grub2/grub.cfg 文件中排在第一位的 menuentry 段
🎜🎜🎜🎜긴 컴파일을 시작합니다. 프로세스는 CPU 하드웨어 성능에 따라 약 1~2시간 정도 소요됩니다. 🎜🎜컴파일 시작 시 오류가 표시되면 해당 구성 요소 패키지를 사전 설치해야 할 수 있습니다. 예: 🎜
[root@localhost ~]# uname -r
5.2.11-001.el7.x86_64
🎜해당 오류 프롬프트에 따라 일부 구성 요소 패키지를 yum 모드에서 설치합니다. epel 소스에 있으므로 epel을 미리 Source Warehouse로 구성해야 합니다. 🎜🎜🎜7. 모듈 컴파일 및 설치🎜🎜🎜컴파일이 완료된 후 make module_install을 실행하여 커널 모듈을 설치합니다🎜rrreee🎜🎜8. 커널 코어 파일을 설치합니다🎜🎜rrreee🎜reboot🎜🎜 커널을 기본 시작 커널로 사용하려면 🎜rrreee🎜시스템을 다시 시작한 후 커널 버전을 확인하세요. 이미 최신 버전인 5.2.11🎜rrreee🎜이 시점에서 전체 커널 컴파일 및 설치 과정은 다음과 같습니다. 완전한. 🎜🎜관련 참조: 🎜🎜centOS 튜토리얼🎜🎜🎜

위 내용은 CentOS의 소스 코드에서 새 버전의 커널을 컴파일하고 설치하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.