Kako kompajlirati kernel 2.6.36.2 u Ubuntuu sa zakrpom od 200 linija

Čini se da su mnogi od vas imali problema s instaliranjem Kernel predkompajliran sa zakrpom od 200 linija na vašim mašinama je to za očekivati, pa je uvijek najbolje imati a Kernel direktno kompajliran u našoj mašini nego u stranoj mašini, tako da ispravno uzima arhitekturu naše mašine i opću konfiguraciju hardvera.

Iz tog razloga, ovdje podučavam najsmjelije, kako kompajlirati vlastiti Kernel (2.6.36.2) u Ubuntuu (testiran u Ubuntu 10.10) sa zakrpom od 200 linija koja je uključena u njega. Imajte na umu da ovaj postupak treba izvesti na vlastiti rizik, zahtijeva velik broj paketa za preuzimanje i prilično dugo vrijeme kompilacije.

Za početak, prvo što moramo učiniti je instalirati potrebne zavisnosti za kompilaciju kernela izvršavanjem sljedeće linije u terminalu:

sudo apt-get instalacija fakeroot gradnja-bitan pad Kexec-alati makedumpfile kernel-wedge kernel-paket

Izvršimo sada sljedeći redak u terminalu, koji je potreban za kompajliranje kernela (iz Neustrašiv)

sudo apt-get build-dep linux

Ovaj prvi korak završavamo instalacijom ostalih paketa neophodnih za kompilaciju

sudo apt-get instalacija libncurses5 libncurses5-dev libelf-dev asciidoc binutils-dev

Da bismo nastavili s postupkom instalacije kernela, moramo preuzeti izvore najnovijeg stabilnog kernela (2.6.36.2) i zakrpu Mike galbraith i pronađite ih u našem osobnom imeniku.
Stvorimo direktorij za kompilaciju kernela, idemo u njega i preuzmemo izvore kernela kernel.org:

mkdir kernel-2.6.36.2 cd kernel-2.6.36.2 wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.36.2.tar.gz

Sada kreiramo novu tekstualnu datoteku i kopirat ćemo kod koji ćemo naći u postu Mikea Galbraitha ili ga možemo preuzeti s MediaFire-a, spremiti i zatvoriti datoteku:

gedit ~ / autogroup.patch

Službena poruka Mikea Galbraitha
Mike Galbraith Patch iz MediaFire-a

Sada ćemo raspakirati kernel koji smo upravo preuzeli kernel.org:

tar xzvf linux-2.6.36.2.tar.gz cd linux-2.6.36.2 zakrpa -p1 <~ / autogroup.patch

U ovom trenutku sve bi trebalo ići dobro i bez grešaka, u slučaju greške potrebno je ponovo pokrenuti postupak.
Dalje ćemo učitati trenutnu konfiguraciju jezgre, i to tako da nova jezgra preuzme konfiguraciju izravno iz našeg sistema i nemamo problema pri kompajliranju. Bez obzira na to, ako imate dovoljno znanja, možete prilagoditi konfiguraciju jezgre da biste dobili sistem prilagođeniji vašim potrebama, možete.

Ako ne znate što radite, bolje je ne ručno mijenjati konfiguraciju jezgre.

Kopiramo konfiguraciju izvršavanjem sljedeće naredbe u terminalu i kasnije izvršavamo

lsmod

tako da se izvršavaju svi moduli učitani u našem sustavu i osiguravamo da sav naš hardver bude prepoznat.

cp -vi / boot / config-`uname -r` .config napravi localmodconfig

U ovom trenutku postupak kompilacije postavit će vam nekoliko pitanja o modulima, a nastavite prihvaćati sva pitanja koja se postavljaju pritiskom ući dok se postupak postavljanja ne dovrši.
Nastavljamo kompilaciju kernela izvođenjem sljedećeg retka u terminalu da otvorimo meni za konfiguraciju kernela:

cp / boot / config - $ (uname -r) .config && da "" | make oldconfig napravi meniconfig

Sada možemo odabrati zakrpe koje želimo omogućiti u našoj jezgri, jer nas zanima zakrpa od 200 linija.
Da bismo to učinili, krećemo se kroz izbornik konfiguracije jezgre koji se pojavi, do

General Setup

i tražimo liniju s imenom

Automatic process group scheduling

, omogućujemo pritiskom na razmaknicu na našoj tipkovnici, pozicioniramo se na opciju

Exit

pomoću tipki sa strelicama na tipkovnici i pritisnite tipku ući sa naše tastature za izlazak iz menija

General Setup

.

Konfiguracija Linux kernela - Opće postavke

Konfiguracija Linux kernela - automatsko planiranje grupa procesa

Sada idemo na meni

Kernel hacking

i ulazimo pritiskom na tipku ući, tražimo opciju

Compile the kernel with debug info

i poništavamo odabir pritiskom na razmaknicu na našoj tipkovnici, opet idemo na opciju

Exit

i pritisnemo ući za izlaz iz glavnog menija.

Konfiguracija Linux kernela - hakiranje kernela

Konfiguracija Linux kernela - Ne Kompajlirajte kernel s informacijama o otklanjanju pogrešaka

Završili smo konfiguraciju jezgre, pa se samo moramo vratiti na

Exit

u glavnom meniju i pritisnite ući da završite konfiguraciju jezgre. Prihvaćamo kada nas pita želimo li spremiti promjene izvršene u konfiguraciji jezgre pritiskom na Enter na opciji Da.

