Debian fórum

Tipy, triky, návody - pouze návody, nevkládat dotazy! => Správa, údržba a nastavení systému => Téma založeno: Roman Horník 21. 08. 2010, 00:53:05

Název: ▶ Kompilace jádra - podrobný návod (pro 2.6.x, 3.x, 4.x, 5.x) [Aktualizováno]
Přispěvatel: Roman Horník 21. 08. 2010, 00:53:05
Děvčátka a chlapci,

níže naleznete dostatečně podrobný návod, jak si zkompilovat vlastní jádro. Konfigurací a kompilací jádra lze do jisté míry měnit jeho vlastnosti, povolit funkce, které nejsou v distribučním jádru povoleny, upravit jejich chování a zakázat ty, které nepotřebujete, včetně tisíců ovladačů, pro vás jistě zbytečných. Tak lze jádro výrazně zmenšit, aby mělo co nejmenší dopad na systémovou paměť, může mít například jen čtvrtinovou velikost oproti jádru distribučnímu, přičemž o nic nepřijdete, ba naopak, váš systém může být o něco svižnější, výkonnější. Navíc můžete mít nejnovější jádro, které se může dostat ve standardní konfiguraci do repozitáře systému až za dlouhé týdny, takže třeba nemusíte čekat, až bude váš nový hardware podporován.
Nutno dodat, že se pravděpodobně málokomu může podařit korektně zkonfigurovat jádro napoprvé, zvláště, když je v něm provedena spousta zásahů, proto buďte velice trpěliví. Raději provádějte spoustu kompilací s malými a opatrnými modifikacemi než jednu velkou, stačí jen malá chybička díky nepozornosti, jádro či systém pak nemusí fungovat správně.
Nainstalovaná jádra hned neodinstalovávejte, mějte v zásobě alespoň jedno funkční ze stejné verze, z nějž pak můžete nabootovat a použít jeho konfiguraci. To se hodí tehdy, když naposledy zkompilované jádro odmítá poslušnost, kdy vám nefunguje klávesnice, nebo když se vám rozblikají LEDky na klávesnici, znamenající tzv. kernel panic, nebo tehdy, když budete muset disk zapojit na jiném hardwaru, který osekané jádro podporovat téměř jistě nebude.
Po většinu času budete pracovat v terminálu (to je ta ošklivá věc s písmenky a blikající kostičkou) nebo v konzoli. Jakmile ho spustíte, mějte ho až do finální instalace stále otevřený.
Není to žádná hrůza, kdyby to bylo příliš složité, tak o tom nepíšu. Návod je platný jak pro starší jádra 2.6 a 3.x, tak i pro jádra nová, řady 4.x a 5.x, pouze se díky evoluci některé položky přesunuly jinam.




Příprava
Základní ingrediencí je nepochybně zdrojový kód jádra Linux. Jedná se (v případě verze 5.0.3) o 67353 souborů a složek (starší jádra mají zpravidla méně), především textových, úhledně zabalených v archívu, majících po rozbalení dohromady zhruba 800MiB a po zaneřádění kompilací kolem 4GiB, takže ujistěte se, že máte na konkrétním oddíle minimálně 4-5GiB volného místa.
Ten si stáhneme ze serveru kernel.org (http://www.kernel.org/), přičemž volíme raději stabilní jádro (v současnosti 5.0.3), s nestabilním občas mohou být problémy, nicméně to vůbec neznamená, že vždy a všude, takže se toho nebojte. Uložíme ho například na plochu, do domovské složky, nebo rovnou do /usr/src.

Protože budeme pracovat s právy roota (česky kořena), v terminálu přijmeme jeho identitu:

su -

Dále budeme potřebovat mít nainstalované dodatečné balíky, nainstalujeme si je pomocí:

apt install build-essential kernel-package libncurses6 libncurses-dev cpp gcc libssl-dev libelf-dev bison flex

místo apt můžete použít aptitude nebo apt-get (syntaxe je totožná)

Jestli chcete ve vlastnostech hotových balíků vidět svoje jméno, to se dá zařídit celkem snadno, když v /etc/kernel-pkg.conf vyplníte vaše jméno, příjmení, kontakt, prioritu a číslo revize (cokoliv; v mém případě $(version)-Sid1; doporučuji $(version)-cokoliv). Pokud tento soubor neexistuje, vytvořte ho a vložte do něj něco jako:

maintainer := Jméno Příjmení
email := tvoje.mailovka@server.tld
priority := optional
debian = $(version)-Sid1




Jdeme na to!
1. Rozbalíme si stažený archiv s jádrem. Předpokládejme, že je uložené na ploše (~/Desktop) a že je pro verzi 5.0.3, tedy že si nechá říkat linux-5.0.3.tar.xz.

Nejprve, pokud jste to dosud neudělali, si otevřeme mnohými nenáviděný terminál (gnome-terminal, xterm,...) a získáme práva roota:

su -

Poté přejdeme do složky, v níž chceme pracovat, například /usr/src (tam končí zdrojáky jádra stažené přes správce balíků), a rozbalíme do ní archív se zdrojáky jádra. Tato operace bude pár minut trvat, musí se extrahovat několik desítek tisíc souborů:

cd /usr/src
tar xf ~/Desktop/linux-5.0.3.tar.xz


Jestliže jste již tyto zdrojáky jádra kompilovali, je dobré celou složku zdrojáků jádra pročistit od binárního bordelu:

make-kpkg clean

Nyní potřebujeme konfiguraci aktuálně běžícího jádra. Nejdříve přejdeme do složky s rozbaleným jádrem:

cd linux-5.0.3

Použijeme konfiguraci jádra, na němž momentálně běžíme. Je to rozsáhlý textový soubor, bude uložen ve složce se zdrojáky pod názvem .config:

cp /boot/config-`uname -r` .config

Pochopitelně místo config-`uname -r` můžete použít název konfiguráku z jiného jádra, například config-4.15.0-1-amd64

Teď se pustíme do nejsložitější fáze, do konfigurace, kterou je možné přeskočit tehdy, kdy na konfiguraci jádra nic měnit nechcete, pouze toužíte po novější verzi jádra.
Chcete-li konfigurovat, maximalizujte si raději okno terminálu, poté můžete začít:

make menuconfig

Pokud vám nic nechybí, v okně terminálu uvidíte takové krásné menu na modrém pozadí, jinak pokud by vám něco chybělo, měla by se zobrazit chybová hláška, podle níž byste se měli řídit, jestliže jí nerozumíte, máme tady fórum :).

TIP!
Při štelování vám pomohou tyto příkazy, lsmod (seznam běžících modulů), dále potom lspci, lsusb, lshw... (seznam HW)


Ovládání pomocí kláves
↑/↓        Nahoru/dolu
Enter      Zvolit
Y          Povolit
N          Zakázat
M          Modul
Esc + Esc  Konec
?, H       Nápověda
/          Hledat

