HOWTO Compile Kernel With Distcc and CCache
Uit Gentoo Linux Wiki
HOWTO Kernel compilatie met Distcc en CCache
Inhoud |
[bewerken] HOWTO Kernel compilatie met Distcc en CCache
Dit artikel legt uit hoe je een linux kernel kan compileren met twee of meer Pc’s gebruik makend van distcc.
[bewerken] Vereisten
Dit opzet vereist 2 of meer linux hosts met dezelfde basis van gcc op een IP network, bij voorkeur een privé netwerk. Distcc moet geïnstalleerd staan op alle hosts (zie [1]).
Het gebruik van ccache is optioneel.(see [2]) Zie www.delorenzo.info
[bewerken] Installatie
In dit voorbeeld veronderstellen we dat we een of meerdere server machines hebben die een distcc daemon werkend hebben, en een client machine waarop de kernel compilatie zal gebeuren. De client machine kan mogelijks deelnemen aan de kernelcompilatie. Indien niet, dan zal de kernel door de servers worden gecompileerd.
[bewerken] Op de server(s)
Nu bekijken we de configuratie eigenschappen op de server(s).
Het bestand /etc/conf.d/distccd
DISTCCD_OPTS="-j2" #Het aantal bestanden verwerkt door distcc
[...]
DISTCCD_OPTS="${DISTCCD_OPTS} --port 3632" #Netwerk poort config
[...]
DISTCCD_OPTS="${DISTCCD_OPTS} --log-level critical" #Syslog config
[...]
DISTCCD_OPTS="${DISTCCD_OPTS} --allow 192.168.0.0/24" #Netwerk config. Dit is het net waar de server de aanvragen opvangt
[...]
DISTCCD_NICE="15"
Start tenslotte de distcc server
[user@system ~] /etc/init.d/distccd start
[bewerken] Als de client mee de kernel zou moeten compileren...
In dit geval kunnen we de kernel op deze wijze compileren:
[user@system ~] export DISTCC_HOSTS="localhost 192.168.0.10" #localhost is de client host; De 192.168.x.x is de distcc server [user@system ~] cd /usr/src/linux [user@system ~] make CC="distcc gcc" -j4
[bewerken] Als de client de kernel niet compileert...
In dit geval compileren we de kernel als volgt:
[user@system ~] export DISTCC_HOSTS="192.168.0.10" [user@system ~] cd /usr/src/linux [user@system ~] make CC="distcc" -j4
[bewerken] Ccache toevoegen
Installeer Ccache:
emerge -av ccache
Stel Ccache in om alle make commando’s met distcc te laten voorafgaan:
[user@system ~] export CCACHE_PREFIX='distcc'
Als de client mee de kernel zou moeten compileren met Ccache
In dit geval kunnen we de kernel op deze wijze compileren:
[user@system ~] export DISTCC_HOSTS="localhost 192.168.0.10" #localhost is de client host; De 192.168.x.x is de distcc server [user@system ~] cd /usr/src/linux [user@system ~] make CC="ccache gcc" -j4
Als de client de kernel niet compileert maar toch Ccache gebruikt
In dit geval kunnen we de kernel op deze wijze compileren:
[user@system ~] export DISTCC_HOSTS="192.168.0.10" [user@system ~] cd /usr/src/linux [user@system ~] make CC="ccache gcc" -j4
[bewerken] Bronnen
Distcc Home Page
Ccache Home Page
Gentoo Distcc Documentation
Speed up compiling software with distcc
Speeding up recompilation with ccache
