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
Drei Möglichkeiten zur Aktualisierung des Kernels eines industriellen Computersystems CentOS
Blog

Drei Möglichkeiten zur Aktualisierung des Kernels eines industriellen Computersystems CentOS

17.10.2024 15:08:44

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

Bild 1
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

Bild 2

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


Verwandte Produkte

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.