Stavy položek
[*]        Napevno vestavěno
[M]        Odnímatelný modul
[ ]        Zakázáno

-?-        Nelze změnit
[?]        Pouze povoleno/zakázáno, nelze použít jako modul
<?>        Povoleno, zakázáno i modul NEBO modul, zakázáno
{?}        Pouze povoleno a modul
(ABC)      Lze zadat hodnotu

--->       Submenu
---        Prázdné submenu


TIP!
Položky  označené jako EXPERIMENTAL, pokud o některou z nich nestojíte, můžete klidně zakázat


Seznámím vás s důležitými položkami:
Pozn.: Pokud si s něčím nebudete jisti, nesahejte na to, nechte to tak, jak to je. Téměř u každé položky je k dispozici nápověda (H), jinak UTFG

General setup (obecné nastavení): Tady si můžete nastavit třeba podporu pro swap, kompresní režim kernelu (doporučuji XZ), podpora pro initramfs/initrd, optimalizace kernelu pro velikost, typ alokátoru (SLAB, SLUB, SLOB, SLQB...) aj.

Enable loadable module support: Zda povolit přidávání/odebírání modulů jádra za chodu + pár dalších voleb s touto věcí souvisejících- doporučuji povolit, nebo raději nehrabat

Enable the block layer: povolit blokovou vrstvu + volby související především s disky (třeba volba I/O plánovače, typů oddílů aj.). Raději nesahat.

Processor type and features: Typ procesoru, jeho vlastnosti. Tam se dá celkem slušně vyřádit, je možné zvolit si vhodnou rodinu procesorů, do níž váš křemíkový mozek spadá, podpora SMP (pro víceprocesorové systémy) i SMT (pro procesory s podporou hyperthreadingu), typ preempce, frekvence přerušení (100, 250, 300 a 1000Hz; čím vyšší frekvence, tím plynulejší chod a rychlejší reakce, ALE nižší vámi využitelný výpočetní výkon (kvůli příliš častým přerušením); dá se zvolit jiná frekvence, ale je potřeba upravit soubor kernel/Kconfig.hz), podpora pro <4GiB RAM (nebo až 64GiB RAM pro 32-bity s PAE), emulace matematického koprocesoru (pro archivní procesory nemající FPU) atd. Zde se dá jednak trochu zmenšit jádro a jeho velikost v RAM, ale hlavně se takto dá optimalizovat pro výkon.

Power management and ACPI options: Nastavení správy napájení a ACPI, povolení/zakázání uspání a hibernace, nastavení změny frekvence CPU atd.

Bus options (PCI, etc.): Nastavení sběrnic PCI(e), ISA, PCMCIA...

Executable file formats / Emulations: Podpora pro ELF aj., nuda, nesahat

Networking support: Tady se dají poštelovat různá síťová zařízení. Už v prvním submenu je spousta zbytečností (CAN, IrDA, CAIF aj.), dají se beztrestně vypnout.

Device drivers: Jó, tak u tohohle se zapotíte, to si pište! Pokud někdo z vás stále tvrdí, že Linux podporuje málo železa, nechť si poctivě proleze tenhle chlívek a spočítá si ovladače. Je to přímo bludiště! A právě v tomhle bludišti se dá jádro opravdu dobře zmenšit. Stačí znát důkladně střeva svého stroje, ovladače na ně nechat a zbytek, stovky, ne-li tisíce nepotřebných ovladačů, jednoduše zahodit, zrušit, zlikvidovat. Ale bacha, u čeho si nejste jisti (třeba RTC hodiny), to raději ignorujte. Je dobré si k jednotlivým položkám číst nápovědu, jak je tam něco jako "if unsure, say N" a ta položka vám není nijak povědomá, můžete ji zakázat. Jestli tam ale bude "...just say Y", raději poslechněte.

Firmware drivers: Koukám, že už jste z bludiště venku, na ksichtě vrásky a šedej vous, oči barvy krve, ale to nejhorší už máme opravdu za sebou. Nekecám. Třeba v tomhle chlívku nalezneme akorát pár speciálních ovladačů, zejména pro noteknihy.

File systems: Podpora různých souborových systémů. Doporučuju povypínat všelijaké ty rozšířené vlastnosti, pokud je nevyužíváte.

Kernel hacking: Koutek pr h4x0ry, různá dolaďování jádra, možnosti debuggingu.

Security options: Bezpečnostní udělátka - většina uživatelů nepotřebuje upravovat.

Cryptographic API: Různé šifrovací algoritmy; co se podepisují jádra, pro úspěšnou kompilaci je dobré úplně na konci seznamu, v Certificates for signature checking → Additional X.509 keys for default system keyring buď dosadit vlastní klíč (viz UTFG), nebo tuto položku vyprázdnit.

Virtualization: Virtualizace; kdo nevirtualizuje (KVM a spol.), toto nepotřebuje. Zahodit, spálit.

Library routines: Nechat radši na pokoji, pokud nevíte, co činíte.

Load an Alternate Configuration File: Načíst alternativní konfigurák (asi jen pokud se jmenuje jinak než .conf).

Save an Alternate Configuration File: Uložit nastavení.

Až budete mít hotovo, uložte nastavení a zvolte dole položku <Exit>

TIP!
Pokud v tom umíte plavat a znáte svůj stroj dostatečně dobře, je tady ještě jedna fičura - připojte všechna vámi používaná zařízení a před konfigurací spusťte:
make localmodconfig
Tím na základě aktuálně použitých modulů deaktivujete většinu (nikoliv všechny) nepotřebných (ale bohužel někdy i potřebných) položek. Není to příliš dokonalé, takže si celou konfiguraci zkontrolujte.




3. Teď budete odpočívat, zatímco váš stroj zažije horoucí peklo. Správně, jde se kompilovat, půjde-li vše podle plánu, v /usr/src očekávejte dva deb balíky- linux-headers-blablabla.deb a linux-image-blablabla.deb.

Rovnou se pustíme do kompilace samotné (nedoporučuje se mít přetaktovaný procesor, během kompilace se mnohem více zahřívá a hrozí zatuhnutí systému či nevratné poškození procesoru):

make prepare
make-kpkg --append-to-version -X --us --uc -jY --initrd kernel_image kernel_headers


... kde -X je číslo "pokusu", např. -1 (5.0.3-1) a -jY je počet procesů, které se mají při kompilaci vykonávat naráz- toto je vhodné spíše pro víceprocesorové stroje a/nebo stroje s funkčním hyperthreadingem (SMT); doporučuje se použít ncpu+1.
Kdo má jednojádro, může tuto volbu vynechat.


4. Hotovo? Vytvořily se balíky? Zbývá je pouze nainstalovat, pro jistotu oba (hlavičky jsou potřeba např. pro ovladače nVidia). Někdo preferuje klikátko Gdebi, ale když už máme otevřený terminál...

