Cum am compilat kernel-ul pe mandriva

  1. Descărcarea surselor de kernel.
  2. Pregătirea directoarelor cu surse de kernel.
  3. Configurarea kernel-ului.
  4. Compilarea kernel-ului și instalarea modulelor.
  5. Mutarea nucleului.
  6. Configurarea și funcționarea lilo.
  7. Configurarea și executarea Grub.

Pentru asamblarea și compilarea normală a kernel-ului, trebuie să efectuați toți pașii în ordine.







2. Pregătirea directoarelor cu codul sursă al kernelului.

Pentru a începe să compilați un nou kernel, executați comanda:

În această etapă, va trebui să selectați opțiunile care vor fi folosite în noul
core. Nu este necesar să se scufunde detaliile masei de opțiuni. În cele mai multe dintre ele
puteți utiliza setările implicite.

Există trei metode pentru crearea fișierului de configurare utilizat în ansamblu
kernel nou:

  1. face config
  2. face menuconfig
  3. face xconfig

a face config este cel mai simplu pas-cu-pas scenariu.

a face menuconfig este o metodă mai convenabilă (necesită prezența ncurses).

a face xconfig este un utilitar grafic pentru configurarea kernel-ului. Înainte de ea
Trebuie să mergeți la mediul X Window.

Pentru fiecare opțiune prezentată există 3 setări: y, m, n.
y (da) - Include sau încorporează o opțiune în kernel.
m (modul) - Creează pentru opțiunea selectată un mod încărcat în modul dinamic
modul (fără reboot'a). Nu există pentru toate opțiunile.
n (nu) - Dezactivează opțiunea de opțiune.

Pentru a utiliza un configurator bazat pe X, sistemul trebuie instalat
TCL / TK bibliotecă.

4. Compilarea kernel-ului și instalarea modulelor.

La rândul său, această etapă este împărțită în pași:
1 Pregătire

-> face dep
-> face curat

2 Asamblarea directă a kernel-ului

-> face bzImage | bzdisk | bzlilo
3 Asamblarea și instalarea modulelor

-> face module
-> face modules_install
Primul dintre ele - a face depunere și de a face curat - este un tip de pregătire. după
executând make dep crează fișiere de dependență (.depend) care sunt localizate
în fiecare dintre subdirectoarele arborelui sursă. Dacă nu există încălcări în locație
componente ale copacului, atunci procesul va trece în liniște. Apoi, utilizați comanda
face curat, ceea ce va elimina toate fișierele suplimentare (auxiliare) create din
procesele anterioare de compilare.







Apoi vine un pas în care trebuie să construiți direct nucleul. Pentru asamblare
kernel-ul va trebui să aleagă una din cele 3 comenzi: face bzImage, face bzdisk sau face
bzlilo. Fiecare dintre comenzi execută practic aceeași operație, numai
Ultimele două realizează o acțiune suplimentară.

Să aruncăm o privire mai atentă la fiecare comandă:

bzImage este o operație standard care se compilează numai
nucleul. Dacă totul a mers fără probleme, atunci nucleul a fost creat ca urmare a compilației
va fi localizat în directorul / usr / src / linux / arch / i386 / boot. În acest caz, kernel-ul
este dat numele bzImage. Managerul de boot lilo | grub trebuie să găsească acest kernel și
descărcați-l. Pentru aceasta, copiați fișierul bzImage și executați comanda
lilo pentru reinstalarea managerului de descărcări.

Al treilea pas este construirea și instalarea modulelor de kernel.

După construirea completă, trebuie să instalați atât nucleul, cât și
și fișierul său de hartă în directorul în care va fi localizat permanent (/ boot).
Copiați (sau mutați) fișierul System.map în / boot adăugând numărul versiunii
kernels la sfârșitul liniei:

cp System.map /boot/System.map-2.X.X

Apoi, în același mod copiați (sau mutați) și miezul în sine:

cp arh / i386 / boot / bzImage /boot/bzImage-2.X.X
Când nucleul și fișierul de hartă se află în noul loc de reședință, veți fi lăsați
efectuați numai două acțiuni scurte, după care puteți reporni
deja cu un nou kernel (sau cu cel vechi, dacă există probleme =)).

vechi lilo.conf, ultimele 6 linii)

image = / boot /<Уже стоящее в системе ядро>
lable = linux
root = / dev / hda1
vga = 274
read-only
append = "debug = 2 noapic nosmp"
Pokotsano (Modificat lilo.conf cu)

image = / boot /<Уже стоящее в системе ядро>
lable = linux.orig
root = / dev / hda1
vga = 274
read-only
append = "debug = 2 noapic nosmp"
image = / boot /<Новое ядро>
lable = linux
root = / dev / hda1
vga = 274
read-only
append = "debug = 2 noapic nosmp"
Acordați atenție la lable = linux.orig (acesta este semnul vechiului kernel).
După configurarea fișierului /etc/lilo.conf, ar trebui să actualizați dispecerul
boot inițial de sistem. Pentru aceasta, executați următoarele comenzi:

# lilo
Adăugat linux *
Adăugat linux.orig
Asta e tot. Dacă totul a mers bine, atunci este timpul să reporniți sistemul.
Dacă noul kernel face ca sistemul să funcționeze incorect
timpul de încărcare, atunci puteți utiliza kernel-ul sursă. Pentru a descărca
sistem, trebuie să introduceți un nume pentru imaginea de boot dorită. Pentru a deduce
Pentru a afișa o listă de etichete disponibile, apăsați butonul .

Înregistrăm noul config de kernel (/boot/grub/menu.lst)

linux 2.6.28
nucleu (hd0,4) /boot/bzImage-2.6.28 BOOT_IMAGE = linux_2.6.28 root = / dev / hda5 CV = / dev / hda1 splash = vga tăcut = 788
initrd (hd0,4) /boot/initrd-2.6.28.img

deoarece fără initrd, nu am început, o creăm așa:

/ sbin / mkinitrd /boot/initrd-2.x.xx.img 2.x.xx

Acum puteți reporni și încărca un nou kernel.
toate ... Sper că toate cele de mai sus în articol vă vor ajuta într-un fel ...

Conform acestor instrucțiuni pentru a actualiza kernel-ul pe CentOS 5.5, dar descărcarea trădată, care nu se poate monta / dev / rădăcină (mount: nu a putut găsi sistemul de fișiere „/ dev / root“)

în opțiunea de configurare







Articole similare

Trimiteți-le prietenilor: