Eroare TPM-WMI 1769 – Solutie pentru sistemele pe AM5
Eroare in Event Viewer [TPM-WMI – 1769]
Aceasta problema este mai mult sau mai putin specifica sistemelor cu placi de baza de la Gigabyte pe platforma AM5.
[mai mult...]Soluții pentru problemele tale IT
Eroare in Event Viewer [TPM-WMI – 1769]
Aceasta problema este mai mult sau mai putin specifica sistemelor cu placi de baza de la Gigabyte pe platforma AM5.
[mai mult...]În Clonezilla, un “sub” se referă, de obicei, la un set de opțiuni predefinite care pot fi utilizate pentru a automatiza anumite sarcini. De exemplu, poți crea un sub pentru a clona întotdeauna o anumită partiție sau pentru a restaura o imagine într-un anumit director.
[mai mult...]Hiren’s BootCD este un instrument util pentru depanarea și repararea computerelor. Îl poți folosi pentru a recupera date, a repara sistemul de operare sau pentru a testa hardware-ul.
Ce ai nevoie minim:
Reconstrucțiile kernelului nu sunt recomandate și nici acceptate pentru Rocky Linux. Înainte de a încerca să construiți un nucleu personalizat, vă rugăm să luați în considerare următoarele:
Ca ultim avertisment: dacă rupeți nucleul, sunteți responsabil pentru remedierea problemelor rezultate din sistemul dumneavoastră.
Nucleul
Cel mai adesea, când oamenii spun Linux , de obicei se referă la o „ distribuție Linux ” – de exemplu, Rocky Linux și Debian sunt tipuri de distribuție Linux. O distribuție cuprinde tot ceea ce este necesar pentru ca Linux să existe ca sistem de operare funcțional. Distribuțiile folosesc cod din diferite proiecte open source care sunt independente de Linux.
Linux este nucleul. Nucleul se află literalmente în centrul problemei [sistemului de operare].
Singurul lucru mai fundamental decât nucleul este hardware-ul sistemului în sine. Deși nucleul este o mică parte a unei distribuții Linux complete, este de departe cel mai critic element. Dacă nucleul eșuează sau se blochează, restul sistemului merge cu el.
Codul sursă al nucleului
Distribuția Rocky Linux are codul sursă pentru versiunea specifică de kernel pe care o acceptă, disponibil într-o formă sau alta. Acestea ar putea fi sub forma unui binar compilat ( *.src.rpm
), a unui RPM sursă ( *.srpm
) sau altele asemenea.
Dacă trebuie să descărcați o versiune diferită (posibil mai nouă) decât cea oferită de distribuția dvs. specifică Rocky Linux, primul loc pentru a căuta codul sursă este pe site-ul web oficial al nucleului:
Acest site menține o listă de site-uri web care reflectă sursa kernel-ului, precum și o mulțime de alte software-uri open source, distribuții și utilitare de uz general.
Lista oglinzilor este menținută la:
Sfat
Majoritatea descărcărilor, configurării și compilării nucleului Linux efectuate în următoarele secțiuni pot/ar trebui să fie efectuate ca utilizator neprivilegiat. Cu toate acestea, pașii finali care necesită instalarea efectivă sau modificarea fișierelor de sistem și a fișierelor binare trebuie să fie efectuate cu privilegii ridicate.
Suntem capabili să facem cea mai mare parte a muncii ca utilizator neprivilegiat, deoarece vom folosi o opțiune specială de construire a nucleului, care ne permite să specificăm un director de lucru sau de ieșire personalizat. Mai exact, vom folosi O=~/build/kernel
opțiunea pentru toate invocările aplicabile de make.
Unde ~/build/kernel
este echivalent cu /home/$USER/build/kernel
sau$HOME/build/kernel
Versiunile kernelului și convențiile de denumire
Lista de site-uri web a nucleelor disponibile va conține foldere pentru v1.0, v2.5, v2.6, v3.0, v3.x, v4.x, v5.x, v6.x și așa mai departe. Înainte de a vă urma înclinația naturală de a obține cea mai recentă versiune, asigurați-vă că înțelegeți cum funcționează sistemul de versiune a nucleului Linux.
Convenția actuală este de a numi și numerota noile versiuni majore de kernel ca „Linux 5.x” (numite și nuclee vanilla sau mainline). Astfel, prima din această serie va fi versiunea Linux 5.0 (la fel ca 5.0.0), următoarea va fi versiunea Linux 5.1 (la fel ca 5.1.0), urmată de versiunea Linux 5.2 și așa mai departe.
Orice modificări minore sau actualizări în cadrul fiecărei versiuni de lansare majoră vor fi reflectate prin incremente până la a treia cifră. Acestea sunt denumite în mod obișnuit eliberări punctuale stabile. Astfel, următoarea lansare punct stabilă pentru nucleul din seria 5.0.0 va fi versiunea Linux 5.0.1, urmată de versiunea 5.0.2 și așa mai departe. Un alt mod de a afirma acest lucru este de a spune, de exemplu, că versiunea Linux 5.0.4 este a patra versiune stabilă bazată pe seria Linux 5.0.0.
Instalarea instrumentelor și bibliotecilor necesare
O sursă obișnuită de eșec întâlnită în timpul procesului de construire a nucleului poate fi cauzată de lipsa tuturor software-ului necesar pentru compilarea și construirea liniei principale de kernel Linux. Instrumentele și bibliotecile lipsă pot fi instalate folosind managerul de pachete DNF pe o distribuție Rocky Linux. Ne vom ocupa de asta în această secțiune.
sudo dnf -y groupinstall 'C Development Tools and Libraries'
Dacă obțineți „Modulul sau grupul „Unelte și biblioteci de dezvoltare C” nu este disponibil.” eroare comanda de mai jos este echivalentă cu cea de mai sus:
sudo dnf -y groupinstall 'Development Tools'
sudo dnf -y install ncurses-devel openssl-devel elfutils-libelf-devel python3
sudo dnf config-manager --set-enabled powertools
sudo dnf -y install dwarves
Asta este tot pentru pachetele de precondiții necesare pentru construirea reală a Kernel-ului!
Descărcarea și despachetarea kernelului Linux
Versiunea nucleului pe care o vom construi în următoarea secțiune este versiunea 6.5.7 , care este disponibilă la:
www.kernel.org/pub/linux/kernel/v6.x/linux-6.5.7.tar.xz
Să începem procesul.
curl
comandă. Tip:
curl -L -o linux-6.5.7.tar.xz \
https://www.kernel.org/pub/linux/kernel/v6.x/linux-6.5.7.tar.xz
tar xvJf linux-6.*.tar.xz
Construirea Kernel-ului
În această secțiune, vom revizui procesul de configurare și construire a unui nucleu. Acest lucru este în contrast cu sistemele de operare bazate pe macOS sau Windows, care vin preconfigurate și, prin urmare, conțin suport pentru multe funcții pe care le doriți sau nu.
Filosofia de proiectare Linux permite individului să decidă asupra părților importante ale nucleului. Acest design individualizat are avantajul important de a vă permite să reduceți lista de caracteristici, astfel încât Linux să poată rula cât mai eficient posibil.
Acesta este, de asemenea, unul dintre motivele pentru care este posibil să personalizați Linux pentru a rula în diverse configurații hardware, de la sisteme low-end, la sisteme încorporate, la sisteme high-end.
Sunt necesari doi pași principali în construirea unui nucleu:
Primul pas în construirea nucleului este configurarea caracteristicilor acestuia. De obicei, lista de caracteristici dorite se va baza pe orice hardware pe care trebuie să îl suportați. Acest lucru, desigur, înseamnă că veți avea nevoie de o listă cu acel hardware.
Pe un sistem care rulează deja Linux, puteți rula comenzi precum – lspci
și lshw
așa mai departe pentru a vă ajuta să afișați informații detaliate despre configurarea exactă a hardware-ului pe sistemul dumneavoastră. În distribuțiile bazate pe RPM, aceste utilitare sunt furnizate de pachetele pciutils*.rpm
și lshw*.rpm
.
O mai bună înțelegere a ceea ce constituie hardware-ul dvs. de bază vă poate ajuta să determinați mai bine de ce aveți nevoie în kernel-ul personalizat. Sunteți gata să începeți configurarea nucleului.
Igienizarea mediului de construcție
Putem începe configurația reală cu o idee aproximativă despre tipurile de hardware și caracteristici pe care noul nostru nucleu trebuie să le suporte. Dar mai întâi, câteva informații de fundal.
Arborele sursă al nucleului Linux conține mai multe fișiere numite Makefile (un makefile este pur și simplu un fișier text cu directive și, de asemenea, descrie relațiile dintre fișierele dintr-un program). Aceste fișiere make ajută la lipirea miilor de alte fișiere care alcătuiesc sursa kernel-ului. Ceea ce este mai important pentru noi aici este că makefile-urile conțin și ținte. Țintele sunt comenzile, sau directivele, care sunt executate de programul make.
avertisment: Evitați upgrade-urile inutile ale kernelului
Rețineți că, dacă aveți un sistem care funcționează stabil și bine comportat, există puține motive pentru a actualiza nucleul, cu excepția cazului în care una dintre aceste condiții este valabilă pentru dvs.:
În cazul unei remedieri de securitate, decideți dacă riscul vă afectează cu adevărat – de exemplu, dacă problema de securitate este găsită într-un driver de dispozitiv pe care nu îl utilizați, atunci este posibil să nu existe niciun motiv pentru a face upgrade. În cazul unei lansări de remediere a erorilor, citiți cu atenție notele de lansare și decideți dacă erorile vă afectează cu adevărat – dacă aveți un sistem stabil, actualizarea nucleului cu patch-uri pe care nu le utilizați niciodată poate fi inutilă.
Pe sistemele de producție, nucleul nu ar trebui să fie pur și simplu actualizat doar pentru a avea „cel mai recent nucleu”; ar trebui să aveți un motiv cu adevărat convingător pentru a face upgrade.
Makefile din rădăcina arborelui sursă a nucleului conține ținte specifice care pot fi utilizate în pregătirea mediului de construire a nucleului, configurarea nucleului, compilarea nucleului, instalarea nucleului și așa mai departe. Unele dintre obiective sunt discutate mai detaliat aici:
make mrproper
make clean
make menuconfig
make xconfig
make gconfig
make olddefconfig
make help
Vom folosi doar una dintre ținte pentru a configura nucleul în această secțiune. În special, vom folosi comanda make menuconfig. Editorul de configurare a nucleului menuconfig este un utilitar de configurare simplu și popular, bazat pe text, care constă din meniuri, liste de butoane radio și casete de dialog.
Are o interfață simplă și curată, care poate fi navigată cu ușurință cu tastatura și este aproape intuitiv de utilizat.
Trebuie să schimbăm ( cd
) în directorul sursă al nucleului, după care putem începe configurarea nucleului. Dar înainte de a începe configurarea propriu-zisă a nucleului, ar trebui să curățați (pregătiți) mediul de construire a nucleului folosind comanda make mrproper:
cd linux-6.*
make O=~/build/kernel mrproper
Configurația kernelului
În continuare, vom începe configurarea unui nucleu din seria Linux 6.*. Pentru a explora unele din interiorul acestui proces, vom activa suportul unei caracteristici specifice despre care vom pretinde că este o caracteristică NECESARĂ pe sistem. Odată ce ați înțeles cum funcționează acest lucru, puteți aplica aceeași procedură pentru a adăuga suport pentru orice funcție nouă de kernel dorită. Mai exact, vom activa suportul pentru sistemul de fișiere NTFS în nucleul nostru personalizat.
Cele mai multe distribuții Linux moderne sunt livrate cu un fișier de configurare a nucleului pentru nucleul care rulează, disponibil pe sistemul de fișiere local ca fișier comprimat sau obișnuit. Pe exemplul nostru de sistem Rocky, acest fișier se află în /boot
director și este de obicei numit ceva de genul config-*
.
Fișierul de configurare conține o listă a opțiunilor și caracteristicilor care au fost activate pentru nucleul specific pe care îl reprezintă. Un fișier de configurare similar cu acesta este ceea ce ne propunem să creăm prin procesul de configurare a nucleului. Singura diferență între fișierul pe care îl vom crea și cel gata făcut este că vom adăuga personalizări minore suplimentare la al nostru.
Sfat
Utilizarea unui fișier de configurare preexistent cunoscut ca cadru pentru crearea propriului fișier personalizat ne ajută să ne asigurăm că nu pierdem prea mult timp duplicând eforturile pe care alți oameni le-au depus deja pentru a găsi ce funcționează și ce nu funcționează!
Următorii pași acoperă modul de configurare a nucleului. Vom folosi un utilitar de configurare a nucleului bazat pe text, care vă va permite să urmăriți în terminalul dvs. indiferent dacă utilizați un mediu desktop GUI sau nu.
/boot
director în mediul nostru de construire a nucleului:
cp /boot/config-`uname -r` ~/build/kernel/.config
Folosim uname -r
aici pentru a ne ajuta să obținem fișierul de configurare pentru nucleul care rulează. Comanda uname -r
imprimă lansarea nucleului care rulează. Folosirea acestuia ne ajută să ne asigurăm că obținem exact versiunea pe care o dorim, doar în cazul în care sunt prezente alte versiuni.
Nota
Editorul de configurare a nucleului Linux începe să caute în mod explicit și generează un fișier numit .config
(pronunțat „configurație punct”) la rădăcina arborelui sursă a nucleului. Acest fișier este ascuns.
make O=~/build/kernel menuconfig
Va apărea un ecran similar cu acesta:
În secțiunea Sisteme de fișiere, utilizați tastele săgeți pentru a naviga la Sisteme de fișiere DOS/FAT/NT. Apăsați enter pentru a vedea elementele secundare pentru sistemele de fișiere DOS/FAT/NT.
Utilizați tastele săgeți pentru a naviga în jos la suport pentru depanare NTFS (NOU) și apoi apăsați y pentru a-l include.
Utilizați tastele săgeți pentru a naviga în jos la suport de scriere NTFS și apoi apăsați Ypentru a-l include. Când ați terminat, litera M
sau simbolul asterisc ( *
) ar trebui să apară lângă fiecare opțiune, ca cele prezentate aici:
Sfat
Pentru fiecare dintre opțiunile configurabile, în utilitarul de configurare a nucleului, parantezele unghiulare goale, <>, indică faptul că caracteristica în cauză este dezactivată. Litera M
din paranteze unghiulare,, indică faptul că caracteristica urmează să fie compilată ca modul.
Și simbolul asterisc din paranteze unghiulare, <*>, indică faptul că suportul pentru caracteristică va fi integrat direct în nucleu. De obicei, puteți comuta printre toate opțiunile posibile folosind bara de spațiu de pe tastatură.
sed -ri '/CONFIG_SYSTEM_TRUSTED_KEYS/s/=.+/=""/g' ~/build/kernel/.config
Sfat
Pentru a vedea rezultatele unora dintre modificările pe care le-ați făcut folosind instrumentul menuconfig, utilizați utilitarul grep pentru a vizualiza fișierul .config pe care l-ați salvat direct. De exemplu, pentru a vedea efectul suportului sistemului de fișiere NTFS pe care l-am activat anterior, tastați următoarele:
$ grep NTFS ~/build/kernel/.config
CONFIG_NTFS_FS=m
CONFIG_NTFS_DEBUG=y
CONFIG_NTFS_RW=y
O notă rapidă despre modulele Kernel
Suportul pentru module încărcabile este o caracteristică a nucleului Linux care permite încărcarea (sau eliminarea) dinamică a modulelor nucleului.
Modulele kernel sunt bucăți de cod compilat care pot fi inserate dinamic în nucleul care rulează, mai degrabă decât să fie încorporate permanent în nucleu. Funcțiile care nu sunt utilizate adesea pot fi astfel activate, dar nu vor ocupa nicio cameră în memorie atunci când nu sunt utilizate.
Din fericire, nucleul Linux poate determina automat ce să încarce și când. Desigur, nu toate caracteristicile sunt eligibile pentru a fi compilate ca modul. Nucleul trebuie să cunoască câteva lucruri înainte de a putea încărca și descărca module, cum ar fi cum să acceseze hard disk-ul și să analizeze sistemul de fișiere în care sunt stocate modulele care pot fi încărcate. Unele module kernel sunt, de asemenea, denumite în mod obișnuit drivere.
Compilarea Kernel-ului
În secțiunea precedentă, am parcurs procesul de creare a unui fișier de configurare pentru nucleul personalizat pe care dorim să-l construim. În această secțiune, vom realiza construirea propriu-zisă a nucleului. Dar înainte de a face acest lucru, vom adăuga o personalizare mai simplă întregului proces.
Personalizarea finală va fi adăugarea unei informații suplimentare utilizate în numele final al nucleului nostru. Acest lucru ne va ajuta să putem diferenția acest nucleu de orice alt nucleu cu același număr de versiune. Vom adăuga eticheta „personalizat” la informațiile despre versiunea kernelului. Acest lucru se poate face prin editarea Makefile-ului principal și adăugând eticheta pe care o dorim la variabila EXTRAVERSION.
Etapa de compilare a procesului de construire a nucleului este de departe cea mai ușoară, dar necesită și cel mai mult timp. Tot ceea ce este necesar în acest moment este pur și simplu să executați comanda make, care va genera apoi automat și se va ocupa de orice probleme de dependență, va compila nucleul în sine și va compila toate caracteristicile (sau driverele) care au fost activate ca module încărcate.
Din cauza cantității de cod care trebuie compilat, fiți pregătit să așteptați câteva minute, cel puțin, în funcție de puterea de procesare a sistemului dumneavoastră. Să cercetăm pașii specifici necesari pentru compilarea noului tău nucleu.
sed
pentru a edita Makefile-ul. Variabila pe care vrem să o schimbăm este aproape de partea de sus a fișierului. Vrem să schimbăm linia din fișier care arată astfel:
EXTRAVERSION =
La aceasta:
EXTRAVERSION = -custom
Utilizați următoarea sed
comandă pentru a efectua modificarea. Tip:
sed -i 's/^EXTRAVERSION.*/EXTRAVERSION = -custom/' Makefile
Desigur, puteți utiliza și orice editor de text cu care vă simțiți confortabil pentru a face schimbarea. Nu uitați să salvați modificările în fișier!
make O=~/build/kernel kernelversion
Sfat
Puteți profita de toată puterea de procesare suplimentară (CPU-uri, nuclee și așa mai departe) pe majoritatea sistemelor moderne și puteți accelera foarte mult operațiunile care necesită mult CPU, cum ar fi compilarea nucleului. Pentru a face acest lucru, puteți trece un parametru la comanda make care specifică numărul de joburi de rulat simultan. Numărul specificat de joburi sunt apoi distribuite și executate simultan pe fiecare nucleu CPU. Sintaxa pentru comandă este:
```bash
make -j N
```
where N is the number of jobs to run simultaneously. For example, if you have a octa (8) core–capable CPU, you can type:
```bash
make -j 8
```
$ make O=~/build/kernel
make[1]: Entering directory '/home/super/build/kernel'
SYNC include/config/auto.conf.cmd
GEN Makefile
HOSTCC scripts/kconfig/conf.o
HOSTLD scripts/kconfig/conf
GEN Makefile
...<OUTPUT TRUNCATED>…
LD [M] sound/usb/usx2y/snd-usb-usx2y.ko
LD [M] sound/x86/snd-hdmi-lpe-audio.ko
LD [M] sound/xen/snd_xen_front.ko
LD [M] virt/lib/irqbypass.ko
make[1]: Leaving directory '/home/super/build/kernel'
~/build/kernel/arch/x86/boot/bzImage
sudo make O=~/build/kernel modules_install
Pe sistemul nostru Rocky, această comandă va instala toate modulele nucleului compilate în /lib/modules/<new_kernel-version>
director. Această cale se va traduce /lib/modules/6.5.7-custom/
în acest exemplu. Aceasta este calea de pe care nucleul va încărca toate modulele încărcate, după cum este necesar.
Sfat
Amprenta (dimensiunea) modulelor nucleului instalate prin intermediul make modules_install
poate deveni destul de semnificativă, deoarece modulele includ simboluri de depanare. Ca rezultat, puteți ajunge cu ușurință la un /lib/modules/6.5.7-custom/
director care este aproape de 5 GB!
Pentru acest ghid evităm această dimensiune mare prin includerea opțiunii în invocarea INSTALL_MOD_STRIP=1
noastră . make modules_install
Puteți reduce dimensiunea totală cu ordine de mărime (De exemplu, mai puțin de 200 MB!!) prin eliminarea acestor simboluri de depanare.
Acest lucru se poate face prin includerea INSTALL_MOD_STRIP=1
opțiunii la make modules_install
comandă.
Instalarea Kernel-ului
Presupunând că aveți un computer și lucrați din ~/build/kernel/
director, nucleul compilat care a fost creat în exercițiul anterior va fi localizat în această cale – <kernel-build-dir>/arch/x86/boot/bzImage
sau, pentru a fi mai precis, în exemplul nostru ~/build/kernel/arch/x86/boot/bzImage
.
Fișierul de hartă corespunzător pentru aceasta va fi localizat la ~/build/kernel/System.map
. Veți avea nevoie de ambele fișiere pentru faza de instalare.
Fișierul System.map
este util atunci când nucleul se comportă greșit și generează mesaje „Oops”. Un „Oops” este generat pentru unele erori de kernel din cauza erorilor nucleului sau a hardware-ului defect.
Această eroare este asemănătoare cu Ecranul albastru al morții (BSOD) din Microsoft Windows. Aceste mesaje includ multe detalii despre starea curentă a sistemului, inclusiv câteva numere hexazecimale.
System.map
permite Linux să transforme acele numere hexazecimale în nume care pot fi citite, facilitând depanarea. Deși acest lucru este în principal în beneficiul dezvoltatorilor, poate fi util atunci când raportați o problemă.
Să parcurgem pașii necesari pentru a instala noua imagine de kernel.
bzImage
în /boot
directorul:
sudo cp ~/build/kernel/arch/x86/boot/bzImage \
/boot/vmlinuz-<kernel-version>
Aici <kernel-version>
este numărul versiunii nucleului. Numele de fișier pentru exemplul de kernel pe care îl folosim în acest ghid este vmlinuz-6.5.7-custom
. Deci, iată comanda exactă pentru acest exemplu:
sudo cp ~/build/kernel/arch/x86/boot/bzImage \
/boot/vmlinuz-6.5.7-custom
Nota
Decizia de a numi imaginea nucleului vmlinuz-6.5.7-custom
este oarecum arbitrară. Este convenabil, deoarece imaginile nucleului sunt denumite în mod obișnuit vmlinuz, iar sufixul numărului de versiune este util atunci când aveți mai multe nuclee disponibile sau nuclee care oferă o funcționalitate specifică (De exemplu vmlinuz-6.50.0-ws
).
System.map
fișierul corespunzător în /boot
director folosind aceeași convenție de denumire:
sudo cp -v ~/build/kernel/System.map \
/boot/System.map-6.5.7-custom
System.map
fișierul pe loc și cu modulele pe loc, acum suntem pregătiți pentru pasul final. Sintaxa pentru comanda necesară este:
kernel-install add <kernel-version> <kernel-image>
Aici <kernel-version>
este numărul versiunii (și numele) nucleului. Și <kernel-image>
este calea către noua imagine a nucleului compilată.
Pentru exemplul nostru, tastați:
sudo kernel-install \
add 6.5.7-custom /boot/vmlinuz-6.5.7-custom
Comanda kernel-install
este un script shell ingenios. Este posibil să nu fie disponibil în fiecare distribuție Linux, dar este disponibil în distribuțiile mai noi Fedora, RHEL, CentOS. Acest instrument automatizează multe dintre lucrurile manuale finale pe care trebuie să le facem de obicei pentru a configura sistemul pentru a porni noul kernel pe care tocmai l-am construit.
În special, instrumentul face următoarele:
/boot/initramfs-<kernel-version>.img
). Pentru a face acest lucru manual pe sistemele în care kernel-install
nu este disponibil, utilizați mkinitramfs
comanda.depmod
comanda (care creează o listă de dependențe ale modulelor).Pentru sistemele care rulează versiunile mai noi de GRUB2, fișierul va fi /boot/grub2/grub.cfg
. Pentru sistemele bazate pe EFI /boot/efi/<distro>/fedora/grub.cfg
este, de asemenea, actualizat.
Și pentru sistemele care rulează versiunile vechi ale GRUB, acesta va fi fișierul /boot/grub/grub.conf
sau /boot/grub/menu.lst
. Și pentru distribuțiile foarte noi care au implementat noua specificație de încărcare de încărcare (BLS), o nouă intrare de încărcare de pornire va fi adăugată în /boot/loader/entries/
director sau în orice director la care este indicat variabila numită blsdir
.
Pe serverul nostru demo Rocky bazat pe EFI care rulează GRUB 2 utilizând BLS, o nouă intrare de pornire este creată în fișierul de încărcare de pornire situat aici:/boot/loader/entries/6fa25ca775f64accb0d3e53f0e4e6e92-6.5.7-custom.conf
$ sudo cat /boot/loader/entries/6fa25ca775f64accb0d3e53f0e4e6e92-6.5.7-custom.conf
title Rocky Linux (6.5.7-custom) 8.5 (Green Obsidian)
version 6.5.7-custom
linux /vmlinuz-6.5.7-custom
initrd /initramfs-6.5.7-custom.img $tuned_initrd
options $kernelopts $tuned_params
id rocky-20220212013135-6.5.7-custom
grub_users $grub_users
grub_arg --unrestricted
grub_class kernel
Nota
Majoritatea distribuțiilor au mai multe grub2-*
utilitare disponibile care pot fi utilizate pentru a efectua diverse sarcini de întreținere GRUB2 și bootloader. De exemplu, puteți utiliza grub2-set-default
comanda pentru a schimba sau a seta nucleul implicit care să fie pornit la pornirea sistemului.
Pornirea kernelului personalizat
Următoarea etapă este testarea nucleului pentru a vă asigura că sistemul poate porni cu el.
sudo reboot
$ uname -r
6.5.7-custom
[rockstar ~]$ modinfo ntfs
filename: /lib/modules/6.5.7-custom/kernel/fs/ntfs/ntfs.ko
license: GPL
version: 2.1.32
description: NTFS 1.2/3.x driver - Copyright …..
...OUTPUT TRUNCATED...
Avertismente
Descărcați fișierele comprimate din GitHub și extrageți-l pe cel de care aveți nevoie (acesta va fi migrate2rocky.sh sau migrate2rocky9.sh ). Puteți găsi fișiere zip pentru orice depozit GitHub în partea dreaptă a paginii principale a depozitului:
Apoi, încărcați executabilul pe serverul dvs. cu SSH, rulând această comandă pe mașina dvs. locală:
Nota
Dacă rulați un sistem 9.x, adăugați un 9 înainte de.sh
scp PATH/TO/FILE/migrate2rocky.sh root@yourdomain.com:/home/
Ajustați toate căile de fișiere și domeniile serverului sau adresele IP după cum este necesar.
Modul în git
care
Instalați git
pe serverul dvs. cu:
dnf install git
Apoi clonează depozitul rocky-tools cu:
git clone https://github.com/rocky-linux/rocky-tools.git
Notă: Această metodă va descărca toate scripturile și fișierele din depozitul rocky-tools.
Calea ușoară
Acesta este probabil cel mai simplu mod de a obține scriptul. Aveți nevoie doar de un client HTTP adecvat ( , curl
și așa mai departe) instalat pe server.wget
lynx
Presupunând că aveți curl
utilitarul instalat, rulați următoarea comandă pentru a descărca scriptul în orice director pe care îl utilizați:
Nota
Dacă rulați un sistem 9.x, adăugați un 9 înainte de.sh
curl https://raw.githubusercontent.com/rocky-linux/rocky-tools/main/migrate2rocky/migrate2rocky.sh -o migrate2rocky.sh
Această comandă va descărca fișierul pe serverul dvs. și numai fișierul dorit. Dar din nou, preocupările de securitate sugerează că aceasta nu este neapărat cea mai bună practică, așa că rețineți asta.
Rularea scriptului și instalare
Utilizați cd
comanda pentru a comuta la directorul în care se află scriptul, asigurați-vă că fișierul este executabil și acordați permisiuni proprietarului fișierului script x.
Nota
În comenzile de mai jos, dacă rulați un sistem 9.x, adăugați un 9 înainte de.sh
chmod u+x migrate2rocky.sh
Și acum, în sfârșit, rulați scriptul:
./migrate2rocky.sh -r
Acea opțiune „-r” îi spune scriptului să continue și să instaleze totul. Dacă ați făcut totul corect, fereastra terminalului va arăta cam așa:
Acum, scriptul va dura ceva timp pentru a converti totul, în funcție de mașina reală și de conexiunea acesteia la internetul mai larg.
Dacă vedeți un Complete! mesaj la sfârșit, totul este în regulă și puteți reporni serverul.
Acordați-i ceva timp, conectați-vă din nou și ar trebui să aveți un nou server Rocky Linux. Rulați hostnamectl
comanda pentru a verifica dacă sistemul de operare a migrat corect.