dpkg -i /usr/src/nazev_baliku.deb

Někdy se stane, že se neaktualizuje GRUB, to se dá napravit snadno:

update-grub


No a máme hotovo, teď jen stačí pomodlit se ke sv. Tuxovi a sv. Rootovi, modlitbu ukončit slovem "Enter", a rebootovat. Poté, pokud to bude fungovat, ladit dle systémových logů k dokonalosti, jestli se to nepovede, nezoufejte, můj první pokusný králík mi v počátku bootování rozblikal klávesnici v rytmu Kernel panic.

Hodně štěstí!



Aktualizováno 22. 3. 2019
Název: Re: * Kompilace kernelu- podrobnější návod
Přispěvatel: Ota Trkola 21. 08. 2010, 06:42:27
Romane, díky moc! Až budu mít chvilku, hned vyzkouším.. :)
Název: Re: * Kompilace kernelu- podrobnější návod
Přispěvatel: Roman Horník 21. 08. 2010, 10:27:19
Fajn, pak podej hlášení, abych to doladil ;)
Název: Re: * Kompilace kernelu- podrobnější návod
Přispěvatel: Ota Trkola 22. 08. 2010, 17:08:26
Tak jsem zkoušel 2x kompilovat 2.6.35.3 a ani jednou jsem neuspěl. Nenaběhla mi grafika. Nicméně abych mohl zkusit další kompilaci, musím nějak vyčistit systém, páč mi za ty dvě kompilace narostl o 2,5GB a to jsem kernel odinstaloval a odstranil položky v /usr/src. Kam se teda ještě cosi ukládá při kompilaci a instalaci kernelu?
Název: Re: * Kompilace kernelu- podrobnější návod
Přispěvatel: Roman Horník 22. 08. 2010, 18:17:42
Co máš za grafiku? Jakej ovladač k ní používáš a odkud? Nejde mi ovladač z balíku nvidia-glx, ale ovladač 256.44 mi funguje normálně.

2.5GiB? Kde jsi to pro Satana splašil ;D? Vždyť i zdrojáky kernelu mají sotva 400MiB. Jinak seznam souborů, který se při instalaci balíku rozbalej a posléze rozutečou po disku, jsou vidět ve vlastnostech balíku např. v Gdebi nebo v Synapticu.
Název: Re: * Kompilace kernelu- podrobnější návod
Přispěvatel: Ota Trkola 22. 08. 2010, 18:22:24
Já mám Ati HD2600XT a používám otevřený ovladač radeon. Ale to zabrané místo je docela problém, páč mi jaksi došlo...:-\ Jinak těžko už to zjistím, když jsem balíky odstranil...
Název: Re: * Kompilace kernelu- podrobnější návod
Přispěvatel: Roman Horník 22. 08. 2010, 18:27:12
Můžeš někam pastnout konfigurák svýho kernelu? (bacha, je docela velkej)

S tím místem Ti moc neporadím, ale jestli máš GNOME, koukni se na Baobab- ten Ti ukáže takovej koláč, v němž uvidíš, jak je která složka velká ;).
Název: Re: * Kompilace kernelu- podrobnější návod
Přispěvatel: Ota Trkola 22. 08. 2010, 18:33:43
Konfigurák, kterej jsem použil je tady (http://dl.dropbox.com/u/8263058/config-2.6.32-5-686). Jiank to místo jsem samozřejmě zkoumal přes baobab, ale na nic jsem nepřišel. Ale budu s tím muset cosi učinit, nemám už skoro žádné prázdné místo.
Název: Re: ▶ Kompilace kernelu- podrobnější návod ◀
Přispěvatel: Roman Horník 22. 08. 2010, 18:37:11
Co trochu pročistit disk BleachBitem? Jak velkej disk vlastně máš?
Název: Re: ▶ Kompilace kernelu- podrobnější návod ◀
Přispěvatel: Roman Horník 22. 08. 2010, 19:08:13
Nevím, zkus to (http://www.2shared.com/file/R1ZK5jAE/configtar.html).
Název: Re: ▶ Kompilace kernelu- podrobnější návod ◀
Přispěvatel: Ota Trkola 22. 08. 2010, 19:19:08
BleachBit byl dobrej tip. Uvolnil mi místa víc než bych čekal. / mi slezlo z 5.2GB na 2.6GB, doufám, že mi tam ještě něco  systémových souborů zbylo.. ;D Jinak hlavní problém v místě byl ve složce /root/.local/share/Trash/files, kde byly schovaný hromady pozůstatků po kompilaci.
Název: Re: ▶ Kompilace kernelu- podrobnější návod ◀
Přispěvatel: Roman Horník 22. 08. 2010, 19:29:16
Takže jsi to měl nalámaný v koši Roota :)

Já špatný nápady nemám, nebyl jsem k tomu naprogramován  8) :P
Název: Re: ▶ Kompilace kernelu- podrobnější návod ◀
Přispěvatel: Ota Trkola 22. 08. 2010, 19:35:34
Nevím, zkus to (http://www.2shared.com/file/R1ZK5jAE/configtar.html).

Toto jsi nějak upravoval? Našel jsi tam nějakej zásadní průser?
Název: Re: ▶ Kompilace kernelu- podrobnější návod ◀
Přispěvatel: Roman Horník 22. 08. 2010, 19:46:58
Upravoval, něco jsem tam snad našel, ale radši to zkus, ATInu nemám. Vysekal jsem z toho pár exotických ovladačů, který s největší pravděpodobností nepotřebuješ. Ten předchozí konfigurák jsi nějak u ovladačů modifikoval?
Název: Re: ▶ Kompilace kernelu- podrobnější návod ◀
Přispěvatel: Ota Trkola 22. 08. 2010, 19:48:35
Ne je to tovární konfigurák ze současnýho jádra 2.6.32-5.
Název: Re: ▶ Kompilace kernelu- podrobnější návod ◀
Přispěvatel: Roman Horník 22. 08. 2010, 19:57:15
Ono je taky možný, že se ovladač z xserver-xorg-video-ati (nebo co používáš) nesnese s kernelem. Máš něco v logu Xorg.*.log?

Zkoušel jsi proprietární ovladač?
Název: Re: ▶ Kompilace kernelu- podrobnější návod ◀
Přispěvatel: Ota Trkola 22. 08. 2010, 20:04:52
Právě jsem odstartoval kompilaci, tak uvidíme. Používám xserver-xorg-video-radeon a problém by být neměl, uvidím.

Zkoušel jsi proprietární ovladač?

V poslední době ne a ani se na to nechystám.
Název: Re: ▶ Kompilace kernelu- podrobnější návod ◀
Přispěvatel: Roman Horník 22. 08. 2010, 20:38:40
Japato? :)
Název: Re: ▶ Kompilace kernelu- podrobnější návod ◀
Přispěvatel: Ota Trkola 22. 08. 2010, 20:43:38
Jsem spokojenej s open source ovladačem, takže není důvod.
Název: Re: ▶ Kompilace kernelu- podrobnější návod ◀
Přispěvatel: Roman Horník 22. 08. 2010, 20:45:31
Šťastná to žena... :D
Název: Re: ▶ Kompilace kernelu- podrobnější návod ◀
Přispěvatel: Roman Horník 22. 08. 2010, 23:22:58
Právě jsem odstartoval kompilaci, tak uvidíme. Používám xserver-xorg-video-radeon a problém by být neměl, uvidím.

