2017-07-26 1 views
0

Ich versuche eine RPM zu erstellen, die ein Kernelmodul enthält. Wenn ich es auf CentOS erstellen i% verwendet (uname -r) das .ko im Modulverzeichnis kopieren uname -r erweitert zu „3.10.0-327.el7.x86_64“Kann ich eine generische Spezifikationsdatei für mehrere Kernelversionen während der Erstellung von rpm haben

Nun, wenn ich die installiert werden soll gleiche ko auf anderen System mit dem gleichen Kernel-Version mit rpm, erstellt es einen separaten Ordner für sie also

aka /lib/modules/3.10.0-327.el7.x86_64 auf dem anderen System

Kann ich schreiben eine generische Spezifikationsdatei, die das Modul in den spezifischen Ordner kopiert. Bitte führen.

Antwort

0

Leider gibt es no longer an official way to do kernel modules. Die %(uname -r) füllt bei RPM-Build-Zeit; Sie können keine Variable in Ihrer %files Zeilengruppe haben.

Als Workaround habe ich die Modulquelle an einem vernünftigen Ort und dann baue ich den Treiber in meinem %post. Ich habe auch ein Startskript, das auf neuem Kernel neu erstellt, weil %triggerin nicht funktioniert. Ich deinstalliere das eingebaute Kernelmodul unter %preun.

Verwandte Themen