Leave Your Message
*Name Cannot be empty!
* Enter product details such as size, color,materials etc. and other specific requirements to receive an accurate quote. Cannot be empty
Vraag een offerte aan
Drie manieren om de kernel van een industrieel computersysteem met CentOS te upgraden.
Blog

Drie manieren om de kernel van een industrieel computersysteem met CentOS te upgraden.

2024-10-17 15:08:44

Tijdens het gebruik van CentOS is het onvermijdelijk om de kernel te upgraden, maar soms ondersteunen niet alle programma's de nieuwste kernelversie vanwege afhankelijkheden bij het compileren van de broncode. Daarom worden hieronder drie manieren beschreven om de kernel te upgraden.

Opmerking:
Over kerneltypen:
De afkorting ml in kernel-ml staat voor [mainline stable] in het Engels, en de meest recente stabiele mainline-versie is te vinden in elrepo-kernel.
De afkorting lt in kernel-lt staat voor [long term support] in het Engels, en de long-term support-versie is te vinden in elrepo-kernel.
Controleer de kernelversie.
uname -r

Afbeelding 1
Inhoudsopgave

1. yum-installatie

1. Importeer de repositorybron
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
2. Bekijk de installeerbare pakketten
yum --enablerepo="elrepo-kernel" list --showduplicates | sort -r | grep
kernel-ml.x86_64
3. Selecteer de ML- of LT-versie om te installeren.
Als er geen versie is opgegeven, wordt standaard de nieuwste versie geïnstalleerd.
Installeer de ML-versie
yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y
Installeer de LT-versie en selecteer deze optie voor alle K8S-systemen.
yum --enablerepo=elrepo-kernel install kernel-lt-devel kernel-lt -y
4. Controleer de huidige opstartvolgorde van de kernel
awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
5. Wijzig het standaard opstartitem
xxx is het serienummer, dat het x-de item in de opstartlijst als opstartitem specificeert, waarbij x begint te tellen vanaf 0.
grub2-set-default xxxx
Als je bijvoorbeeld wilt instellen dat het opstart met kernel 4.4, dan is dat een goede optie.
Voer vervolgens direct "grub2-set-default 0" in, en de volgende keer dat je opstart, kun je vanaf versie 4.4 starten.
Controleer de opstartvolgorde van de kernel.
[root@localhost ~] awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (4.4.179-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-693.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-6d4c599606814867814f1a8eec7bfd1e) 7 (Core)
Stel het opstartvolgordenummer in
[root@localhost ~] grub2-set-default 0
Opnieuw opstarten
opnieuw opstarten
Controleer de kernelversie.
uname -r

Afbeelding 2

2. RPM-installatie

Controleer de kernelversie.
uname -r
1. Zoek de versie
Omdat de ELRepo-bron de meest recente versie is, kan de oude versie van de kernel alleen handmatig worden gedownload.
Zoek de historische versie van kernel rpm:
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/
2. Je moet drie soorten rpm-bestanden downloaden.
wget
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt
devel-4.4.215-1.el7.elrepo.x86_64.rpm
wget
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt
headers-4.4.215-1.el7.elrepo.x86_64.rpm
wget
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-
4.4.215-1.el7.elrepo.x86_64.rpm
3. Installeer de kernel
rpm -ivh kernel-lt-4.4.215-1.el7.elrepo.x86_64.rpm
rpm -ivh kernel-lt-devel-4.4.215-1.el7.elrepo.x86_64.rpm
of
#Installeer alles met één klik
toerental -Uvh *.rpm
4. Controleer de geïnstalleerde kernelversie.
[root@localhost ~]# rpm -qa | grep kernel
kernel-headers-3.10.0-1160.15.2.el7.x86_64
kernel-devel-3.10.0-1160.49.1.el7.x86_64
kernel-tools-libs-3.10.0-957.el7.x86_64
kernel-3.10.0-957.el7.x86_64
kernel-ml-4.9.9-1.el7.elrepo.x86_64
kernel-lt-4.4.215-1.el7.elrepo.x86_64
kernel-tools-3.10.0-957.el7.x86_64
kernel-lt-devel-4.4.215-1.el7.elrepo.x86_64

5. Startinstellingen instellen
Controleer de opstartvolgorde
[root@localhost ~]# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (4.4.215-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (4.9.9-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-b91f945269084aa98e8257311ee713c5) 7 (Core)
Stel de opstartvolgorde in
[root@localhost ~]# grub2-set-default 0
Herstart de computer om de wijzigingen door te voeren.
[root@localhost ~]# reboot

3. Installatie van de broncode

1. Installeer het kernsoftwarepakket
yum install -y gcc make git ctags ncurses-devel openssl-devel
yum install -y bison flex elfutils-libelf-devel bc
2. Maak een compilatiemap voor de kernel aan.
Gebruik de kernelbuild-directory in de thuismap.
mkdir ~/kernelbuild
3. Download de kernelbroncode
Spiegelwebsite van de Tsinghua Universiteit:
https://mirror.tuna.tsinghua.edu.cn/kernel/v4.x/?C=M&O=D
Andere downloadadressen voor installatiepakketten met broncode:
https://mirrors.edge.kernel.org/pub/linux/kernel/
linux-4.xx.xx.tar.xz
linux-4.xx.xx.tar.gz
Beide formaten zijn acceptabel, maar tar.xz heeft een hogere compressieverhouding en een kleinere bestandsgrootte.
Download online: wget https://mirror.tuna.tsinghua.edu.cn/kernel/v4.x/linux-4.17.11.tar.xz
4. Pak de kernelcode uit.
Na het uitpakken ga je naar de bronmap:
tar -xvJf linux-4.17.11.tar.xz
Om ervoor te zorgen dat de kernelstructuur volledig schoon is, ga naar de kerneldirectory en voer het commando `make mrproper` uit:
cd linux-4.17.11
maak schoon && maak het netjes

5. Kernelconfiguratie
Kopieer het huidige kernelconfiguratiebestand.
config-3.10.0-862.el7.x86_64 is het kernelconfiguratiebestand van mijn huidige omgeving; pas dit aan aan de hand van uw eigen situatie.
cp /boot/config-3.10.0-862.el7.x86_64 .config
Geavanceerde configuratie
y is ingeschakeld, n is uitgeschakeld en m wordt ingeschakeld wanneer nodig.
menuconfig: oude ncurses-interface, vervangen door nconfig
make nconfig: Nieuwe opdrachtregelinterface voor ncurses
6. Compileren en installeren
Compileer de kernel
Als je een quad-core machine hebt, kan x 8 zijn.
make -jx
Installeer de kernel
Na het compileren van de kernel, installeert u het volgende: Waarschuwing: Vanaf hier hebt u rootrechten nodig om opdrachten uit te voeren, anders mislukt het.
make modules_install install
7. Starten instellen
Controleer de opstartvolgorde.
[root@localhost ~]# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (4.17.11-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (4.9.9-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-b91f945269084aa98e8257311ee713c5) 7 (Core)
Stel de opstartvolgorde in.
[root@localhost ~]# grub2-set-default 0
Herstart de computer om de wijzigingen door te voeren.
[root@localhost ~]# reboot


Gerelateerde producten

01

LET'S TALK ABOUT YOUR PROJECTS

  • sinsmarttech@gmail.com
  • 3F, Block A, Future Research & Innovation Park, Yuhang District, Hangzhou, Zhejiang, China

Our experts will solve them in no time.