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
Tri načina za nadogradnju kernela industrijskog računarskog CentOS sistema
Blog

Tri načina za nadogradnju kernela industrijskog računarskog CentOS sistema

17.10.2024. 15:08:44

Tokom korištenja CentOS-a, neizbježno je nadograditi kernel, ali ponekad zbog problema sa ovisnošću kompajliranja izvornog koda, ne podržavaju svi programi najnoviju verziju kernela, pa će u nastavku biti predstavljena tri načina za nadogradnju kernela.

Napomena:
O tipovima kernela:
Skraćenica ml u kernel-ml je od [mainline stable] na engleskom, a najnovija stabilna verzija glavne linije navedena je u elrepo-kernel.
Skraćenica lt u kernel-lt je od [long term support] na engleskom, a verzija s dugotrajnom podrškom navedena je u elrepo-kernel.
Provjerite verziju kernela
uname -r

Slika 1
Sadržaj

1. instalacija yuma

1. Uvezite izvorni kod repozitorija
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. Pogledajte instalacijske pakete
yum --enablerepo="elrepo-kernel" lista --showduplicates | sortiraj -r | grep
kernel-ml.x86_64
3. Odaberite ML ili LT verziju za instalaciju
Ako nije navedena verzija, najnovija verzija se instalira po defaultu
Instalirajte ML verziju
yum --enablerepo=elrepo-kernel instaliraj kernel-ml-razvoj kernel-ml -y
Instalirajte LT verziju, odaberite ovo za sve K8S
yum --enablerepo=elrepo-kernel instaliraj kernel-lt-razvoj kernel-lt -y
4. Provjerite trenutni redoslijed pokretanja kernela
awk -F\' '$1=="unosumeni" {print $2}' /etc/grub2.cfg
5. Izmijenite zadanu stavku za pokretanje
xxx je serijski broj, koji određuje x-tu stavku na listi za pokretanje kao stavku za pokretanje, a x počinje brojati od 0.
grub2-set-default xxxx
Na primjer, ako želite da ga podesite da se pokreće s kernelom 4.4
zatim direktno unesite "grub2-set-default 0" i možete početi od verzije 4.4 sljedeći put kada pokrenete
Provjerite redoslijed pokretanja kernela
[root@localhost ~] awk -F\' '$1=="unos_menija " {print $2}' /etc/grub2.cfg
CentOS Linux (4.4.179-1.el7.elrepo.x86_64) 7 (Jezgro)
CentOS Linux (3.10.0-693.el7.x86_64) 7 (Jezgro)
CentOS Linux (0-rescue-6d4c599606814867814f1a8eec7bfd1e) 7 (Jezgro)
Postavite redni broj pokretanja
[root@localhost ~] grub2-set-default 0
Ponovno pokretanje
ponovo pokrenite
Provjerite verziju kernela
uname -r

Slika 2

2. Instalacija RPM-a

Provjerite verziju kernela
uname -r
1. Pronađite verziju
Budući da je izvorni kod ELRepo-a najnovija verzija, stara verzija kernela se može preuzeti samo ručno.
Pronađite historijsku verziju rpm-a kernela:
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/
2. Potrebno je da preuzmete tri vrste rpm datoteka
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
zaglavlja-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. Instalirajte 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
ili
#Instaliraj sve jednim klikom
o/min -Uvh *.o/min
4. Potvrdite instaliranu verziju kernela
[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. Podesite pokretanje
Provjerite redoslijed pokretanja
[root@localhost ~]# awk -F\' '$1=="unosumeni" {print $2}' /etc/grub2.cfg
CentOS Linux (4.4.215-1.el7.elrepo.x86_64) 7 (Jezgro)
CentOS Linux (4.9.9-1.el7.elrepo.x86_64) 7 (Jezgro)
CentOS Linux (3.10.0-957.el7.x86_64) 7 (Jezgro)
CentOS Linux (0-rescue-b91f945269084aa98e8257311ee713c5) 7 (Jezgro)
Postavite redoslijed pokretanja
[root@localhost ~]# grub2-set-default 0
Ponovo pokrenite da bi se primijenilo
[root@localhost ~]# ponovno pokretanje

3. Instalacija izvornog koda

1. Instalirajte osnovni softverski paket
yum install -y gcc make git ctags ncurses-devel openssl-devel
yum install -y bison flex elfutils-libelf-devel bc
2. Kreirajte direktorij za kompilaciju kernela
Koristite direktorij kernelbuild unutar home direktorijuma
mkdir ~/kernelbuild
3. Nabavite izvorni kod kernela
Mirror stranica Univerziteta Tsinghua:
https://mirror.tuna.tsinghua.edu.cn/kernel/v4.x/?C=M&O=D
Adresa za preuzimanje drugog paketa za instalaciju izvornog koda:
https://mirrors.edge.kernel.org/pub/linux/kernel/
linux-4.xx.xx.tar.xz
linux-4.xx.xx.tar.gz
Oba formata su prihvatljiva, tar.xz ima veću stopu kompresije i manju veličinu datoteke.
Preuzmite online: wget https://mirror.tuna.tsinghua.edu.cn/kernel/v4.x/linux-4.17.11.tar.xz
4. Raspakujte kod kernela
Nakon raspakiranja, uđite u izvorni direktorij:
tar -xvJf linux-4.17.11.tar.xz
Da biste bili sigurni da je stablo kernela apsolutno čisto, uđite u direktorij kernela i izvršite naredbu make mrproper:
cd linux-4.17.11
očistiti i učiniti mrprikladnim

5. Konfiguracija kernela
Kopiraj trenutnu konfiguracijsku datoteku kernela
config-3.10.0-862.el7.x86_64 je konfiguracijska datoteka kernela mog trenutnog okruženja, modificirajte je prema stvarnoj situaciji.
cp /boot/config-3.10.0-862.el7.x86_64 .config
Napredna konfiguracija
y je omogućeno, n je onemogućeno, a m je omogućeno kada je potrebno.
make menuconfig: stari ncurses interfejs, zamijenjen sa nconfig
make nconfig: Novi ncurses interfejs komandne linije
6. Kompajlirajte i instalirajte
Kompajlirajte kernel
Ako imate mašinu sa četiri jezgra, x može biti 8
napraviti -jx
Instalirajte kernel
Nakon kompajliranja kernela, instalirajte: Upozorenje: Od sada su vam potrebne root privilegije za izvršavanje naredbi, u suprotnom će instalacija propasti.
napravi instalaciju modula
7. Podesite pokretanje
Provjerite redoslijed pokretanja
[root@localhost ~]# awk -F\' '$1=="unosumeni" {print $2}' /etc/grub2.cfg
CentOS Linux (4.17.11-1.el7.elrepo.x86_64) 7 (Jezgro)
CentOS Linux (4.9.9-1.el7.elrepo.x86_64) 7 (Jezgro)
CentOS Linux (3.10.0-957.el7.x86_64) 7 (Jezgro)
CentOS Linux (0-rescue-b91f945269084aa98e8257311ee713c5) 7 (Jezgro)
Postavi redoslijed pokretanja
[root@localhost ~]# grub2-set-default 0
Ponovo pokrenite da bi se primijenilo
[root@localhost ~]# ponovno pokretanje


Povezani proizvodi

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.