Jak to dopadlo?
Název: Re: ▶ Kompilace kernelu- podrobnější návod ◀
Přispěvatel: Roman Horník 23. 08. 2010, 17:04:07
Aktualizováno, pár chyb opraveno
Název: Re: ▶ Kompilace kernelu- podrobnější návod ◀
Přispěvatel: Ota Trkola 23. 08. 2010, 21:01:08
Právě jsem odstartoval kompilaci, tak uvidíme. Používám xserver-xorg-video-radeon a problém by být neměl, uvidím.

Jak to dopadlo?

Dopadlo to úplně stejně jako předtím. Obrazovka plná barevných bodů. No nic, zkusím to jindy. Teď řeším nákup mininoteknihy na který bude běhat debian, tak nemám čas.
Název: Re: ▶ Kompilace kernelu- podrobnější návod ◀
Přispěvatel: koljin 23. 08. 2010, 21:43:40
Ahoj. Dá se samotná kompilace provádět i pod normálnim uživatelem, a ne rootem?
Název: Re: ▶ Kompilace kernelu- podrobnější návod ◀
Přispěvatel: Roman Horník 23. 08. 2010, 21:52:12
Teoreticky by to mělo jít.
Název: Re: ▶ Kompilace kernelu- podrobnější návod
Přispěvatel: ulo 09. 09. 2010, 08:51:42
Tak jsem chtěl zkompilovat kernel (vybral jsem kernel 2.6.35.3) podle návodu od Romana (mimochodem moc pěkně a přehledně napsané ;-) ), ale ještě bych do toho návodu doplnil, že je potřeba mít nainstalované všechny tyto věci:
Kód: [Vybrat]
build-essential bin86 kernel-package libncurses5 libncurses5-dev fakeroot
Já totiž defaultně od instalace v Lennym neměl libncurses5-dev, fakeroot, bin86 a kernel-package. Bez nich mi nechtěla kompilace začít a házelo to chyby (i když s tím bin86 si nejsem jist, jestli je potřeba - assemblerovský překladač či co to je).

Nakonec jsem teda zatím skončil neúspěchem a zastavilo se to s chybou při snaze o kompilaci driveru lguest, ale nevzdám to :-)

Jinak jsem se ještě někde dočetl, že pokud nechci, aby kernel měl třeba 40MB a moduly 700MB, tak v menu Kernel Hacking se má vypnout Kernel Debugging (zatím jsem nezkoušel, ale protože mě čekají další pokusy, tak to určo vyzkouším).

Nu a teď mám ještě dotaz.
Četl jsem, že možná bude potřeba před kompilací nového kernelu odstranit starý link k linux adresáři a vytvořit nový (např.):
Kód: [Vybrat]
# rm -rf linux && ln -s linux-2.6.35 linux
Je toto vůbec nutné dělat? Zřejmě se ti to, Romane, podařilo úspěšně zkompilovat i bez tohoto kroku, když ho tu neuvádíš...
Název: Re: ▶ Kompilace kernelu- podrobnější návod
Přispěvatel: Roman Horník 09. 09. 2010, 14:46:55
Díky! Balík bin86 není potřeba (16-bitovej x86 assembler), ale ostatní jsem do návodu doplnil + GCC +CPP (kdyby náhodou).
Ani rm -rf linux && ln -s linux-2.6.35 linux[/size] nemusí bejt, přece v návodu nepoužívám žádný linkování. Pracuje se jenom v jedný složce, a tou je linux-2.6.3x.x, můžeš v ní pracovat kolikrát chceš. Z 2.6.35.4 jsem už udělal 6 balíků a funguje to bezchybně (naposledy včera; to mi pes zlikvidoval webkameru, tak jsem z jádra sebral její ovladač).

Co se Ti zobrazí za chybu při kompilaci lguest? Hoď to sem, uvidíme ;)


Edit Ota Trkola: odstranění citace předchozího příspěvku.
Název: Re: ▶ Kompilace kernelu- podrobnější návod
Přispěvatel: ulo 09. 09. 2010, 22:18:14
Supr, už rozumím, proč nepotřebujeme odstraňovat link na linux adr. Díky.

Tak jsem zkoušel kompilovat kernel 2.6.35.4 a skončilo to chybou:
Kód: [Vybrat]
...
 CC      mm/memory.o
mm/memory.c:2796: error: redefinition of ‘check_stack_guard_page’
mm/memory.c:2770: error: previous definition of ‘check_stack_guard_page’ was here
make[2]: *** [mm/memory.o] Error 1
make[1]: *** [mm] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.35.4'
make: *** [debian/stamp/build/kernel] Error 2

V menuconfig jsem nic neměnil a i když změnil, tak to skončilo touto chybou. Zkusím ještě jiný kernel...
Název: Re: ▶ Kompilace kernelu- podrobnější návod
Přispěvatel: Roman Horník 09. 09. 2010, 22:40:13
Je mi to trochu povědomý. Nesnažil ses jádro opatchovat? Jednou jsem to udělal, ale nejspíš blbě, pak jsem zjistil, že v oněch souborech byly duplicitní řádky, schválně se podívej do /usr/src/linux-2.6.35.4/mm/memory.c na řádky 2770 a 2796. Tyhle řádky a řádky pod nimi by měly bejt stejný. Jestli jo, můžeš se pokusit duplicitní řádky smazat.
Název: Re: ▶ Kompilace kernelu- podrobnější návod
Přispěvatel: ulo 09. 09. 2010, 23:36:15
jj je to tak, opatchovával jsem to (a asi taky blbě). Díky, podívám se na ty řádky.

Nicméně teď jsem zkusil starší kernel 2.6.34.6 a opět jsem skončil chybou s lguestem:

