Kernel

Z Wiki UnArt Slavičín
Skočit na navigaciSkočit na vyhledávání

Kompilace

Nainstalujeme potřebné balíky.

apt-get install kernel-package ncurses-dev fakeroot wget bzip2

Stáhneme si potřebnou verzi kernelu ze stránek http://www.kernel.org/pub/linux/kernel/v2.6/.

cd /usr/src
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.30.tar.gz

nebo

wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.30.tar.bz2

a rozbalíme

tar zxvf linux-2.6.30.tar.gz

nebo

tar xjf linux-2.6.30.tar.bz2

Přejdeme do složky

cd linux-2.6.30


Pod debianem zkompilujeme kernel následujícím způsobem.


Nakonfigurujeme kernel pomocí

make menuconfig

nebo použijeme nastavení aktuálního kernelu

make oldconfig

No a přeložíme kernel. Vznikne nám deb balíček a ten jednoduče nainstalujeme pomocí dpkg -i

make-kpkg clean
fakeroot make-kpkg --revision=kernel-dvb kernel_image

Kompilace modulů

Pokud je potřeba do stávajícího kernelu přeložit pouze nějaký novější modul, není potřeba překládat celý kernel - stačí mít jen správný balíček kernel-headers-x-y a správné symlink-y v /usr/src.

Nejjednoduší je ovšem použít module-assistant:

apt-get install module-assistant
m-a update
m-a prepare

Příkaz m-a umí stáhnout deb balíček se zdrojákem modulu přímo z repozitáře debianu, přeložit ho a nainstalovat, např.:

m-a a-i ndiswrapper

Pokud ale chceme modul, který debian v repozitáři nemá - např. poslední verzi driveru ath5k nebo e1000, pak role m-a končí příkazem "m-a prepare". Následuje běžné stažení a pak kompilace a instalace modulu přes "make install".

Problémy

Překlad vlastního linux kernelu je vždy porod - s novými verzemi přichází stále nová překvapení.

Momentálně zápasím s Romanovým 2.6.21.7-smp-xeon, který ve VmWare jede, ale při bootu se objeví tato chybová hláška: