[노트] CentOS7 Kernel Update
이 포스트는 OSLab 연구 활동에서 작성한 개인 노트의 일부입니다. 공부 목적으로 작성된 내용이므로 많이 부족할 수 있습니다.
Installation
이 글에서는 RPM 으로 제공되는 커널 설치에 대해 다루도록 한다.
Repository Add
아래의 명령을 실행하여 elrepo-kernel
레포지토리를 추가한다. 지원하는 커널의 종류는 다음과 같다.
- kernel-lt : Long-term Support 커널
- kernel-ml : Mainline 커널 (Stable)
$ sudo yum -y install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
$ sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
다음은 설치 가능한 커널을 확인한다.
$ sudo yum --disablerepo="*" --enablerepo="elrepo-kernel" list available | grep kernel-ml
Mirror Installation
다음과 같은 버전의 커널을 설치하기 위해서 아래 과정을 따른다.
kernel-ml.x86_64 5.11.1-1.el7.elrepo @elrepo-kernel
kernel-ml-devel.x86_64 5.11.1-1.el7.elrepo @elrepo-kernel
kernel-ml-headers.x86_64 5.11.1-1.el7.elrepo @elrepo-kernel
$ wget https://linux.cc.iitk.ac.in/mirror/centos/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-5.11.1-1.el7.elrepo.x86_64.rpm
$ wget https://linux.cc.iitk.ac.in/mirror/centos/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-devel-5.11.1-1.el7.elrepo.x86_64.rpm
$ wget https://linux.cc.iitk.ac.in/mirror/centos/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-headers-5.11.1-1.el7.elrepo.x86_64.rpm
$ sudo yum localinstall *rpm
kernel-headers
패키지와 충돌이 발생하는 경우 kernel-ml-header
는 제외하고 설치한다.
참고: https://elrepo.org/tiki/kernel-ml
Grub2 Entries
Grub2의 기본 설정 파일은 /etc/default/grub2
에 존재한다.
GRUB_TIMEOUT=5
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
이 영역에 대한 수정을 반영하기 위해서는 다음을 실행한다.
$ grub2-mkconfig -o /boot/grub2/grub.cfg ## Legacy BIOS
$ grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg ## UEFI System
Grub2 에 등록된 메뉴 엔트리를 출력하기 위해서는 다음을 실행한다.
$ grep "^menuentry" /boot/grub2/grub.cfg | cut -d "'" -f2
$ grep "^menuentry" /boot/efi/EFI/centos/grub.cfg | cut -d "'" -f2
## UEFI 시스템에서는 경로 명이 다를 수 있다.
## 또는,
$ awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
현재 기본으로 등록된 엔트리는 다음으로 확인한다.
$ grub2-editenv list
saved_entry=CentOS Linux (3.10.0-1160.11.1.el7.x86_64) 7 (Core)
위에서 확인한 인덱스 기반으로 새 엔트리를 설정한다.
$ grub2-set-default "CentOS Linux (5.11.1-1.el7.elrepo.x86_64) 7 (Core)"
$ grub2-editenv list
Reference
- https://www.tecmint.com/install-upgrade-kernel-version-in-centos-7/
- https://computingforgeeks.com/install-linux-kernel-5-on-centos-7/
- https://fasterdata.es.net/host-tuning/linux/recent-tcp-enhancements/elrepo-kernel/
- https://linux.cc.iitk.ac.in/mirror/centos/elrepo/kernel/el7/x86_64/RPMS/
- https://m.blog.naver.com/hymne/221000701554
- https://wiki.centos.org/HowTos/Grub2