Kód: [Vybrat]
make[1]: Entering directory `/usr/src/linux-2.6.34.6/Documentation/lguest'
cc -m32 -Wall -Wmissing-declarations -Wmissing-prototypes -O3 -I../../include -I../../arch/x86/include -U_FORTIFY_SOURCE    lguest.c   -o lguest
lguest.c:21:25: error: sys/eventfd.h: No such file or directory
lguest.c: In function ‘create_thread’:
lguest.c:1026: warning: implicit declaration of function ‘eventfd’
make[1]: *** [lguest] Error 1
make[1]: Leaving directory `/usr/src/linux-2.6.34.6/Documentation/lguest'
make: *** [debian/stamp/build/kernel] Error 2
Název: Re: ▶ Kompilace kernelu- podrobnější návod
Přispěvatel: Roman Horník 10. 09. 2010, 00:27:12
Na řádky se ani nedívej, neboť to nebude z daleka jedinej zmrvenej soubor, kterej bys musel opravovat. Za chvíli jsou Vánoce, tak ať je nezmeškáš ;D
Můžeš to zkusit s čistým 2.6.35.4 (hlavně bez patchování)? Tý chybě zas tak dokonale nerozumím, akorát lguest.c na řádku 21 požaduje sys/eventfd.h, ale to tam jaksi není (ani já nikde nevidím složku sys).
Název: Re: ▶ Kompilace kernelu- podrobnější návod
Přispěvatel: ulo 10. 09. 2010, 08:40:25
Budu si s tím ještě hrát, ale už ted je mi divný, že kompilace dvou ruzných kernelů skončí stejnou chybovou hláškou, takže je zřejmě zakopán pes někde v menuconfig a já tam mám prostě něco blbě zaškrtlé anebo právě něco nemám. Po víkendu zkusím ještě neopatchovanou 2.6.35.4. Holt v nejhorším případě to udělám jako dřív - 2.6.32 z backports repo.
Název: Re: ▶ Kompilace kernelu- podrobnější návod
Přispěvatel: Roman Horník 10. 09. 2010, 11:54:35
Ohledně toho lguestu, UTFGnul jsem tohle:


Below “Virtualization” unselect “Linux hypervisor example code”
or
if you need lguest you can also fix the compilation error by removing “#include <sys /eventfd.h>” (line 21) from lguest.c.
Název: Re: ▶ Kompilace kernelu- podrobnější návod
Přispěvatel: ulo 10. 09. 2010, 12:14:57
Aha, tak díky a pořeším to, protože ted mi na jiném stroji (úplně jiný HW)) při kompilaci neopatchované 2.6.35.4 vyběhla úplně stejná chybka.
Název: Re: ▶ Kompilace kernelu- podrobnější návod
Přispěvatel: Roman Horník 10. 09. 2010, 13:21:52
Below “Virtualization” unselect “Linux hypervisor example code”

Takže jestli nevirtualizuješ, odznač Processor type and features → Paravirtualized guest support → Lguest guest support a klidně i Virtualization (to mezi Cryptographic API a Library routines).
Název: Re: ▶ Kompilace kernelu- podrobnější návod
Přispěvatel: ulo 12. 09. 2010, 21:01:15
Virtualizuju, takže zkusím nejdřív tu druhou verzi s editací lquest.c
Název: Re: ▶ Kompilace kernelu- podrobnější návod
Přispěvatel: ulo 16. 09. 2010, 14:15:26
Protože jsem opět pokročil ve zjišťování a dolaďování chyb při kompilaci, tak se zde podělím o jednu pro mě zcela zásadní věc, bez které mi kompilace nedoběhla:
proto, aby u mě kompilace doběhla až do zdárného konce a nezasekávala se na různých chybách (tu nemáme soubor compile.h nebo zase ve version.h nesedí udaná verze apod.), jsem musel upgradovat balíček kernel-package na verzi 12.036 (měl jsem starší verzi 11.015).
Název: Re: ▶ Kompilace kernelu- podrobnější návod
Přispěvatel: Roman Horník 16. 09. 2010, 22:16:55
Takže už jedeš na vlastním? Jestli jo, gratuluju!
Název: Re: ▶ Kompilace kernelu- podrobnější návod
Přispěvatel: ulo 17. 09. 2010, 09:39:18
Zatím nejedu na vlastním, páč po sice úspěšné kompilaci a instalaci nového kernelu, se vyskytl problém, že strašně dlouho nabíhá a pak to skončí černou obr. a nic se neděje (při bootu na starý kernel to jede v pohodě), takže ještě budu dolaďovat. Už si zjišťuju další info, co by to mohlo být a jakmile to vyřeším, opět sem dám doplnění.
Název: Re: ▶ Kompilace kernelu- podrobnější návod
Přispěvatel: Roman Horník 17. 09. 2010, 12:36:23
Výborně, držím palce!
Název: Re: ▶ Kompilace kernelu- podrobnější návod
Přispěvatel: Domi 24. 09. 2010, 00:05:41
Ahoj lidicky :) Je tu nejaka dobra duse, ktera by mi pomohla trochu osekat to jadro? Moc tomu nehovim :( Pro moje pouziti by toho tam ani byt moc nemuselo. Nebo by stacilo odkazat nekam kde se da jednodusejc nez z helpu pochopit co se da bez starosti vyhodit.

Pocitac/server chci aby bezel jako DHCP server a fileserver.

Jinak musim pochvalit autora! Pekny navod ;-)
Název: Re: ▶ Kompilace kernelu- podrobnější návod
Přispěvatel: Roman Horník 24. 09. 2010, 03:10:49
Díky za pochvalu :)

Ono ani není kam Tě odkázat, budeš muset tunit asi sám. Ale neboj se toho, není to zas tak moc těžký, musíš ale znát svůj hardware.

Dejme tomu, že máš CPU Intel. Tak proč tam mít povolený položky pro AMD a další? Vypnout.
Grafika je taky intelácká, takže co smrdí konkurencí (SiS, ATI, nVidia, VIA,...), dát pryč.
Síťovka- máš 10/100Mbit? Gigabitovky a desetigigabitovky nepotřebuješ podporovat.
Že nemáš LED zařízení, WiFinku, PPP, ISDN, I2O, SPI, InfiniBand, FireWire a další? Pryč s nima!

Zkus to!
Název: Re: ▶ Kompilace kernelu- podrobnější návod
Přispěvatel: Domi 24. 09. 2010, 19:11:46
Odklikal, zkompiloval, nainstaloval.... A ejhle chybka (jak necekane   :D)

Kernel panic - not syncing: VFS: Unable to mount root fs.....

Tak kdo poradi, kde jsem udelal chybu? Kompiloval jsem celkem 3x. Poprve jsem to prolezl poradne, podruhe jsem to projel rychle a potreti vyhazel opravdu minimum.

Kdyz zadam: cat /boot/grub/menu.lst
...
title    Debian GNU/Linux, kernel 2.6.35.4-1
root     (hd0,0)
kernel   /boot/vmlinuz-2.6.35.4-1 root=/dev/sda1 ro quiet

a kdyz to porovnam s tim puvodnim, na kterem normalne bezim, tak tam chybi radek
initrd   /boot/initrd.img-2.6.26-2-amd64

V general setup sem ve vsech trech kompilacich odebral jen experimental veci, jinak sem na to nesahal. Jeste jedna vec. Pri kompilaci mi to nejdrive hazelo chybu. Nekde jsem nasel, ze pomuze novejsi kernel-package. Mam 12.036, predtim jsem mel 11.015.

