Účel: Mnohokrát budete v situaci, kdy je třeba sestavit out-of-strom moduly do jádra, což znamená, že jádro, které je v současné době běží nemá požadovaný modul (řekněme Squashfs, ndiswrapper, atd.). V takové situaci, člověk potřebuje obvykle ke stažení zdroje někde jinde a pak kompilovat proti chodu jádra. V tomto příspěvku nebudeme mluvit o tom, jak to udělat celý proces, spíše jsem se poukázat na některé tipy a triky, které vám umožní překonat některé běžné chybové zprávy, které dostanete při kompilaci out-of-stromu modulu .

Některé běžné chybové zprávy, které dostanete, když se pokusíte dát příkaz make, jsou následující:

  • skripty / genksyms / genksyms: Žádný takový soubor nebo adresář

  • / Bin / sh: scripts / mod / modpost: nenalezen

  • Konfigurace jádra je neplatná. include / linux / include / nebo autoconf.h config / auto.conf chybí. Spustit 'make && make oldconfig připravit "na kernel src opravit.

  • VAROVÁNÍ: Symbol version dump / usr/src/linux-2.6.29/Module.symvers chybí, modul nebude mít žádné závislosti a modversions.

Než budete pokračovat, ujistěte se, že máte nainstalovány zdrojové kódy jádra, proti které se chystáte stavět moduly.

Ve snaze vyřešit některé nebo všechny z výše uvedených chybových zpráv proveďte následující kroky:


# cd /lib/modules/2.6.29-1-686/
# ln -s /usr/src/linux-source-2.6.29 build
# cd /usr/src/linux-source-2.6.29
# make mrproper
# cp /boot/config-$(uname -r) .config
# make oldconfig
# make prepare
# make scripts

a nakonec přejděte do adresáře, kde se vaše zdroje bydliště (není zdroj jádra) a dát příkaz make:
# cd /usr/src/my-graphics-kernel-module-source/
# make clean
# make

Poznámka: Zde předpokládáme, že se snažíte vybudovat jaderný modul proti jádra, kterou používáte. Předpokládejme například, že používáte jádro verze 2.6.29-1-686 a vy se snažíte vytvořit modul pro tuto běžícího jádra.

Další poznámky:

Také pokud máte nainstalován balíček kernel headers pro vaše běžícího jádra pak většinou pravděpodobně nebudete potřebné k provedení výše uvedených kroků. Navíc, pokud máte nainstalován kernel headers pak nemusíte mít nainstalovány zdrojové kódy jádra. Jádro záhlaví balíček je jen podmnožinou balíku kernel.

Být společenský, Share!