Autor Téma: ▶ Kompilace jádra - podrobný návod (pro 2.6.x, 3.x, 4.x, 5.x) [Aktualizováno]  (Přečteno 45860 krát)

Offline Roman Horník

  • Hlavní moderátor
  • Aktivní­ uživatel
  • *****
  • Příspěvků: 1.326
    • Zobrazit profil
  • Jabber: roman.hornik@jabber.cz
Re: ▶ Kompilace kernelu- podrobnější návod ◀
« Odpověď #15 kdy: 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č?
« Poslední změna: 22. 08. 2010, 20:03:07 od Roman Horník »
Debian Sid 64bit + Mate Desktop Environment
* CPU: Intel Pentium G2020
* GPU: NVIDIA GTX650 1GD5
* MB: LenINovo IH61M
* RAM: 8GiB Deutsche Demokratische Republik 3

Offline Ota Trkola

  • Administrátor
  • Aktivní­ uživatel
  • *****
  • Příspěvků: 1.261
    • Zobrazit profil
  • Jabber: otas.pe@jabbim.cz
Re: ▶ Kompilace kernelu- podrobnější návod ◀
« Odpověď #16 kdy: 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.
« Poslední změna: 22. 08. 2010, 20:29:18 od Ota Trkola »
Debian Gnome 64bit

Návod na Netinst instalaci

Offline Roman Horník

  • Hlavní moderátor
  • Aktivní­ uživatel
  • *****
  • Příspěvků: 1.326
    • Zobrazit profil
  • Jabber: roman.hornik@jabber.cz
Re: ▶ Kompilace kernelu- podrobnější návod ◀
« Odpověď #17 kdy: 22. 08. 2010, 20:38:40 »
Japato? :)
Debian Sid 64bit + Mate Desktop Environment
* CPU: Intel Pentium G2020
* GPU: NVIDIA GTX650 1GD5
* MB: LenINovo IH61M
* RAM: 8GiB Deutsche Demokratische Republik 3

Offline Ota Trkola

  • Administrátor
  • Aktivní­ uživatel
  • *****
  • Příspěvků: 1.261
    • Zobrazit profil
  • Jabber: otas.pe@jabbim.cz
Re: ▶ Kompilace kernelu- podrobnější návod ◀
« Odpověď #18 kdy: 22. 08. 2010, 20:43:38 »
Jsem spokojenej s open source ovladačem, takže není důvod.
Debian Gnome 64bit

Návod na Netinst instalaci

Offline Roman Horník

  • Hlavní moderátor
  • Aktivní­ uživatel
  • *****
  • Příspěvků: 1.326
    • Zobrazit profil
  • Jabber: roman.hornik@jabber.cz
Re: ▶ Kompilace kernelu- podrobnější návod ◀
« Odpověď #19 kdy: 22. 08. 2010, 20:45:31 »
Šťastná to žena... :D
Debian Sid 64bit + Mate Desktop Environment
* CPU: Intel Pentium G2020
* GPU: NVIDIA GTX650 1GD5
* MB: LenINovo IH61M
* RAM: 8GiB Deutsche Demokratische Republik 3

Offline Roman Horník

  • Hlavní moderátor
  • Aktivní­ uživatel
  • *****
  • Příspěvků: 1.326
    • Zobrazit profil
  • Jabber: roman.hornik@jabber.cz
Re: ▶ Kompilace kernelu- podrobnější návod ◀
« Odpověď #20 kdy: 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?
Debian Sid 64bit + Mate Desktop Environment
* CPU: Intel Pentium G2020
* GPU: NVIDIA GTX650 1GD5
* MB: LenINovo IH61M
* RAM: 8GiB Deutsche Demokratische Republik 3

Offline Roman Horník

  • Hlavní moderátor
  • Aktivní­ uživatel
  • *****
  • Příspěvků: 1.326
    • Zobrazit profil
  • Jabber: roman.hornik@jabber.cz
Re: ▶ Kompilace kernelu- podrobnější návod ◀
« Odpověď #21 kdy: 23. 08. 2010, 17:04:07 »
Aktualizováno, pár chyb opraveno
Debian Sid 64bit + Mate Desktop Environment
* CPU: Intel Pentium G2020
* GPU: NVIDIA GTX650 1GD5
* MB: LenINovo IH61M
* RAM: 8GiB Deutsche Demokratische Republik 3

Offline Ota Trkola

  • Administrátor
  • Aktivní­ uživatel
  • *****
  • Příspěvků: 1.261
    • Zobrazit profil
  • Jabber: otas.pe@jabbim.cz