A jeste jedna vec. Jak se kompletne zbavim tech mych vytvoru? :D

Za kazdy napad a radu budu moc rad  :)
Název: Re: ▶ Kompilace kernelu- podrobnější návod
Přispěvatel: Roman Horník 24. 09. 2010, 19:37:54
Uploadni někam konfigurák.
Název: Re: ▶ Kompilace kernelu- podrobnější návod
Přispěvatel: Domi 24. 09. 2010, 22:16:55
Tady to je. Pribalil jsem k tomu i lshw, lspci, lsusb a oba konfiguraky
 http://uloz.to/5954720/config.zip (http://uloz.to/5954720/config.zip)
Název: Re: ▶ Kompilace kernelu- podrobnější návod
Přispěvatel: Domi 01. 10. 2010, 01:48:15
Odklikal, zkompiloval, nainstaloval.... A ejhle chybka (jak necekane   :D)

Kernel panic - not syncing: VFS: Unable to mount root fs.....

Tak kdo poradi, kde jsem udelal chybu? Kompiloval jsem celkem 3x. Poprve jsem to prolezl poradne, podruhe jsem to projel rychle a potreti vyhazel opravdu minimum.

Kdyz zadam: cat /boot/grub/menu.lst
...
title    Debian GNU/Linux, kernel 2.6.35.4-1
root     (hd0,0)
kernel   /boot/vmlinuz-2.6.35.4-1 root=/dev/sda1 ro quiet

a kdyz to porovnam s tim puvodnim, na kterem normalne bezim, tak tam chybi radek
initrd   /boot/initrd.img-2.6.26-2-amd64


reseni:
     mkinitramfs -o /boot/initrd.img-2.6.35.4-1 2.6.35.4-1
     update-grub
Název: Re: ▶ Kompilace kernelu- podrobnější návod
Přispěvatel: Magog 29. 10. 2010, 18:10:29
Pěkně děkuji za velice povedený návod. Už jedu na svém kernelu. Na druhý pokus funkční a menší, než ten tovární. A první pokus by byl asi taky funkční, ale ne o tolik menší.
Název: Re: ▶ Kompilace kernelu- podrobnější návod
Přispěvatel: Ota Trkola 29. 10. 2010, 20:59:25
Tak jsem asi exotický úkaz, ale ani 2.6.36 mi nefunguje. Stále praděpodobně jakýsi problém s ovladačem GK. Nicméně tovární 2.6.36-trunk-686 z experimental mi jede, tak alespoň tak.
Název: Re:▶ Kompilace kernelu- podrobnější návod
Přispěvatel: Xgamer 03. 01. 2011, 21:28:27
Super návod :), vďaka nemu som sa naučil kompilovať kernel..:)

Chcem sa spýtať ešte čo je možne zakompilovať priamo do kernelu a čo ako moduly? Ide mi napr. o ovládače grafickej,sietovej karty. O wifi som sa dočital že je to lepšie kompilovať ako modul.
Název: Re:▶ Kompilace kernelu- podrobnější návod
Přispěvatel: poky74 11. 01. 2011, 20:47:28
Tak dá se cokoli jakkoli, pokud tam je ta možnost. Ale platí že je lepší zakompilovávat přímo do jádra, avšak věci s kterými by mohly být problémy (například třeba ta wifi bluetooth atd..) můžou zamrznout a v tu chvíli je dobré mít je jako moduly, jelikož můžeš odmodprobnout a znovu modprobnout a tím se vyhnout restartu ;-)
Název: Re:▶ Kompilace kernelu- podrobnější návod
Přispěvatel: Drát 24. 06. 2011, 15:32:56
Nevim jak se mi to povedlo, stáhnu kernel, rozbalim (do svýho domovskýho adresáře), zkompiluju v pohodě.....ale chci ho zkompilovat znova s malou obměnou a skončim na chybě:

Kód: [Vybrat]
make[1]: *** [drivers] Error 2
make[1]: Leaving directory `/home/dreit/linux-2.6.39.2'
make: *** [debian/stamp/build/kernel] Error 2

Nakonec jsem smazal adresář, rozbalil tam kernel znova...a pořád nejde. Neporadí někdo jak to nakopat takovým způsobem, aby to fungovalo správně?
Stejná chyba se mi ukazovala i když jsem kompiloval podle jinačí postupu, jen s tim rozdílem, že tam se nepovedla ani první kompilace, tady aspoň ta první.


Pokrok:
Kód: [Vybrat]
====== making target debian/stamp/build/kernel [new prereqs: vars]======
This is kernel package version 12.036+nmu1.
The changelog says we are creating 2.6.39.2-1
However, I thought the version is 2.6.39.2
exit 1
make: *** [debian/stamp/build/kernel] Error 1
Název: Re:▶ Kompilace kernelu- podrobnější návod
Přispěvatel: vojtam 24. 06. 2011, 15:53:24
Ahoj když jsem chtěl kompilovat znova s malou obměnou tak jsem většinou dopadnul úplně stejně nebo s chybou že soubory byly upravovány v budoucnu (čas byl OK).
Takže buď zkus make clean a nebo jsem to dělal tak, že jsem .config soubor vytáhnul adresář smazal, jádro znovu rozbalil nakopíroval .config a spustil make oldconfig a pak spustil kompilaci a jel jsem (pokud by to byla i stejná verze jádra je myslím ten make-clean zbytečný)...
Název: Re:▶ Kompilace kernelu- podrobnější návod
Přispěvatel: Drát 24. 06. 2011, 16:41:12
Něco s tim zatím bez úspěchu zkoušim

Kód: [Vybrat]
  CC [M]  fs/ext3/ioctl.o
  CC [M]  fs/ext3/namei.o
  CC [M]  fs/ext3/super.o
  CC [M]  fs/ext3/symlink.o
  CC [M]  fs/ext3/hash.o
In file included from include/linux/pagemap.h:7:0,
                 from include/linux/buffer_head.h:13,
                 from include/linux/jbd.h:27,
                 from fs/ext3/hash.c:13:
include/linux/mm.h:1243:1: internal compiler error: Neoprávněný přístup do paměti (SIGSEGV)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.6/README.Bugs> for instructions.
make[3]: *** [fs/ext3/hash.o] Error 1
make[2]: *** [fs/ext3] Error 2
make[1]: *** [fs] Error 2
make[1]: Leaving directory `/home/dreit/kernel/linux-2.6.39.2'
make: *** [debian/stamp/build/kernel] Error 2


Update:

Tak teď to zase háže něco jinýho
Kód: [Vybrat]
  CC      drivers/acpi/acpica/nsnames.o
  CC      drivers/acpi/acpica/nsutils.o
  CC      drivers/acpi/acpica/nsxfname.o
