Portál AbcLinuxu, 20. května 2025 23:14
Téma tohto blogu je používanie ccache pri kompilácii linuxového jadra.
V určitých prípadoch je kompilácia jadra zdĺhavá činnosť. Tento proces predstavuje generovanie tisícok súborov jadra. V blogu budem popísovať podmienky, ktoré je nutné splniť aby ccache fungovala požadovaným spôsobom.
ccache umožňuje uloženie objektov kompilácie a ich prípadne využitie pri nutnosti kompilácie s inými parametrami.
Podľa man je možné nastavniť použitie ccache pomocou premenných prostredia
export CCACHE_DIR=cesta k priečinku ccache
export PATH=/usr/lib/ccache:$PATH
export CCACHE_COMPILERCHECK=content
V prípade original jadra z kernel.org je čistenie adresára kompilácie bez problémov. ccache funguje normálne aj po použití make mrproper
.
V prípade patchu grsecurity čistenie make mrproper
spôsobi, že ccache nedokáže spárovať jednotlivé objekty z predchadzajucej kompilácie. Bez problémov je možné použiť make clean
Ďalšia vec na ktorú je nutné si dať pozor je príkaz na kompiláciu. Ak sa použije napríklad make -j 8 deb-pkg
, tak nutné použiť rovnaký príkaz aj ďalšiu kompiláciu.
Zvýšená náročnosť na IO operácie.
Predpokladám, že tento blog pomôže urýchliť kompiláciu jadra a možno aj iných projektov prekladaných gcc a pod. Neviem ktorá chyba v ccache spôsobuje divne správanie po vyčistení make mrproper
.
Tiskni
Sdílej:
K té výhodě číslo 2 - to přece dělá přímo make ne (znovu překládá jen to co se změnilo)?Myslim, že ne nutně. Třeba u kompilace CyanogenModu je taky ccache potřeba, jinak kompiluje všecko znova make nemake...
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.