Sada da, kompajlirat ćemo kernel izvršavanjem sljedećeg retka u terminalu:

fakeroot make-kpkg --initrd --append-to-version = -20101209 kernel-image kernel-headers

Imajte na umu da se postupak izrade može razlikovati ovisno o vašem hardveru

Ovo će generirati dva .deb paketa unutar direktorija kernel-2.6.36.2, koje ćemo koristiti za instaliranje novog kernela u naš Ubuntu omogućavajući im da ih može pratiti Synaptic i lako se uklanja.

Došli smo do završnog dijela ovog vodiča, gdje ćemo instalirati i testirati ispravno funkcioniranje novog kernela koji smo upravo instalirali.

Da bismo instalirali dva .deb paketa koja smo upravo generirali, moramo izvršiti sljedeću naredbu u terminalu:

cd .. sudo dpkg -i * .deb

Ako je sve prošlo u redu, ponovo smo pokrenuli naš stroj i na listi Grub, odabiremo novu jezgru (2.6.36.2) i pritisnemo ući za pokretanje sistema.
Kada se vratimo na radnu površinu, provjerit ćemo je li ispravka od 200 linija ispravno primijenjena i funkcionira izvršavanjem sljedeće linije u terminalu:

mačka /usr/src/linux-headers-2.6.36.2-20101219/.config | grep -i AUTOGROUP

I mora vratiti ovakav redak:

CONFIG_SCHED_AUTOGROUP = y

Ako je tako, naš sustav je pokrenut s njim. Kernel 2.36.6.2 y el "Automatsko zakazivanje grupa procesa" aktivirano.
Ubuntu 10.10 Maverick Meerkat s jezgrom 2.6.36.2 i automatskim zakazivanjem grupa procesa

Već sada možemo maksimalno naglasiti Ubuntu ...

Ovaj priručnik dolazi vam zahvaljujući trudu FRANCOBEP.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   horace rekao je

    Zdravo Davide

    moje pitanje je:

    Obično koristim jezgre ubuntu ppa (https://launchpad.net/~kernel-ppa/+archive/ppa)

    Oni više ne dolaze s uključenim zakrpom od 200 linija?

    hvala

    1.    David gomez rekao je

      Vidite, još uvijek provjeravam ima li Ubuntu PPA kernel uključenu zakrpu, ali to je lako saznati sami, samo pokrenite naredbu cat /usr/src/[versión del último kernel]/.config | grep -i AUTOGROUP, gdje biste promijenili tekst u zagradama za verziju najnovijeg jezgra na vašem računaru.

      Ako dobijete ovakvu poruku odgovora CONFIG_SCHED_AUTOGROUP=y, onda imate instaliranu zakrpu.

      Napomena: da biste znali verziju svih kernela instaliranih na vašem računaru, samo morate izvršiti naredbu ls /usr/src/ U terminalu.

    2.    David gomez rekao je

      Horacio, Ubuntu PPA kernel trenutno ima V4 zakrpu od Mike glabraith po njegovim riječima Tim gardner (Kanonski programer).

      Nosimo V4 zakrpe auto-cgroup Mikea Galbraitha od 2.6.37-6.16, ali očekujem da će se to promijeniti u korist uzvodnog vrha dok idemo naprijed u prozor spajanja 2.6.38.

      sched: automatizirane grupe zadataka po sesiji V4

      rtg

      -
      Tim gardner

  2.   kanito rekao je

    Pa, već sam ga kompajlirao i instaliran je,…. barem sistem sada nije umro da bi radio kako bi vidio kako funkcionira

  3.   Irving rekao je

    Odličan vodič. Slijedio sam korake do pisma i sve je funkcioniralo savršeno. Imam svoj novi kernel.

    Napomena: Napravio sam samo jednu promjenu koja mi je zvučala logično i bila je ovdje:

    cp -vi / boot / config-`uname -r` .config
    napravite localmodconfig

    Učinio sam to ovako:

    cp -vi / boot / config-`uname -r` .config
    lsmod
    napravite localmodconfig

  4.   kanito rekao je

    sada shvaćam da sam napravio malu grešku pa ću je ponovo instalirati ... i dodati irving modifikaciju : mrgreen:

  5.   sergio rekao je

    Ostajem na početku:
    init: nepročitani glavni proces (362) završen statusom 5
    Pa čini se da dobro funkcionira, što bi to moglo biti ??? '

  6.   Brian rekao je

    Pa vrlo dobar priručnik, objavili su ga i na taringa, u ovom trenutku on kompajlira kernel Nadam se da je dobro prošao. Samo sam promijenio tip procesora u menijuconfig. Nadam se da ste dobro odabrali odabirom Intelove jezgre / novije xeon, jer imam Intel core i3 procesor, pozdrav i hvala na unosu

  7.   thedemon007 rekao je

    Pozdrav, pa, naredba mi se čini boljom

    cp / boot / config-`uname –kernel-release` ./.config

    jer koristi najnoviju instaliranu konfiguraciju jezgra

  8.   Darkwolf22 rekao je

    Zdravo, kako ste? Samo malo sumnjam ... u datoteci jezgra dolaze i 32-bitna i 64-bitna verzija? ili da bih dobio verziju amd64, trebam li preuzeti drugu? ... Prema odbitku, obje verzije bi trebale doći u isto pravo? ... vrlo dobro objašnjenje!

    Hvala!