Kernel für mehrere Maschinen bauen
![](https://seccdn.libravatar.org/avatar/73166db4487cc5490022833f99316e97.jpg?s=120&d=mm&r=g)
Hallo Liste! Ich will einen Kernel für mehrere (~20) Maschinen bauen. Es soll ein Vanilla-2.4.24 werden. Welche Vorgehensweise würdet Ihr empfehlen. - Versuchen ein spec-File für SuSE-Kernel-RPMs so umzubauen, dass ich die Installation hinterher mit RPM machen kann? - Ganz normal bauen und hinterher manuell installieren (das Quellverzeichnis würde ich natürlich über NFS exportieren) - Oder gibt es so was wie make-kpkg bei Debian auch für SuSE, das erschiene mir als eleganteste Lösung? Gruß Christoph
![](https://seccdn.libravatar.org/avatar/208f884b860bee2b1a5f890e5c5756d7.jpg?s=120&d=mm&r=g)
Hallo! Christoph Maurer wrote:
Ich will einen Kernel für mehrere (~20) Maschinen bauen. Es soll ein Vanilla-2.4.24 werden.
Sind die Maschinen alle identisch (CPU, Chipsatz, etc.) oder brauchst Du unterschiedliche Optionen sprich Konfigurationsdateien und/oder spaeter unterschiedliche initrd's? Haben die Maschinen die gleiche Bootloader-Konfiguration? Das wuerde z.B. eine Automatisierung erleichtern, siehe unten.
Welche Vorgehensweise würdet Ihr empfehlen.
- Versuchen ein spec-File für SuSE-Kernel-RPMs so umzubauen, dass ich die Installation hinterher mit RPM machen kann?
Wenn Du den neuen Kernel erst einmal parallel zum alten Kernel installieren willst, ist RPM nicht ideal, weil das ja dann erst einmal nicht geht - da musst Du dann entweder mit den Optionen --nodeps und --force arbeiten, oder den alten Kernel mit "rpm -e --justdb" aus der RPM-Datenbank nehmen. Im Kernel 2.6 Makefile gibt es, by the way, direkt ein Target zum Bau eines RPM-Paketes. Wenn Du den alten Kernel ersetzen willst, ist natuerlich RPM einen Blick wert.
- Ganz normal bauen und hinterher manuell installieren (das Quellverzeichnis würde ich natürlich über NFS exportieren)
Ich glaube, wenn die Maschinen einigermassen identisch sind, wuerde ich schlicht ein Tar-File mit den Modulen und dem Kernel kreieren. Dazu ein kleines Skript, was dann auf der Zielmaschine das Tar-File entpackt (und damit Kernel und Module an die richtige Stelle bringt), gegebenenfalls eine initrd kreiert und evtl. den Bootloader anpasst. Sollte sich recht leicht bewerkstelligen lassen (wie gesagt, sofern die Sachen auf den Maschinen identisch sind). Gruesse, Thomson
![](https://seccdn.libravatar.org/avatar/73166db4487cc5490022833f99316e97.jpg?s=120&d=mm&r=g)
* Am Mon, 12 Jan 2004 schrieb Thomas Hertweck:
Christoph Maurer wrote:
Ich will einen Kernel für mehrere (~20) Maschinen bauen. Es soll ein Vanilla-2.4.24 werden.
Sind die Maschinen alle identisch (CPU, Chipsatz, etc.) oder brauchst Du unterschiedliche Optionen sprich Konfigurationsdateien und/oder spaeter unterschiedliche initrd's? Haben die Maschinen die gleiche Bootloader-Konfiguration? Das wuerde z.B. eine Automatisierung erleichtern, siehe unten.
Zwar nicht identisch, aber ähnlich genug, um die gleiche .config, die gleiche lilo.conf, keine initrd etc. zu verwenden.
Welche Vorgehensweise würdet Ihr empfehlen.
- Versuchen ein spec-File für SuSE-Kernel-RPMs so umzubauen, dass ich die Installation hinterher mit RPM machen kann?
Wenn Du den neuen Kernel erst einmal parallel zum alten Kernel installieren willst, ist RPM nicht ideal, weil das ja dann erst einmal nicht geht - da musst Du dann entweder mit den Optionen --nodeps und --force arbeiten, oder den alten Kernel mit "rpm -e --justdb" aus der RPM-Datenbank nehmen. Im Kernel 2.6 Makefile gibt es, by the way, direkt ein Target zum Bau eines RPM-Paketes. Wenn Du den alten Kernel ersetzen willst, ist natuerlich RPM einen Blick wert.
Ersetzen will ich nicht unbedingt, von mir aus kann der alte Kernel weg, wenn der neue auf allen Maschinen ohne Probleme läuft, aber vorher nicht...
- Ganz normal bauen und hinterher manuell installieren (das Quellverzeichnis würde ich natürlich über NFS exportieren)
Ich glaube, wenn die Maschinen einigermassen identisch sind, wuerde ich schlicht ein Tar-File mit den Modulen und dem Kernel kreieren. Dazu ein kleines Skript, was dann auf der Zielmaschine das Tar-File entpackt (und damit Kernel und Module an die richtige Stelle bringt), gegebenenfalls eine initrd kreiert und evtl. den Bootloader anpasst. Sollte sich recht leicht bewerkstelligen lassen (wie gesagt, sofern die Sachen auf den Maschinen identisch sind).
Ja, in der Tat wohl am einfachsten... Warum hat niemand sowas Geniales wie make-kpkg für rpm gebaut :-( Danke und Gruß Christoph
![](https://seccdn.libravatar.org/avatar/208f884b860bee2b1a5f890e5c5756d7.jpg?s=120&d=mm&r=g)
Christoph Maurer wrote:
[...] Ja, in der Tat wohl am einfachsten... Warum hat niemand sowas Geniales wie make-kpkg für rpm gebaut :-(
Du kannst auch bei einem Vanilla-Kernel 2.4.24 nach der Konfiguration ein "make rpm" laufen lassen, falls Du das moechtest; ich habe gerade gesehen, dass das auch beim 2.4.24 implementiert ist im Kernel-Makefile. CU, Th.
![](https://seccdn.libravatar.org/avatar/7b33cb1e776e35b87edb8ef09f0c888f.jpg?s=120&d=mm&r=g)
Hallo, Am Mon, 12 Jan 2004, Thomas Hertweck schrieb:
Christoph Maurer wrote:
[...] Ja, in der Tat wohl am einfachsten... Warum hat niemand sowas Geniales wie make-kpkg für rpm gebaut :-(
Du kannst auch bei einem Vanilla-Kernel 2.4.24 nach der Konfiguration ein "make rpm" laufen lassen, falls Du das moechtest; ich habe gerade gesehen, dass das auch beim 2.4.24 implementiert ist im Kernel-Makefile.
nb: das gibt's schon laenger :) Mindestens seit 2.4.16. Bei 2.4.10pre11 gab's das aber wohl noch nicht. -dnh -- 168: Computer Ein Computer ein hochkomplexes System ist, in dem alles Mögliche und Undurchschaubare geschieht, so daß es an ein Wunder grenzt, wenn ab und zu tatsächlich das passiert, was passieren soll. (Stefan Nobis)
![](https://seccdn.libravatar.org/avatar/73166db4487cc5490022833f99316e97.jpg?s=120&d=mm&r=g)
* Am Die, 13 Jan 2004 schrieb David Haller:
Hallo,
Am Mon, 12 Jan 2004, Thomas Hertweck schrieb:
Christoph Maurer wrote:
[...] Ja, in der Tat wohl am einfachsten... Warum hat niemand sowas Geniales wie make-kpkg für rpm gebaut :-(
Du kannst auch bei einem Vanilla-Kernel 2.4.24 nach der Konfiguration ein "make rpm" laufen lassen, falls Du das moechtest; ich habe gerade gesehen, dass das auch beim 2.4.24 implementiert ist im Kernel-Makefile.
nb: das gibt's schon laenger :) Mindestens seit 2.4.16. Bei 2.4.10pre11 gab's das aber wohl noch nicht.
Und was macht der dann? Benennt er System.map korrekt (mit Versionsnummer), archiviert die Konfiguration? Irgendwelche postinstall-Skripte (lilo oder so?) Okay, ich kann ja auch selber nachschauen :-) make spec erzeugt erst mal das spec-File, wie es aussieht, ist das durchaus brauchbar (keine Skripte, aber Namensgebung mit Versionsnummern) Gruß Christoph
participants (3)
-
Christoph Maurer
-
David Haller
-
Thomas Hertweck