Hallo zusammen,
vielleicht habt Ihr wie ich auch den Drang, öfters am VDR rumzubasteln.
Und vielleicht habt Ihr auch nicht die leistungsfähigste CPU im VDR, sondern eher einen Stromspar-Prozzi wie z.B. den VIA Eden.
Dann habt Ihr bestimmt auch das Problem, dass die make-Vorgänge quälend lange dauern, insbesondere wenn wider mal ein neuer Kernel gebaut werden muss.
Dann habt Ihr vielleicht Interesse an folgender Lösung:
Aufsetzen eines Compile-Clusters mit ICECREAM
Was braucht man dazu?
Zunächst mal mehrere LINUX-Rechner, es soll ja schliesslich ein Cluster werden.
Wer wie ich neben dem Compilieren gerne etwas auf seinem Windows-Desktop erledigt, kann hierbei auch zu VMWare greifen und einen virtuellen LINUX-Server aufsetzen.
Hier also meine Vorgehensweise:
1. VMWare Server kostenlos hier runterladen und installieren
2. Eine VM mit einem Minimal-Linux aufsetzen (kein Desktop, kein X, kein sonstiger Schnickschnack). Das Netzwerk der VM habe ich auf "default bridged" gestellt.
3. Auf allen Rechnern (können beliebig viele physikalische Kisten oder VMs sein) ICECREAM installieren. Für Gentoo sieht das so aus (für andere Distris bitte googlen):
a) emergen von maskiertem Package für ICECREAM zulassen
b) ICECREAM installieren
c) /etc/make.conf anpassen
Anzahl der Prozessoren im Cluster + 1 setzen (=N)
portage soll ICECREAM nutzen
d) /etc/profile anpassen
make soll ICECREAM nutzen
e) /etc/conf.d/icecream anpassen
Auf dem Server (es darf nur einen geben!):
Auf allen Clients:
Anzahl der Prozessoren im Cluster + 1 setzen (=N), siehe oben
Ich musste bei mir noch die IP des ICECREAM-Servers/Schedulers eintragen, da das Broadcasting scheinbar nicht funktioniert hat:
4. So jetzt noch den ICECREAM-Dienst auf allen Rechnern, inkl. VDR starten
und ggf. so einstellen, dass der Dienst beim Hochfahren gestartet wird:
5. make oder emerge starten und sich freuen, wie schnell das geht.
Ein Kernel make dauert bei mir nur noch ca. 25% der Zeit, da die meiste Arbeit auf meinem DualCore Desktop (innerhalb der VM) verrichtet wird.
Das schöne an ICECREAM (im Unterschied zu distcc) ist, dass der Server die Last dynamisch verteilt, d.h. die schnellen Rechner bekommen mehr Compile-Jobs.