Č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
.
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.
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.
Već sada možemo maksimalno naglasiti Ubuntu ...
Ovaj priručnik dolazi vam zahvaljujući trudu FRANCOBEP.
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
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.Horacio, Ubuntu PPA kernel trenutno ima V4 zakrpu od Mike glabraith po njegovim riječima Tim gardner (Kanonski programer).
Pa, već sam ga kompajlirao i instaliran je,…. barem sistem sada nije umro da bi radio kako bi vidio kako funkcionira
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
sada shvaćam da sam napravio malu grešku pa ću je ponovo instalirati ... i dodati irving modifikaciju
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 ??? '
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
Pozdrav, pa, naredba mi se čini boljom
cp / boot / config-`uname –kernel-release` ./.config
jer koristi najnoviju instaliranu konfiguraciju jezgra
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!