In file included from /home/dreit/kernel/linux-2.6.39.2/arch/x86/include/asm/apic.h:483:0,
                 from /home/dreit/kernel/linux-2.6.39.2/arch/x86/include/asm/smp.h:13,
                 from /home/dreit/kernel/linux-2.6.39.2/arch/x86/include/asm/mmzone_64.h:12,
                 from /home/dreit/kernel/linux-2.6.39.2/arch/x86/include/asm/mmzone.h:4,
                 from include/linux/mmzone.h:792,
                 from include/linux/gfp.h:4,
                 from include/linux/kmod.h:22,
                 from include/linux/module.h:13,
                 from include/acpi/platform/aclinux.h:58,
                 from include/acpi/platform/acenv.h:141,
                 from include/acpi/acpi.h:56,
                 from drivers/acpi/acpica/nsxfname.c:45:
/home/dreit/kernel/linux-2.6.39.2/arch/x86/include/asm/smp.h:1:0: internal compiler error: Neoprávněný přístup do paměti (SIGSEGV)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.6/README.Bugs> for instructions.
make[4]: *** [drivers/acpi/acpica/nsxfname.o] Error 1
make[3]: *** [drivers/acpi/acpica] Error 2
make[2]: *** [drivers/acpi] Error 2
make[1]: *** [drivers] Error 2
make[1]: Leaving directory `/home/dreit/kernel/linux-2.6.39.2'
make: *** [debian/stamp/build/kernel] Error 2

Chyba bude někde mezi klávesnicí a židlí, ale nějak nechápu co s tim. Nevýhoda softwaru je ta, že do něj nejde kopnout :D


Update2:

Takže to s tim přístupem do paměti dělá naprosto náhodně. Jestli se ale nepletu, tak ovladač od nVidie vyžaduje gcc 4.6  (taknějak to aspoň vyznělo)
Název: Re:▶ Kompilace kernelu- podrobnější návod
Přispěvatel: vojtam 24. 06. 2011, 17:25:18
Ahoj není možné že je problém pod stolem (tedy v PC) neoprávněný přístup do paměti mi v životě ještě jádro nehodilo...
A pokud to dělá naprosto náhodně, je jistě něco špatně...
Nemůžeš zkusit zkompilovat jádro na jiném stroji?
A jenom pro info kompiluješ ho pomocí make-kpkg ??
Název: Re:▶ Kompilace kernelu- podrobnější návod
Přispěvatel: Drát 24. 06. 2011, 19:46:12
Tak pravda, hardwarově to asi nemám úplně OK, řešil jsem to tady a něco se tam asi opravdu šeredně podělalo.
Rozhodně disk (umřel) jsem vyměnil, RAM jsou v pořádku....a jinde snad už cache není, takže to vypadá opravdu na smrt CPU cache. Ono když Debian nepadá tak člověk zapomene že měl kdy problémy s HW.....dík moc za připomenutí, určitě to bude tím!  ;)
[nakonec jsem zjistil že deska pouštěla do CPU větší napětí než měla]

Zkusim to na jinačim stroji.

make-kpkg samozřejmě :)


btw - čistě teoreticky, když to vyhodí chybu a já to pustim znova, zkompiluje se část kde to spadlo znova, nebo ji to přeskočí a zůstane tam zkompilovaná špatně?

Takhle to dopadá když si sedne lama k Debianu, přiznávám to a kňučim v rohu (fakt jsem si na ty chyby cache moh vzpomenout).
Název: Re:▶ Kompilace kernelu- podrobnější návod
Přispěvatel: vojtam 26. 06. 2011, 11:47:16
To nic, hlavně že jsme to vyřešili :)
Taky HW chyba je to poslední co by člověka napadlo.

Teoreticky když to začneš kompilovat znovu mělo by se to celé překompilovat (ale myslím že se to možná kompuluje od poslední úspěšně zkompilované části.

Pak dej vedět, jak to dopadlo...
Kdyžtak zbytek vyřešíme..
Název: Re:▶ Kompilace kernelu- podrobnější návod
Přispěvatel: Drát 28. 06. 2011, 23:41:54
U bráchy to funguje (zato mu nejdou jinačí věci ;D ), takže asi opravdu HW. Ale něco mě napadlo - nastavit cyklus co se bude opakovat dokud se v adresáři neobjeví balíčky s jádrem (jentak ze srandy jsem to zacyklil a sledoval, po chvíli a pár pípnutích PC speakeru při přerušení mi to opravdu vyplivlo balíčky...otázka je, jestli v nich nejsou chyby díky tomu přerušování).
Název: Re:▶ Kompilace kernelu- podrobný návod (pro 2.6.x & 3.x) [Aktualizováno]
Přispěvatel: Ota Trkola 25. 02. 2012, 17:56:47
Soudruzi, krapet to tady oživíme, když Roman celý návod zaktualizoval.

Mám dotaz. Zkompiloval jsem kernel 3.2.7 za použití distribučního konfiguráku s tím, že jsem vyhodil kernel debuging a virtualizaci. Vše proběhlo hladce, ale mám problém s kompilací wl modulu (broadcom-sta) pro Broadcom wifi. Po zadání # m-a a-i broadcom-sta to po chvíli ukončí chyba /usr/src/linux-headers-3.2.7-1/arch/x86/Makefile_32.cpu: Adresář nebo soubor neexistuje. Pokud by někdo věděl, jak tomu pomoci, ocenil bych to.
 
Název: Re:▶ Kompilace kernelu- podrobný návod (pro 2.6.x & 3.x) [Aktualizováno]
Přispěvatel: jiri 07. 05. 2012, 20:14:01
Zdravim, osobně se přikláním ke kompilaci pomocí make-kpkg --initrd --revision=2 --append-to-version=-mojejadro kernel_image
po tom, co jsem rozbalil kernel a z adresáře /boot/   zkopíroval "config" soubor do adresáře jádra, přejmenoval na ".config" spustil "make xconfig" a dal uložit. Toto fungovalo avšak s příchodem jádra řady 3.x musim vynechat volbu "lguest" (podle kompilátoru ve složce "Documentation" chybí nějaké soubory pro  "lguest") a teprve pote to funguje. Proto bych se rád zeptal, jestli o tom někdo neví něco víc. Např. jak to upravit, aby to šlo sestavit i s touto volbou. Předem děkuji Jirka
Název: Re:▶ Kompilace kernelu- podrobný návod (pro 2.6.x & 3.x) [Aktualizováno]
Přispěvatel: vprint 10. 08. 2012, 10:23:52
Jestli můžu, chtěl bych poradit. Jsem takovej lama, ale linux mě pořád víc a víc vtahuje, nejvíc mě nad vodou drží překlad slova Error - jseš blb. Jinak bych už to dávno vzdal.
Chtěl bych si zkompilovat jádro, mám server na specifikovanou věc, a běží to na Atomu 525, deska Mount Washington, 32GB SSD, 2MBRAM
Jelikož vím, že v jádru je neskutečná hromada zbytečností, chtěl bych je nějak obrousit, a hlavně vyhodit cosi jako exim4, má to něco s mailama, ale ty tam nepotřebuju. Běží mě to jenom v řádku, řídím to - jestli se to tak dá říct a neřídí to naopak mě - přes SSH přístup v lokálce.
A teď co mě trápí.  Nevím, jak bych vrátil zpátky instalaci zkompilovaného jádra, pokud to vůbec jde a já to svedu. Mám blbou mánii, nedělat nic, když nevim jak z toho ven.
Název: Re:▶ Kompilace kernelu- podrobný návod (pro 2.6.x & 3.x) [Aktualizováno]
Přispěvatel: Sonic X 13. 08. 2012, 21:41:51
Zdravím, tak jsem si sosnul vanillu linux-3.4.7, trošku to osekal, po troše úprav se to zdařilo i zkompilovat. Nicméně nejde to nainstalovat. Píše to:

Kód: [Vybrat]
root@PC:/usr/src# dpkg -i linux-image-3.4.7-2_3.4.7-2-10.00.Custom_i386.deb
Instaluji balík linux-image-3.4.7-2.
(Čtu databázi … nyní je nainstalováno 168753 souborů a adresářů.)
Rozbaluji linux-image-3.4.7-2 (z linux-image-3.4.7-2_3.4.7-2-10.00.Custom_i386.deb) …
Examining /etc/kernel/preinst.d/
Done.
Nastavuji balík linux-image-3.4.7-2 (3.4.7-2-10.00.Custom) …
Running depmod.
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/dkms 3.4.7-2 /boot/vmlinuz-3.4.7-2
dkms: running auto installation service for kernel 3.4.7-2:
      nvidia (96.43.18)...failed.
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 3.4.7-2 /boot/vmlinuz-3.4.7-2
update-initramfs: Generating /boot/initrd.img-3.4.7-2
run-parts: executing /etc/kernel/postinst.d/pm-utils 3.4.7-2 /boot/vmlinuz-3.4.7-2
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 3.4.7-2 /boot/vmlinuz-3.4.7-2
Generating grub.cfg ...
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Found linux image: /boot/vmlinuz-3.4.7-2
Found initrd image: /boot/initrd.img-3.4.7-2
Found linux image: /boot/vmlinuz-3.4.7-1
Found initrd image: /boot/initrd.img-3.4.7-1
Found linux image: /boot/vmlinuz-2.6.32-5-686
Found initrd image: /boot/initrd.img-2.6.32-5-686
done
root@PC:/usr/src# dpkg -i linux-headers-3.4.7-2_3.4.7-2-10.00.Custom_i386.deb
Instaluji balík linux-headers-3.4.7-2.
(Čtu databázi … nyní je nainstalováno 170265 souborů a adresářů.)
Rozbaluji linux-headers-3.4.7-2 (z linux-headers-3.4.7-2_3.4.7-2-10.00.Custom_i386.deb) …
Nastavuji balík linux-headers-3.4.7-2 (3.4.7-2-10.00.Custom) …
Examining /etc/kernel/header_postinst.d.
run-parts: executing /etc/kernel/header_postinst.d/dkms 3.4.7-2 /boot/vmlinuz-3.4.7-2
dkms: running auto installation service for kernel 3.4.7-2:
      nvidia (96.43.18)...failed.
root@PC:/usr/src#

Proč se mu nelíbí ovladač nvidia 96.43.18? Díky za odpověď


Debian 6 "Squeeze"
Linux 2.6.32-5-686
AMD Athlon XP2800+
1GB RAM
GPU: nVidia GeForce2 MX/MX400 64MB
Název: Re:▶ Kompilace kernelu- podrobný návod (pro 2.6.x & 3.x) [Aktualizováno]
Přispěvatel: Roman Horník 23. 10. 2012, 20:17:26
Návod byl upraven. Navíc, tohle je můj 666. příspěvek. Najdete mě pod oltářem z mrtvých těl :D
Název: LOG
Přispěvatel: gimli79 20. 06. 2014, 08:25:44
Dobrý den
Je z té kompilace někde log?
Jsem linuxí nováček a najít se mi ho nepodařilo a vygooglit taky ne.
Děkuji
Název: Re:▶ Kompilace kernelu- podrobný návod (pro 2.6.x & 3.x) [Aktualizováno]
Přispěvatel: Roman Horník 20. 06. 2014, 12:23:51
Logovat to asi neumí, teda nikdy jsem to nezkoušel, jen scrolluju v terminálu. Ale dalo by se to přesměrovat do souboru:
prikaz_pro_kompilaci > /cesta_pro_soubor/log_kompilace.txt
Název: Re:▶ Kompilace kernelu- podrobný návod (pro 2.6.x & 3.x) [Aktualizováno]
Přispěvatel: Palo M. 20. 06. 2014, 13:05:39
Pre logovanie (obzvlast kompilacie) odporucam skor:
Kód: [Vybrat]
prikaz_pro_kompilaci 2>&1 | tee /cesta_pro_soubor/log_kompilace.txt
Ale v pripade make-kpkg by som asi ako prve skusil:
Kód: [Vybrat]
find /cesta_k_build_adresaru/ -name \*build\*.log -print(make-kpkg som nespustil uz niekolko rokov, tak si presne nepamatam, ci ten log niekde nie je vytvoreny automaticky)
Název: Re:▶ Kompilace kernelu- podrobný návod (pro 2.6.x & 3.x) [Aktualizováno]
Přispěvatel: tribalcz 18. 03. 2015, 21:41:51
Tak sem se vrhnul do kompilace nejnovějšího jádra (3.19.2) a při pokusu o kompilaci mi to vypsalo toto
Kód: [Vybrat]
/usr/bin/fakeroot: řádek 178: make-kpkg: příkaz nenalezen
Název: Re:▶ Kompilace kernelu- podrobný návod (pro 2.6.x & 3.x) [Aktualizováno]
Přispěvatel: Roman Horník 28. 05. 2015, 09:21:26
To by měl zajistit balík kernel-package
Název: Re:▶ Kompilace kernelu- podrobný návod (pro 2.6.x, 3.x, 4.x) [Aktualizováno]
Přispěvatel: Roman Horník 26. 09. 2018, 06:59:52
Aktualizováno (přidán tip na localmodconfig, upraveny závislosti). Kdyby něco, pište.
Název: Re:▶ Kompilace kernelu- podrobný návod (pro 2.6.x, 3.x, 4.x) [Aktualizováno]
Přispěvatel: Roman Horník 22. 03. 2019, 02:43:32
Malá, ale důležitá aktualizace - při instalaci ovladače skrze DKMS jsem dostal chybovou hlášku, že chybí, tuším, config.h - vyřešil jsem to spuštěním make prepare před samotnou kompilací.