Stații de lucru online OnWorks Linux și Windows

logo

Găzduire online gratuită pentru stații de lucru

<Înapoi | Cuprins | Următor>

8.3.1. Instalarea nucleului

Construirea nucleului implică câțiva pași — configurare, compilare și instalare. Citeste README fișier în arborele sursă al nucleului pentru metode alternative la modul în care această carte configurează nucleul.

Pregătiți-vă pentru compilare rulând următoarea comandă:


face mrproper

face mrproper


Acest lucru asigură că arborele nucleului este absolut curat. Echipa de kernel recomandă ca această comandă să fie lansată înainte de fiecare compilare a nucleului. Nu vă bazați pe arborele sursă să fie curat după decuplare.

Configurați nucleul printr-o interfață condusă de meniu. Pentru informații generale despre configurarea nucleului, consultați http://www. linuxfromscratch.org/hints/downloads/files/kernel-configuration.txt. BLFS are câteva informații cu privire la cerințele specifice de configurare a nucleului pentru pachetele din afara LFS la http://www.linuxfromscratch.org/blfs/view/9.0/longindex.html#kernel-config-index. Informații suplimentare despre configurarea și construirea nucleului pot fi găsite la http://www.kroah.com/lkn/


imagine

notițe

Un bun loc de pornire pentru configurarea nucleului este rularea face defconfig. Acest lucru va seta configurația de bază la o stare bună, care ia în considerare arhitectura actuală a sistemului.

Asigurați-vă că activați/dezactivați/setați următoarele caracteristici, altfel este posibil ca sistemul să nu funcționeze corect sau să nu pornească deloc:


Drivere de dispozitiv --->

Opțiuni generice de driver --->

[ ] Asistență pentru uevent helper [CONFIG_UEVENT_HELPER]

[*] Menține un sistem de fișiere devtmpfs pentru a fi montat la /dev [CONFIG_DEVTMPFS]


Hacking kernel --->

