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
Richiedi un preventivo
Tre modi per aggiornare il kernel del sistema CentOS per computer industriali
Blog

Tre modi per aggiornare il kernel del sistema CentOS per computer industriali

2024-10-17 15:08:44

Durante l'utilizzo di CentOS, è inevitabile aggiornare il kernel, ma a volte, a causa di problemi di dipendenza nella compilazione del codice sorgente, non tutti i programmi supportano l'ultima versione del kernel. Pertanto, di seguito illustreremo tre metodi per aggiornare il kernel.

Nota:
Informazioni sui tipi di kernel:
La sigla ml in kernel-ml è l'abbreviazione di [mainline stable] in inglese, e l'ultima versione stabile della linea principale è elencata in elrepo-kernel.
La sigla lt in kernel-lt è l'abbreviazione di [supporto a lungo termine] in inglese, e la versione con supporto a lungo termine è elencata in elrepo-kernel.
Verifica la versione del kernel
uname -r

Immagine 1
Sommario

1. Installazione di yum

1. Importa il codice sorgente del repository
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. Visualizza i pacchetti installabili
yum --enablerepo="elrepo-kernel" list --showduplicates | sort -r | grep
kernel-ml.x86_64
3. Selezionare la versione ML o LT da installare
Se non viene specificata alcuna versione, viene installata per impostazione predefinita la versione più recente.
Installa la versione ML
yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y
Installa la versione LT, selezionala per tutti i K8S
yum --enablerepo=elrepo-kernel install kernel-lt-devel kernel-lt -y
4. Verificare la sequenza di avvio del kernel corrente
awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
5. Modificare l'elemento di avvio predefinito
xxx è il numero di serie, che specifica l'x-esimo elemento nell'elenco di avvio come elemento di avvio, e x inizia a contare da 0
grub2-set-default xxxx
Ad esempio, se si desidera impostarlo per l'avvio con kernel 4.4
quindi inserisci direttamente "grub2-set-default 0", e potrai ripartire da 4.4 la prossima volta che avvii
Verifica la sequenza di avvio del 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)
Imposta il numero di sequenza di avvio
[root@localhost ~] grub2-set-default 0
Riavviare
riavviare
Verifica la versione del kernel
uname -r

Immagine 2

2. Installazione RPM

Verifica la versione del kernel
uname -r
1. Trova la versione
Poiché il codice sorgente di ELRepo è la versione più recente, la vecchia versione del kernel può essere scaricata solo manualmente.
Trova la versione storica del pacchetto kernel rpm:
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/
2. Devi scaricare tre tipi di rpm
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. Installa il 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
O
#Installa tutto con un clic
rpm -Uvh *.rpm
4. Confermare la versione del kernel installata
[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. Imposta l'avvio
Verifica l'ordine di avvio
[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)
Imposta l'ordine di avvio
[root@localhost ~]# grub2-set-default 0
Riavvia il sistema affinché le modifiche abbiano effetto.
[root@localhost ~]# riavvia

3. Installazione del codice sorgente

1. Installare il pacchetto software principale
yum install -y gcc make git ctags ncurses-devel openssl-devel
yum install -y bison flex elfutils-libelf-devel bc
2. Creare una directory di compilazione del kernel
Utilizzare la directory kernelbuild nella directory home
mkdir ~/kernelbuild
3. Ottieni il codice sorgente del kernel
Sito mirror dell'Università di Tsinghua:
https://mirror.tuna.tsinghua.edu.cn/kernel/v4.x/?C=M&O=D
Altri indirizzi per il download del pacchetto di installazione del codice sorgente:
https://mirrors.edge.kernel.org/pub/linux/kernel/
linux-4.xx.xx.tar.xz
linux-4.xx.xx.tar.gz
Entrambi i formati sono accettabili, ma tar.xz ha un tasso di compressione più elevato e una dimensione del file inferiore.
Scarica online: wget https://mirror.tuna.tsinghua.edu.cn/kernel/v4.x/linux-4.17.11.tar.xz
4. Decomprimi il codice del kernel
Dopo averlo decompresso, accedi alla directory di origine:
tar -xvJf linux-4.17.11.tar.xz
Per garantire che l'albero del kernel sia assolutamente pulito, accedi alla directory del kernel ed esegui il comando make mrproper:
cd linux-4.17.11
rendere pulito e rendere più appropriato

5. Configurazione del kernel
Copiare il file di configurazione del kernel corrente
config-3.10.0-862.el7.x86_64 è il file di configurazione del kernel del mio ambiente attuale; modificalo in base alla situazione reale.
cp /boot/config-3.10.0-862.el7.x86_64 .config
Configurazione avanzata
y è abilitato, n è disabilitato e m è abilitato quando necessario.
make menuconfig: vecchia interfaccia ncurses, sostituita da nconfig
make nconfig: Nuova interfaccia ncurses da riga di comando
6. Compilare e installare
Compila il kernel
Se hai una macchina quad-core, x può essere 8
make -jx
Installa il kernel
Dopo aver compilato il kernel, installa: Attenzione: da qui in poi, sono necessari i privilegi di root per eseguire i comandi, altrimenti l'operazione fallirà.
eseguire l'installazione dei moduli
7. Configurare l'avvio
Verificare la sequenza di avvio
[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)
Imposta l'ordine di avvio
[root@localhost ~]# grub2-set-default 0
Riavvia il sistema affinché le modifiche abbiano effetto.
[root@localhost ~]# riavvia


Prodotti correlati

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.