Am pus kernelul 2.6, sau fizica nucleară pentru gospodină.
Descărcați arhiva tar.bz2 - este mai mică. Numele fișierului ar trebui să fie ceva de genul acesta - linux-2.6.0.tar.bz2. dimensiunea fișierului aproximativ 33 MB. Descărcați întotdeauna ultimul nucleu stabil.
Dacă aveți deja un kernel 2.6.0. și aveți nevoie pentru a pune exemplul 2.6.2, nu este necesar pentru a pompa peste 33 MB, puteți pompa patch-uri [numite, de asemenea, mai multe „patch-uri“, dar să spunem în limba rusă] și să actualizeze sursa kernel-ului la cea mai recentă versiune. În acest caz, aveți nevoie pentru a pompa toate patch-uri în versiunea numerică de la versiunea dvs. la cele mai recente. În acest exemplu, acestea sunt legăturile 2.6.1 și 2.6.2. Fișierele patch-urilor sunt numite astfel - patch-2.6.1.bz2. Este posibil să nu fie pe pagina principală. Căutați-le pe serverul ftp.
În plus față de kernel în sine, s-ar putea să fie nevoie să descărcați alte patch-uri care extind capabilitățile kernel-ului. De exemplu, în kernelul 2.6 nu există suport pentru lirc (telecomenzi). Pentru ca acest suport să fie disponibil, trebuie să se aplice un patch corespunzător kernel-ului.
De exemplu, luați aceste patch-uri:
Pentru a descărca un patch este mai bine pentru acea versiune a unui kernel pe care doriți să o livrați, dacă nu este prezentă, este posibilă descărcarea pentru cele mai recente disponibile. În acest caz, există posibilitatea ca plasturele să nu fie livrat. Și probabilitatea acestui lucru este mai mare, cu atât mai mare este diferența în versiunile kernel-ului. Să presupunem că am pus kernelul 2.6.1 și am primit astfel de fișiere
Bine. Acum pregătiți dosarul în care vom compila nucleul. În Linux pentru asamblare din surse există un director special / usr / src. Cu toate acestea, în mod implicit, este interzis să scrieți unui utilizator obișnuit, astfel încât să ne acordăm mai întâi drepturi. Cea mai ușoară cale este să porniți consola, să obțineți autoritatea rădăcină și să folosiți comanda chmod pentru a permite întreaga înregistrare.
[mike @ localhost mike] $ su -
Parola:
[rădăcină root @ localhost] # chmod a + w / usr / src
[root @ localhost] #
Copiați sursele kernel-ului (linux-2.6.0.tar.bz2) în directorul / usr / src
A fost obținut directorul linux-2.6.0. Redenumiți-o, de exemplu, la linux-2.6.1-my
Copiem toate patch-urile de acolo și trecem la următorul articol.
2. Punerea plasturelui
Mai întâi, despachetați patch-urile ambalate. MC pentru fișierul, F2 apăsați și apoi „y“ (pentru .gz fișier) sau „b“ (pentru arhiva .bz2). În gentoo, selectați toate fișierele, faceți clic dreapta pe Acțiuni-Despachetați.
Acum, de fapt, despre instalarea de patch-uri. Mai întâi, am pus un marcaj pentru a actualiza versiunea kernel-ului (patch-2.6.1), apoi restul. În managerul de fișiere Gentoo pentru instalare, puteți să faceți clic dreapta și să selectați Acțiuni-Suprapunere. În consola, trebuie să dați următoarea comandă
În exemplul nostru, va arăta astfel
[mike @ localhost linux-2.6.1-my] $ patch -p1 -i patch-2.6.1
ștergerea fișierului CREDITS
patching fișier Documentație / Modificări
patching fișier Documentație / DocBook / kernel-locking.tmpl
.
patching fișierul sunet / sound_core.c
patching fișierul sunet / usb / usbaudio.h
patching fișierul usr / gen_init_cpio.c
[Mike @ localhost linux-2.6.1-mea] $ plasture -p1 bootsplash-3.1.3-2.6.0 -i-test9.diff
patching driver-ele de fișiere / char / keyboard.c
Numărul 1 a reușit la 1052 (7 linii compensate).
patching driver-ele de fișiere / char / n_tty.c
patching driver-ele de fișiere / char / vt.c
patching driverele de fișiere / video / Kconfig
patching driverele de fișiere / video / Makefile
patching driverele de fișiere / video / bootsplash / Kconfig
patching driver-ele de fișiere / video / bootsplash / Makefile
patching driverele de fișiere / video / bootsplash / bootsplash.c
patching driverele de fișiere / video / bootsplash / bootsplash.h
patching driverele de fișiere / video / bootsplash / decode-jpg.c
patching driverele de fișiere / video / bootsplash / decode-jpg.h
patching driverele de fișiere / video / bootsplash / render.c
patching driverele de fișiere / video / console / fbcon.c
patching driverele de fișiere / video / console / fbcon.h
patching driver-e de fișiere / video / vesafb.c
fișierul de copiere include / linux / console_struct.h
fișierul de copiere include / linux / fb.h
patching fișierul kernel / panic.c
[Mike @ localhost linux-2.6.1-mea] $ patch--p1 Kernel-Win4Lin3-2.6.0.patch -i
patching fișierul kernel / exit.c
Hunk # 2 a reușit la 772 (8 linii offset).
patching fișierul kernel / fork.c
Hunk # 1 a reușit la 896 (a compensat 34 de linii).
patching fișierul kernel / sched.c
Hunk # 3 a reușit la 827 (a compensat 1 rând).
copierea fișierului mm / vmscan.c
patching fișier arc / i386 / Kconfig
Hunk # 1 a reușit la 1167 (offset 43 lines).
patching fișier arc / i386 / kernel / apm.c
patching fișier arc / i386 / kernel / cpu / common.c
patching fișier arc / i386 / kernel / entry.S
patching fișier arc / i386 / kernel / head.S
patching fișier arc / i386 / kernel / process.c
patching fișier arc / i386 / kernel / signal.c
patching fișier arc / i386 / kernel / vm86.c
patching fișier arc / i386 / Makefile
patching fișier arc / i386 / mki / Makefile
patching fișier arc / i386 / mki / mki.c
patching fișier arc / i386 / mm / fault.c
fișierul de copiere include / asm-i386 / desc.h
fișierul de copiere include / asm-i386 / mki.h
fișierul de copiere include / asm-i386 / mkiversion.h
fișierul de copiere include / asm-i386 / segment.h
fișierul de copiere include / asm-i386 / thread_info.h
fișierul de copiere include / linux / init_task.h
fișierul de copiere include / linux / sched.h
Hunk # 1 a reușit la 463 (decalate -1 linii).
[Mike @ localhost linux-2.6.1-mea] $ plasture -p1 MKI-adapter26_1_3_3.patch -i
patching fișier arc / i386 / Makefile
patching fișier arc / i386 / mki-adapter26 / LICENȚĂ
patching fișier arc / i386 / mki-adapter26 / Makefile
patching fișier arc / i386 / mki-adapter26 / mki26.c
patching fișier arc / i386 / mki-adapter26 / mki-adapter26.h
patching fișier arc / i386 / mki-adapter26 / mkifunc.h
patching fișier arc / i386 / mki-adapter26 / mki-main.c
patching fișier arc / i386 / mki-adapter26 / mkivnet.c
patching fișier arc / i386 / mki-adapter26 / README
patching fișier arc / i386 / mki-adapter26 / timer.c
patching fișier arc / i386 / mki-adapter26 / vneteth.h
patching fișier arc / i386 / mki-adapter26 / vnetint-pub.h
Observați ieșirea comenzii patch-ului
Dacă patch-ul este ideal pentru kernel, atunci ieșirea ar trebui să fie doar un fișier de patch-uri. . Dacă vedeți linia Hunk # 1 reușită la. acest lucru înseamnă că plasturele este suprapus cu succes, dar locația stratului suprapus este deplasată cu un număr de linii. Dacă vedeți cuvântul "Eșuat" - înseamnă că plasturele nu se potrivește, trebuie să căutați unul mai potrivit. În acest caz, este mai bine să ștergeți directorul nostru /usr/src/linux-2.6.1- și să începeți din nou.
Deci, sursele de kernel sunt gata și așteaptă să le compileze.
3 Compilați
3.1 Pregătirea
În acest fel puteți descărca grafice, dar nu puteți juca jocuri cu acest driver. Pentru a returna totul așa cum a fost înainte de experimentele noastre, găsiți pachetele de discuri de instalare (numărul versiunii poate fi diferit)
NVIDIA_GLX-1.0-4363asp.i386.rpm
și unul dintre
NVIDIA_kernel-2.4.20-9asp.i686.rpm
NVIDIA_kernel-2.4.20-9asp.athlon.rpm
în funcție de kernelul pe care l-ați instalat. Pachete, puneți comanda
Nu uitați să reparați fișierul / etc / X11 / XF86Config
mulțumesc
Mulțumesc tuturor celor care m-au susținut, m-au ajutat să corectez greșelile: