Drei Möglichkeiten zur Aktualisierung des Kernels eines industriellen Computersystems CentOS
Bei der Verwendung von CentOS ist ein Kernel-Upgrade unumgänglich. Aufgrund von Abhängigkeiten bei der Quellcodekompilierung unterstützen jedoch manchmal nicht alle Programme die neueste Kernel-Version. Daher werden im Folgenden drei Möglichkeiten zum Kernel-Upgrade vorgestellt.
Notiz:
Über Kerneltypen:
Das „ml“ in kernel-ml ist die Abkürzung für [mainline stable] auf Englisch, und die neueste stabile Mainline-Version ist in elrepo-kernel aufgeführt.
Das lt in kernel-lt ist die Abkürzung für [long term support] auf Englisch, und die Version mit Langzeitunterstützung ist in elrepo-kernel aufgeführt.
Überprüfen Sie die Kernelversion.
uname -r

Inhaltsverzeichnis
1. Yum-Installation
1. Importieren Sie die Repository-Quelle
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. Installierbare Pakete anzeigen
yum --enablerepo="elrepo-kernel" list --showduplicates | sort -r | grep
kernel-ml.x86_64
3. Wählen Sie die ML- oder LT-Version zur Installation aus.
Wird keine Version angegeben, wird standardmäßig die neueste Version installiert.
Installieren Sie die ML-Version
yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y
Installieren Sie die LT-Version, wählen Sie diese Option für alle K8S-Server aus.
yum --enablerepo=elrepo-kernel install kernel-lt-devel kernel-lt -y
4. Überprüfen Sie die aktuelle Kernel-Bootsequenz.
awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
5. Ändern Sie das Standard-Startelement.
xxx ist die Seriennummer, die das x-te Element in der Bootliste als Boot-Element angibt, wobei x bei 0 zu zählen beginnt.
grub2-set-default xxxx
Wenn Sie beispielsweise festlegen möchten, dass es mit Kernel 4.4 bootet,
Geben Sie dann direkt "grub2-set-default 0" ein, und Sie können beim nächsten Start mit Version 4.4 beginnen.
Überprüfen Sie die Kernel-Bootsequenz.
[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)
Bootsequenznummer festlegen
[root@localhost ~] grub2-set-default 0
Neustart
Neustart
Überprüfen Sie die Kernelversion.
uname -r
2. RPM-Installation
Überprüfen Sie die Kernelversion.
uname -r
1. Die Version finden
Da es sich bei der ELRepo-Quelle um die neueste Version handelt, kann die alte Version des Kernels nur manuell heruntergeladen werden.
Suchen Sie die historische Version des Kernel-RPMs:
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/
2. Sie müssen drei verschiedene RPM-Dateien herunterladen.
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. Installieren Sie den 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
oder
#Alles mit einem Klick installieren
rpm -Uvh *.rpm
4. Überprüfen Sie die installierte Kernelversion.
[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. Starteinstellungen festlegen
Überprüfen Sie die Startreihenfolge
[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)
Bootreihenfolge festlegen
[root@localhost ~]# grub2-set-default 0
Ein Neustart ist erforderlich, damit die Wirkung eintritt.
[root@localhost ~]# reboot
3. Installation des Quellcodes
1. Installieren Sie das Kernsoftwarepaket
yum install -y gcc make git ctags ncurses-devel openssl-devel
yum install -y bison flex elfutils-libelf-devel bc
2. Erstellen Sie ein Kernel-Kompilierungsverzeichnis
Verwenden Sie das Verzeichnis kernelbuild unter home
mkdir ~/kernelbuild
3. Den Kernel-Quellcode beschaffen
Spiegel-Website der Tsinghua-Universität:
https://mirror.tuna.tsinghua.edu.cn/kernel/v4.x/?C=M&O=D
Weitere Downloadadresse für das Quellcode-Installationspaket:
https://mirrors.edge.kernel.org/pub/linux/kernel/
linux-4.xx.xx.tar.xz
linux-4.xx.xx.tar.gz
Beide Formate sind akzeptabel, tar.xz bietet jedoch eine höhere Komprimierungsrate und eine kleinere Dateigröße.
Online herunterladen: wget https://mirror.tuna.tsinghua.edu.cn/kernel/v4.x/linux-4.17.11.tar.xz
4. Entpacken Sie den Kernel-Code.
Nach dem Entpacken wechseln Sie in das Quellverzeichnis:
tar -xvJf linux-4.17.11.tar.xz
Um sicherzustellen, dass der Kernelbaum absolut sauber ist, wechseln Sie in das Kernelverzeichnis und führen Sie den Befehl „make mrproper“ aus:
cd linux-4.17.11
sauber machen und richtig machen
5. Kernelkonfiguration
Kopieren Sie die aktuelle Kernel-Konfigurationsdatei
Die Datei config-3.10.0-862.el7.x86_64 ist die Kernel-Konfigurationsdatei meiner aktuellen Umgebung. Passen Sie sie entsprechend der tatsächlichen Situation an.
cp /boot/config-3.10.0-862.el7.x86_64 .config
Erweiterte Konfiguration
y ist aktiviert, n ist deaktiviert und m wird bei Bedarf aktiviert.
make menuconfig: alte ncurses-Schnittstelle, ersetzt durch nconfig
make nconfig: Neue Befehlszeilenschnittstelle für ncurses
6. Kompilieren und installieren
Den Kernel kompilieren
Bei einem Quad-Core-Rechner kann x den Wert 8 annehmen.
make -jx
Installieren Sie den Kernel
Nach dem Kompilieren des Kernels installieren Sie: Warnung: Ab hier benötigen Sie Root-Rechte, um Befehle auszuführen, andernfalls schlägt die Installation fehl.
make modules_install install
7. Einrichtung des Systemstarts
Überprüfen Sie die Startsequenz.
[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)
Stiefelreihenfolge festlegen
[root@localhost ~]# grub2-set-default 0
Ein Neustart ist erforderlich, damit die Wirkung eintritt.
[root@localhost ~]# reboot
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.

Rackmount-PC
Eingebettete Systeme
Industrielle tragbare Computer
Robuste Tablets
Robuster Laptop
Industrieller Panel-PC
Robustes Handgerät
Advantech Industrie-PC