Alegeți derularea nucleului (derularea indicatorului de cadru) ---> [CONFIG_UNWINDE


Există câteva alte opțiuni care pot fi dorite în funcție de cerințele sistemului. Pentru o listă de opțiuni necesare pentru pachetele BLFS, consultați Indexul BLFS al setărilor kernelului (http://www.linuxfromscratch.org/blfs/view/9.0/longindex.html#kernel-config-index).


imagine

notițe

Dacă hardware-ul gazdă folosește UEFI, atunci „make defconfig” de mai sus ar trebui să adauge automat câteva opțiuni de kernel legate de EFI.

Pentru a permite pornirea nucleului dumneavoastră LFS din mediul de boot UEFI al gazdei dumneavoastră, nucleul dumneavoastră trebuie să aibă această opțiune selectată:


Tipul și caracteristicile procesorului

[*]

--->

[CONFIG_EFI_STUB]

Tipul și caracteristicile procesorului

[*]


Suport pentru stub EFI

Suport pentru stub EFI

O descriere mai completă a gestionării mediilor UEFI din cadrul LFS este acoperită de indiciu lfs-uefi.txt la

http://www.linuxfromscratch.org/hints/downloads/files/lfs-uefi.txt.


Motivul pentru elementele de configurare de mai sus:

Suport pentru asistentul uevent

Setarea acestei opțiuni poate interfera cu gestionarea dispozitivului atunci când utilizați Udev/Eudev.

Mențineți un devtmpfs

Acest lucru va crea noduri de dispozitiv automate care sunt populate de nucleu, chiar și fără a rula Udev. Udev rulează apoi pe deasupra, gestionând permisiunile și adăugând linkuri simbolice. Acest element de configurare este necesar pentru toți utilizatorii Udev/Eudev.


Face menuconfig

Face menuconfig

Semnificația variabilelor de mediu opționale make:

LANG= LC_ALL=

Aceasta stabilește setarea locală la cea utilizată pe gazdă. Acest lucru poate fi necesar pentru un desen corespunzător al interfeței menuconfig ncurses pe o consolă text Linux UTF-8.

Dacă este folosit, asigurați-vă că îl înlocuiți prin valoarea lui $LANG variabilă de la gazda dvs. Puteți utiliza alternativ valoarea gazdei de $LC_ALL or $LC_CTYPE.

Alternativ, face oldconfig poate fi mai potrivită în anumite situații. Vezi README fișier pentru mai multe informații.

Dacă doriți, săriți peste configurația nucleului prin copierea fișierului de configurare a nucleului, .config, de la sistemul gazdă (presupunând că este disponibil) la cel dezambalat linux-5.2.8 director. Cu toate acestea, nu recomandăm această opțiune. Este adesea mai bine să explorați toate meniurile de configurare și să creați configurația kernel-ului de la zero.

Compilați imaginea nucleului și modulele:


face

face

Dacă utilizați module kernel, configurarea modulelor în /etc/modprobe.d poate fi cerut. Informațiile referitoare la module și configurația nucleului se găsesc în Secțiunea 7.3, „Prezentare generală asupra gestionării dispozitivelor și modulelor” și în documentația nucleului din linux-5.2.8/Documentare director. De asemenea, modprobe.d(5) poate fi de interes.

Instalați modulele, dacă configurația nucleului le folosește:


face modules_install

face modules_install

După ce compilarea nucleului este completă, sunt necesari pași suplimentari pentru a finaliza instalarea. Unele fișiere trebuie copiate în / boot director.


Prudență

Dacă sistemul gazdă are o partiție /boot separată, fișierele copiate mai jos ar trebui să meargă acolo. Cel mai simplu mod de a face asta este să legați /boot pe gazdă (în afara chroot) la /mnt/lfs/boot înainte de a continua. Ca utilizator root în sistem gazdă:

Prudență

Dacă sistemul gazdă are o partiție /boot separată, fișierele copiate mai jos ar trebui să meargă acolo. Cel mai simplu mod de a face asta este să legați /boot pe gazdă (în afara chroot) la /mnt/lfs/boot înainte de a continua. Ca utilizator root în sistem gazdă:

imagine

mount --bind /boot /mnt/lfs/boot

mount --bind /boot /mnt/lfs/boot

Calea către imaginea nucleului poate varia în funcție de platforma utilizată. Numele fișierului de mai jos poate fi schimbat pentru a se potrivi gusturilor dvs., dar tulpina numelui fișierului ar trebui să fie vmlinuz pentru a fi compatibil cu setarea automată a procesului de pornire descris în secțiunea următoare. Următoarea comandă presupune o arhitectură x86:


cp -iv arch/x86/boot/bzImage /boot/vmlinuz-5.2.8-lfs-9.0

cp -iv arch/x86/boot/bzImage /boot/vmlinuz-5.2.8-lfs-9.0

System.map este un fișier simbol pentru kernel. Mapează punctele de intrare în funcție ale fiecărei funcții din API-ul nucleului, precum și adresele structurilor de date ale nucleului pentru nucleul care rulează. Este folosit ca resursă atunci când se investighează problemele nucleului. Lansați următoarea comandă pentru a instala fișierul hartă:


cp -iv System.map /boot/System.map-5.2.8

cp -iv System.map /boot/System.map-5.2.8

Fișierul de configurare a nucleului .config produs de Face menuconfig pasul de mai sus conține toate opțiunile de configurare pentru nucleul care tocmai a fost compilat. Este o idee bună să păstrați acest fișier pentru referințe viitoare:


cp -iv .config /boot/config-5.2.8

cp -iv .config /boot/config-5.2.8

Instalați documentația pentru nucleul Linux:


instalați -d /usr/share/doc/linux-5.2.8

cp -r Documentație/* /usr/share/doc/linux-5.2.8

instalați -d /usr/share/doc/linux-5.2.8

cp -r Documentație/* /usr/share/doc/linux-5.2.8

imagine

imagine

Este important să rețineți că fișierele din directorul sursă al nucleului nu sunt deținute de rădăcină. Ori de câte ori un pachet este despachetat ca utilizator rădăcină (așa cum am făcut în interiorul chroot), fișierele au ID-urile utilizatorului și grupului de orice au fost pe computerul pachetului. Aceasta nu este de obicei o problemă pentru orice alt pachet care urmează să fie instalat, deoarece arborele sursă este eliminat după instalare. Cu toate acestea, arborele sursă Linux este adesea păstrat pentru o lungă perioadă de timp. Din acest motiv, există șansa ca orice ID de utilizator folosit de ambalator să fie atribuit cuiva de pe computer. Acea persoană ar avea apoi acces de scriere la sursa kernelului.


notițe

În multe cazuri, configurația nucleului va trebui actualizată pentru pachetele care vor fi instalate ulterior în BLFS. Spre deosebire de alte pachete, nu este necesar să eliminați arborele sursă a nucleului după ce nucleul nou construit este instalat.

Dacă arborele sursă a nucleului va fi reținut, rulați chown -R 0:0 pe linux-5.2.8 director pentru a vă asigura că toate fișierele sunt deținute de utilizator rădăcină.

notițe

În multe cazuri, configurația nucleului va trebui actualizată pentru pachetele care vor fi instalate ulterior în BLFS. Spre deosebire de alte pachete, nu este necesar să eliminați arborele sursă a nucleului după ce nucleul nou construit este instalat.

Dacă arborele sursă a nucleului va fi reținut, rulați chown -R 0:0 pe linux-5.2.8 director pentru a vă asigura că toate fișierele sunt deținute de utilizator rădăcină.


avertizare

Unele documentații ale nucleului recomandă crearea unui link simbolic de la /usr/src/linux indicând către directorul sursă al nucleului. Acest lucru este specific nucleelor ​​anterioare seriei 2.6 și nu trebuie să fi creat pe un sistem LFS, deoarece poate cauza probleme pentru pachetele pe care doriți să le construiți odată ce sistemul dumneavoastră LFS de bază este complet.

avertizare

Unele documentații ale nucleului recomandă crearea unui link simbolic de la /usr/src/linux indicând către directorul sursă al nucleului. Acest lucru este specific nucleelor ​​anterioare seriei 2.6 și nu trebuie să fi creat pe un sistem LFS, deoarece poate cauza probleme pentru pachetele pe care doriți să le construiți odată ce sistemul dumneavoastră LFS de bază este complet.


avertizare

Anteturile din sistem include director (/ usr / include) ar trebui să mereu fie cele împotriva cărora a fost compilat Glibc, adică anteturile igienizate instalate în Secțiunea 6.7, „Linux-5.2.8 Anteturi API”. Prin urmare, ar trebui nu fi înlocuit fie de anteturile nucleului brut, fie de orice alte anteturi dezinfectate de nucleu.

avertizare

Anteturile din sistem include director (/ usr / include) ar trebui să mereu fie cele împotriva cărora a fost compilat Glibc, adică anteturile igienizate instalate în Secțiunea 6.7, „Linux-5.2.8 Anteturi API”. Prin urmare, ar trebui nu fi înlocuit fie de anteturile nucleului brut, fie de orice alte anteturi dezinfectate de nucleu.


imagine

Top OS Cloud Computing la OnWorks: