Zdá sa, že mnohí z vás mali problém s inštaláciou Jadro je predkompilované s opravou 200 riadkov na vašich strojoch sa to dá očakávať, takže je vždy lepšie mať a jadro priamo zostavený v našom stroji ako v cudzom stroji, aby správne prevzal architektúru nášho stroja a všeobecnú konfiguráciu hardvéru.
Z tohto dôvodu tu učím najodvážnejšie, ako zostaviť vlastné jadro (2.6.36.2) v Ubuntu (testované v Ubuntu 10.10) s 200-riadkovou záplatou, ktorá je v nej zahrnutá. Pamätajte, že tento proces by ste mali robiť na svoje vlastné riziko, vyžaduje si veľké množstvo balíkov na stiahnutie a pomerne dlhý čas na kompiláciu.
Prvá vec, ktorú musíme urobiť, je nainštalovať potrebné závislosti pre kompiláciu jadra vykonaním nasledujúceho riadku v termináli:
sudo apt-get install fakeroot build-essential zlyhanie kexec-tools makedumpfile kernel-wedge kernel-package
Teraz urobme v termináli nasledujúci riadok, ktorý je potrebný na zostavenie jadra (z neohrozený)
sudo apt-get build-dep linux
Tento prvý krok dokončíme inštaláciou ďalších balíkov potrebných na kompiláciu
sudo apt-get nainštalovať libncurses5 libncurses5-dev libelf-dev asciidoc binutils-dev
Aby sme mohli pokračovať v procese inštalácie jadra, musíme si stiahnuť zdroje najnovšieho stabilného jadra (2.6.36.2) a opravu Mike galbraith a vyhľadajte ich v našom osobnom adresári.
Vytvorme adresár pre kompiláciu jadra, lokalizujeme sa v ňom a stiahneme si zdroje jadra 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
Teraz vytvoríme nový textový súbor a skopírujeme kód, ktorý nájdeme v príspevku Mika Galbraitha, alebo si ho môžeme stiahnuť z MediaFire, súbor uložiť a zavrieť:
gedit ~ / autogroup.patch
Oficiálny príspevok Mika Galbraitha
Mike Galbraith Patch z MediaFire
Teraz rozbalíme jadro, z ktorého sme si práve stiahli kernel.org:
tar xzvf linux-2.6.36.2.tar.gz cd linux-2.6.36.2 patch -p1 <~ / autogroup.patch
V tomto okamihu by malo ísť všetko dobre a bez chýb, v prípade chyby je potrebné proces reštartovať.
Ďalej načítame aktuálnu konfiguráciu jadra, aby nové jadro prevzalo konfiguráciu priamo z nášho systému a aby sme pri jej zostavovaní nemali problém. Aj napriek tomu, ak máte dostatok vedomostí, môžete prispôsobiť konfiguráciu jadra tak, aby ste získali systém šitý na mieru vašim potrebám, môžete.
Ak neviete, čo robíte, je lepšie neupravovať konfiguráciu jadra manuálne.
Konfiguráciu skopírujeme vykonaním nasledujúceho príkazu v termináli a neskôr vykonáme
lsmod
aby sa vykonali všetky moduly načítané v našom systéme a zaistili sme, aby bol rozpoznaný všetok náš hardvér.
cp -vi / boot / config-`uname -r` .config urobí localmodconfig
V tomto okamihu vám proces kompilácie položí niekoľko otázok týkajúcich sa modulov, pričom naďalej prijíma všetky otázky, ktoré sú položené, stlačením vstúpiť kým nebude proces nastavenia dokončený.
V kompilácii jadra pokračujeme nasledujúcim riadkom v termináli, ktorým otvoríme ponuku konfigurácie jadra:
cp / boot / config - $ (uname -r) .config && yes "" | urobiť oldconfig urobiť menuconfig
Teraz si môžeme vybrať opravy, ktoré chceme povoliť v našom jadre, pretože nás zaujíma 200-riadková oprava.
Aby sme to dosiahli, prechádzame cez zobrazené konfiguračné menu jadra, kým
General Setup
a hľadáme riadok s menom
Automatic process group scheduling
, povolíme to stlačením medzerníka na našej klávesnici, umiestnime sa na voľbu
Exit
pomocou klávesov so šípkami na klávesnici a stlačte kláves vstúpiť z našej klávesnice opustíte ponuku
General Setup
.
Teraz prechádzame do ponuky
Kernel hacking
a vstúpime stlačením klávesu vstúpiť, hľadáme možnosť
Compile the kernel with debug info
a zrušíme jeho výber stlačením medzerníka na našej klávesnici, opäť prejdeme na túto možnosť
Exit
a stlačíme vstúpiť opustíte hlavné menu.
Dokončili sme konfiguráciu jadra, takže sa musíme vrátiť iba k
Exit
v hlavnom menu a stlačte vstúpiť dokončiť konfiguráciu jadra. Akceptujeme, keď sa nás program opýta, či chceme uložiť zmeny vykonané v konfigurácii jadra stlačením klávesu Enter pri možnosti Áno.
Teraz áno, ideme kompilovať jadro vykonaním nasledujúceho riadku v termináli:
fakeroot make-kpkg --initrd --append-to-version = -20101209 kernel-image hlavičky jadra
Upozorňujeme, že proces zostavovania sa môže líšiť v závislosti od hardvéru
Toto vygeneruje dva balíčky .deb v adresári kernel-2.6.36.2, ktoré použijeme na inštaláciu nového jadra v našom Ubuntu, aby ich bolo možné sledovať Synaptic a ľahko odnímateľný.
Dostávame sa k záverečnej časti tohto tutoriálu, kde sa chystáme nainštalovať a otestovať správne fungovanie nového jadra, ktoré sme práve nainštalovali.
Ak chcete nainštalovať dva balíčky .deb, ktoré sme práve vygenerovali, musíme v termináli vykonať nasledujúci príkaz:
cd .. sudo dpkg -i * .deb
Ak všetko prebehlo dobre, reštartovali sme náš stroj a v zozname bašta, vyberieme nové jadro (2.6.36.2) a stlačíme vstúpiť na naštartovanie systému.
Keď sme späť na pracovnej ploche, overíme, či je 200-riadková oprava správne použitá a funkčná, a to vykonaním nasledujúceho riadku v termináli:
mačka /usr/src/linux-headers-2.6.36.2-20101219/.config | grep -i AUTOGROUP
A musí vrátiť taký riadok:
CONFIG_SCHED_AUTOGROUP = r
Ak je to tak, máme spustený náš systém. Jadro 2.36.6.2 a „Automatické plánovanie skupiny procesov“ aktivovaný.
Už teraz môžeme Ubuntu maximálne zdôrazniť ...
Táto príručka vám príde vďaka úsiliu FRANCOBEP.
Ahoj david
moja otazka je:
Zvyčajne používam jadrá ubuntu ppa (https://launchpad.net/~kernel-ppa/+archive/ppa)
Tieto už nie sú súčasťou 200-řádkovej opravy?
vďaka
Vidím, stále kontrolujem, či má jadro Ubuntu PPA zahrnutú opravu, ale je ľahké to zistiť sami, stačí spustiť príkaz
cat /usr/src/[versión del último kernel]/.config | grep -i AUTOGROUP
, kde by ste zmenili text v zátvorkách pre verziu najnovšieho jadra na vašom počítači.Ak dostanete takúto odpoveď
CONFIG_SCHED_AUTOGROUP=y
, potom máte nainštalovanú opravu.Poznámka: Ak chcete poznať verziu všetkých jadier nainštalovaných v počítači, stačí vykonať príkaz
ls /usr/src/
V termináli.Horacio, jadro PPA Ubuntu má v súčasnosti patch V4 Mike glabraith slovami seba samého Tim gardner (Kanonický vývojár).
Už som to skompiloval a je nainštalované ... aspoň systém teraz nezomrel, aby sme zistili, ako funguje
Vynikajúci návod. Postupoval som podľa krokov do bodky a všetko fungovalo perfektne. Mám svoje nové jadro.
Poznámka: Urobil som iba jednu zmenu, ktorá mi znela logicky, a bola tu:
cp -vi / boot / config-`uname -r` .config
vytvoriť localmodconfig
Urobil som to takto:
cp -vi / boot / config-`uname -r` .config
lsmod
vytvoriť localmodconfig
teraz si uvedomujem, že som urobil malú chybu, takže ju znova nainštalujem ... a pridám irvingovú úpravu
Zostávam na začiatku a:
init: neprečítaný hlavný proces (362) ukončený stavom 5
Zdá sa, že to funguje dobre, čo by to mohlo byť ??? “
Príručka veľmi dobrá, zverejnili ju aj na taringa, v tejto chvíli kompiluje jadro Dúfam, že to dobre dopadlo. Stačí zmeniť typ procesora v menuconfig Dúfam, že ste si vybrali dobre výberom Intel Core / xeon kedze mam procesor Intel Core i3, zdravim a dakujem za vstup
Dobrý deň, dobre, príkaz sa mi zdá lepší
cp / boot / config-`uname –kernel-release` ./.config
pretože používa najnovšiu nainštalovanú konfiguráciu jadra
Ahoj, ako sa máš? Mám len malú pochybnosť ... v súbore jadra je 32-bitová aj 64-bitová verzia? alebo aby som získal verziu amd64, musím si stiahnuť inú? ... Odpočítaním by mali mať obe verzie rovnaké právo? ... veľmi dobré vysvetlenie!
Vďaka!