Re: ▶ Kompilace kernelu- podrobnější návod ◀
« Odpověď #22 kdy: 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.
Debian Gnome 64bit

Návod na Netinst instalaci

Offline koljin

  • Začátečník
  • **
  • Příspěvků: 86
    • Zobrazit profil
Re: ▶ Kompilace kernelu- podrobnější návod ◀
« Odpověď #23 kdy: 23. 08. 2010, 21:43:40 »
Ahoj. Dá se samotná kompilace provádět i pod normálnim uživatelem, a ne rootem?

Offline Roman Horník

  • Hlavní moderátor
  • Aktivní­ uživatel
  • *****
  • Příspěvků: 1.326
    • Zobrazit profil
  • Jabber: roman.hornik@jabber.cz
Re: ▶ Kompilace kernelu- podrobnější návod ◀
« Odpověď #24 kdy: 23. 08. 2010, 21:52:12 »
Teoreticky by to mělo jít.
Debian Sid 64bit + Mate Desktop Environment
* CPU: Intel Pentium G2020
* GPU: NVIDIA GTX650 1GD5
* MB: LenINovo IH61M
* RAM: 8GiB Deutsche Demokratische Republik 3

Offline ulo

  • Začátečník
  • **
  • Příspěvků: 111
    • Zobrazit profil
    • Linux Mint Czech
Re: ▶ Kompilace kernelu- podrobnější návod
« Odpověď #25 kdy: 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íš...
PC-doma:  LinuxMint 17.2 KDE (64bit) - AMD Athlon II X2 270, MB ASUS M5A78L LE, RAM 4 GB, ATI Radeon HD4350
PC-práce: LinuxMint 17.2 KDE (32bit) - Intel Pentium 4, MB MSI 945G Neo, RAM 4 GB, GeForce 8400 GS
NB:  LinuxMint 17.1 KDE (32bit) - Acer TravelMate 3002
Servery:  Debian 6.0 Squeeze

Offline Roman Horník

  • Hlavní moderátor
  • Aktivní­ uživatel
  • *****
  • Příspěvků: 1.326
    • Zobrazit profil
  • Jabber: roman.hornik@jabber.cz
Re: ▶ Kompilace kernelu- podrobnější návod
« Odpověď #26 kdy: 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.
« Poslední změna: 09. 09. 2010, 18:25:18 od Roman Horník »
Debian Sid 64bit + Mate Desktop Environment
* CPU: Intel Pentium G2020
* GPU: NVIDIA GTX650 1GD5
* MB: LenINovo IH61M
* RAM: 8GiB Deutsche Demokratische Republik 3

Offline ulo

  • Začátečník
  • **
  • Příspěvků: 111
    • Zobrazit profil
    • Linux Mint Czech
Re: ▶ Kompilace kernelu- podrobnější návod
« Odpověď #27 kdy: 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...
PC-doma:  LinuxMint 17.2 KDE (64bit) - AMD Athlon II X2 270, MB ASUS M5A78L LE, RAM 4 GB, ATI Radeon HD4350
PC-práce: LinuxMint 17.2 KDE (32bit) - Intel Pentium 4, MB MSI 945G Neo, RAM 4 GB, GeForce 8400 GS
NB:  LinuxMint 17.1 KDE (32bit) - Acer TravelMate 3002
Servery:  Debian 6.0 Squeeze

Offline Roman Horník

  • Hlavní moderátor
  • Aktivní­ uživatel
  • *****
  • Příspěvků: 1.326
    • Zobrazit profil
  • Jabber: roman.hornik@jabber.cz
Re: ▶ Kompilace kernelu- podrobnější návod
« Odpověď #28 kdy: 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.
Debian Sid 64bit + Mate Desktop Environment
* CPU: Intel Pentium G2020
* GPU: NVIDIA GTX650 1GD5
* MB: LenINovo IH61M
* RAM: 8GiB Deutsche Demokratische Republik 3

Offline ulo

  • Začátečník
  • **
  • Příspěvků: 111
    • Zobrazit profil
    • Linux Mint Czech
Re: ▶ Kompilace kernelu- podrobnější návod
« Odpověď #29 kdy: 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
PC-doma:  LinuxMint 17.2 KDE (64bit) - AMD Athlon II X2 270, MB ASUS M5A78L LE, RAM 4 GB, ATI Radeon HD4350
PC-práce: LinuxMint 17.2 KDE (32bit) - Intel Pentium 4, MB MSI 945G Neo, RAM 4 GB, GeForce 8400 GS
NB:  LinuxMint 17.1 KDE (32bit) - Acer TravelMate 3002
Servery:  Debian 6.0 Squeeze