27.1.1. Překlad a instalace

Protože si pro vlastní potřebu vždycky překládám jádro sám, nemohu využívat řady přeložených balíčků jenž mají úzkou vazbu právě na jádro. Z tohoto důvodu jsem si taky překládal CIPE. Po nainstalování zdrojů a rozabalení jsem je zkompiloval spolu s ostatními moduly příkazem

# export PATCH_THE_KERNEL=NO
# make-kpkg clean
# make-kpkg --append-to-version -yoda --revision 1 modules_image

Nainstalovaný modul pěkně funguje.

Po nějaké době jsem potřeboval použít jádro 2.4.22. CIPE ovšem nešel s tímto jádrem přeložit. Brzy jsem zjistil, že jádro 2.4.22 v Debianu není čisté vanilla jádro od Linuse, ale je vývojáři Debianu upraveno. Zcela jistě jsou do něj portovány nějaké věci z jader 2.6.0-pre. Vyvstal problém jak CIPE s tímto jádrem přeložit. Možnost použití vanilla jádra jsem si ponechal až jako poslední možnost a jal se hledat řešení.

Upravil jsem soubor /usr/src/modules/cipe/cipe/output.c následujícím způsobem:

$ diff -u output.c.orig output.c

patch:cipe-1.5.4free-6_for_kernel-2.4.22_part2;

Zbývalo dořešit jakým způsobem a kde definuji identifikátor LINUX_26 který oznamuje že se jedná o jádro do kterého byly přepsány některé věci z jádra 2.6.0-pre. První pokus byl zavést tento identifikátor v souboru /usr/src/linux/include/linux/version.h.

#define LINUX_26 1

Tento soubor se ovšem generuje a tak opravdu není nejvhodnějším místem. Poté jsem se rozhodl pro „špinavý“ hack. Definici jsem přidal do souboru /usr/src/modules/cipe/cipe/cipe.h

patch:cipe-1.5.4free-6_for_kernel-2.4.22_part2;

Jak je vidět definici symbolu LINUX_26 jsem podmínil verzí jádra 2.4.22, neboť nevím jak zjistit že se jedná o upravené jádro pro Debian a počítám s tím že budu překládat jen toto upravené jádro.