kernel-pkg.conf(5) Konfigurationsdatei für Make-Kpkg

ÜBERSICHT

/etc/kernel-pkg.conf oder ~/.kernel-pkg.conf

BESCHREIBUNG

Die Datei /etc/kernel-pkg.conf oder ~/.kernel-pkg.conf ist tatsächlich ein Makefile-Schnipsel, der während des Bauprozesses der Kernel-Pakete inbegriffen ist. Daher können Sie jede gültige Makefile-Direktive in dieser Datei ablegen (stellen Sie nur sicher, dass Sie wissen, was Sie tun). Falls die benutzerabhängige Konfigurationsdatei ~/.kernel-pkg.conf existiert, wird sie gegenüber der systemweiten Konfigurationsdatei /etc/kernel-pkg.conf bevorzugt geladen.

All die Variablen haben vernünftige Vorgabewerte und können pro Ausführung oder auf individueller Basis durch Verwendung einer Umgebungsvariable außer Kraft gesetzt werden. Einige der Variablen können obendrein durch Optionen für make-kpkg aufgehoben gesetzt werden.

Momentan werden folgende vom Benutzer veränderbaren Variablen unterstützt:

maintainer
der lokale Kernel-Paketbetreuer (Image, Header, Dokumentation, etc.); wird bei der Paketinstallation durch postinst gesetzt; kann durch die Umgebungsvariable KPKG_MAINTAINER außer Kraft gesetzt werden. Bitte achten Sie darauf, dass jegliche Apostrophe »'« wie folgt maskiert werden sollen: maintainer = John O'\''Brien. Ja, das ist hässlich, aber es funktioniert.
email
die E-Mail-Adresse dieser Person; wird bei der Paketinstallation durch postinst gesetzt; kann durch die Umgebungsvariable KPKG_EMAIL außer Kraft gesetzt werden
pgp
eine Schlüsselkennzahl, die beim Signieren von Paketen verwandt wird; wird üblicherweise neben dpkg-buildpackage unter Benutzung der Option -k und Modulen Dritter in der Umbebungsvariablen KMAINT mitgegeben, falls separate Module (wie PCMCIA etc.) in $MODULE_PATH gebaut werden; kann durch die Umbebungsvariable PGP_SIGNATURE außer Kraft gesetzt werden und wird (wieder) durch die Option --pgpsign von make-kpkg außer Kraft gesetzt. Vorgabe ist maintainer. (optional)
debian
die Version der Kernel-Pakete, schließt sowohl die Version der Originalautoren als auch die Debian-Überarbeitung ein; kann durch die Umbebungsvariable DEBIAN_REVISION außer Kraft gesetzt werden und wird (wieder) durch die Option --revision von make-kpkg außer Kraft gesetzt. Vorgabe ist <VERSION>-10.0.0.Custom. (optional)
debian_revision_mandatory
normalerweise nicht gesetzt. Falls dies oder die Umgebungsvariable DEBIAN_REVISION_MANDATORY gesetzt sind, dann führt es zu einem Fehler, wenn die Debian-Überarbeitung nicht bereitgestellt wird (und make-kpkg keinen Vorgabewert für 10.0.0.Custom bereitstellen soll).
kimage
der Kernel-Image-Typ (d.h. zImage oder bzImage); kann durch die Umbebungsvariable IMAGE_TYPE außer Kraft gesetzt werden und wird (wieder) durch die Optionen --zimage oder --bzimage von make-kpkg außer Kraft gesetzt. Vorgabe ist bzImage. (optional)
config_target
welcher Typ von Konfigurationsschritt zu unternehmen ist. Vorgabe ist »oldconfig«, was bei der normalen, nicht interaktiven (oder minimal interaktiven) Ausführung gut ist. (Die Umgebungsvariable CONFIG_TARGET setzt dies außer Kraft.) Falls der Wert von config_target nicht erkannt wird, wird er auf »oldconfig« zurückgesetzt.
use_saved_config
Diese Variable ist nur für Experten. Falls sie auf NO gesetzt ist (die Umgebungsvariable USE_SAVED_CONFIG setzt dies außer Kraft), wird die Datei .config.save auf der obersten Verzeichnisebene ignoriert.
root_cmd
Diese Variable ist dazu gedacht, im Ziel buildpackage an dpkg-buildpackage übergeben zu werden. Dies sollte als Mittel zum Erlangen von Superuser-Rechten gesetzt werden (beispielsweise »sudo« oder »fakeroot«), wie es die dpkg-buildpackages-Option -r erfordert. Die Umgebungsvariable ROOT_CMD setzt dies außer Kraft. Benutzen Sie die Umgebungsvariable UNSIGN_SOURCE, um eine Option an dpkg-buildpackage zu übergeben, dass die Quelle nicht signiert wird; verwenden Sie gleichermaßen die Umgebungsvariable UNSIGN_CHANGELOG, um eine Option an dpkg-buildpackage zu übergeben, dass das Änderungsprotokoll nicht signiert wird. Diese Variable ist wiederum nur nützlich für das buildpackage-Ziel. Setzen Sie die Umgebungsvariable ROOT_CMD, falls Sie zum Beispiel nur das Kernel-Image bauen möchten.
delete_build_link
Falls dies auf »YES« gesetzt ist, soll der symbolische Verweis /lib/modules/$VERSION/build aus dem resultierenden .deb-Paket entfernt werden. Die Umgebungsvariable DELETE_BUILD_LINK setzt dies außer Kraft. Standardmäßig ist sie nicht gesetzt. Beachten Sie, dass die Groß- und Kleinschreibung berücksichtigt wird, »yes« soll nicht funktionieren.
do_clean
Auf »YES« gesetzt, hat dies zur Folge, dass »make clean« im Kernel-Quellverzeichnisbaum ausgeführt wird, nachdem das Kernel-Image-Paket gebaut wurde. Die Umgebungsvariable CLEAN_SOURCE setzt dies außer Kraft. Standardmäßig ist sie nicht gesetzt. Beachten Sie, dass die Groß- und Kleinschreibung berücksichtigt wird, »yes« soll nicht funktionieren.
install_vmlinux
auf »YES« setzen, um das dekomprimierte ELF-Image zusammen mit dem bootbaren komprimierten Kernel-Image (vmlinuz) zu installieren. Standardmäßig ist es nicht gesetzt. Beachten Sie, dass die Groß- und Kleinschreibung berücksichtigt wird, »yes« soll nicht funktionieren.
image_clean_hook
gesetzt, dass es auf eine ausführbare Datei zeigt, sollte dies dafür sorgen, dass diese ausführbare Datei von der obersten Verzeichnisebene des (temporären) Kernel-Image-Baums ausgeführt wird, bevor das Kernel-Image gepackt wird. Dies hat auf nichts außer das Image Auswirkungen, das gepackt wird – falls das Skript im aktuellen Verzeichnis und seinen Unterverzeichnissen arbeitet, sollte der Originalquellverzeichnisbaum intakt bleiben. Dies soll Nachrichten des Kernel-Images erleichtern, das gepackt wird.
source_clean_hook
gesetzt, dass es auf eine ausführbare Datei zeigt. Dies soll dafür sorgen, dass diese ausführbare Datei von der obersten Verzeichnisebene des (temporären) Kernel-Image-Baums ausgeführt wird, bevor die Quellen gepackt werden, ./debian/tmp-source/usr/src/kernel-source-X.X.XX. Dies hat auf nichts außer das Image Auswirkungen, das gepackt wird – falls das Skript im aktuellen Verzeichnis und seinen Unterverzeichnissen arbeitet, sollte der Originalquellverzeichnisbaum intakt bleiben. Dies soll Nachrichten des Kernel-Images erleichtern, das gepackt wird (um zum Beispiel Verzeichnisse der Versionskontrolle zu entfernen oder unerwünschte Architekturen zu reduzieren).
header_clean_hook
gesetzt, dass es auf eine ausführbare Datei zeigt. Dies soll dafür sorgen, dass diese ausführbare Datei von der obersten Verzeichnisebene des Kernel-Headers ausgeführt wird, bevor die Header gepackt werden. Dies hat auf nichts außer das Image Auswirkungen, das gepackt wird – falls das Skript im aktuellen Verzeichnis und seinen Unterverzeichnissen arbeitet, sollte der Originalquellverzeichnisbaum intakt bleiben. Dies soll Nachrichten des Kernel-Images erleichtern, das gepackt wird (um zum Beispiel Verzeichnisse der Versionskontrolle zu entfernen oder unerwünschte Architekturen zu reduzieren).
doc_clean_hook
gesetzt, dass es auf eine ausführbare Datei zeigt. Dies soll dafür sorgen, dass diese ausführbare Datei von der obersten Verzeichnisebene des Dokumentationsverzeichnisbaums ausgeführt wird, bevor die Kernel-Dokumentation gepackt wird. Dies hat auf nichts außer das Image Auswirkungen, das gepackt wird – falls das Skript im aktuellen Verzeichnis und seinen Unterverzeichnissen arbeitet, sollte der Originalquellverzeichnisbaum intakt bleiben. Dies soll Nachrichten des Kernel-Images erleichtern, das gepackt wird (um zum Beispiel Verzeichnisse der Versionskontrolle zu entfernen oder unerwünschte Architekturen zu reduzieren).
extra_docs
Diese Variable sollte auf den Pfad jeder zusätzlichen Dokumentation gesetzt werden, die im Verzeichnis /usr/share/doc/kernel-image-X.X.XX/ installiert sein sollte. Es gibt dort keine Überprüfung auf Namenskonflikte und die Dateien werden nicht komprimiert. Falls Sie also wollen, dass die Dateien komprimiert werden, komprimieren Sie sie vorher und stellen den Pfad der komprimierten Datei bereit. Die Umgebungsvariable EXTRA_DOCS setzt dies außer Kraft und wäre höchstwahrscheinlich so wie zusätzliche Dokumentation angegeben.
kpkg_follow_symlinks_in_src
Diese Option ist insbesondere für die Leute nützlich, die Ansammlungen symbolischer Verweise zum Kompilieren von Kerneln verwenden. Mit dieser Option sollen Kernel-Quell- und -Header-Pakete nicht voller defekter symbolischer Verweise sein, sondern stattdessen soll den symbolischen Verweisen gefolgt werden. Bitte beachten Sie, dass jegliche symbolische Verweise in den Kernel-Quellen zusätzlich abgeflacht werden. Die Umgebungsvariable KPKG_FOLLOW_SYMLINKS_IN_SRC setzt dies außer Kraft. Standardmäßig ist sie nicht gesetzt.
make_libc_headers
Dies ist für die Verwendung durch den libc6-Paketbetreuer gedacht, wenn er libc6 kompiliert bis hin zum Paketieren der zugehörigen Header. SETZEN SIE DIES NICHT, es sei denn, Sie wissen was Sie tun, da eine falsche Zusammenstellung von Headern Ihres Pakets und libc6 eine hintergründige Instabilität in sämtlichem, auf Ihrem Rechner kompilierten Kode erzeugen könnte. Sie wurden gewarnt. Die Umgebungsvariable KPKG_FOLLOW_SYMLINKS_IN_SRC setzt dies außer Kraft. Standardmäßig ist sie nicht gesetzt.
CONCURRENCY_LEVEL
Diese Variable setzt, falls sie definiert ist, die Nebenläufigkeitsstufe von »make«, das benutzt wird, um den Kernel und die Module zu kompilieren, die mit -j-Schaltern zur Untererstellung im Ziel build von make-kpkg gesetzt sind. Sie sollte, wenn sie benutzt wird, eine (kleine) Ganzzahl sein.
ARCH_IN_NAME
Diese Variable veranlasst make-kpkg, falls sie definiert ist, einen erweiterten Namen für das Kernel-Image-Paket durch Einbetten der Unterarchitektur in den Image-Namen zu benutzen. Daher könnte jemand ein Skript schreiben, um nacheinander mehrere Unterarchitekturen zu erstellen. Bitte beachten Sie, dass nur der Paketname davon beeinflusst wird, nicht Modulspeicherorte etc.
CONFDIR
Setzen Sie diese Variable entweder in der Umgebung oder in der Konfigurationsdatei, um auf den Ort zu verweisen, an dem die Kernel-Konfigurationsdateien liegen. Dies sind architekturspezifische .config-Dateien (Beispiele finden Sie in /usr/share/kernel-package/Config). Dies ist nützlich für Leute, die für mehrere Architekturen kompilieren müssen. Vorgabe ist /usr/share/kernel-package/Config.
IMAGEDIR
Falls Sie das Image anderswo als in /boot speichern möchten, setzen Sie diese Variable auf das Verzeichnis, in das Sie das Image ablegen möchten. Dies könnte loadlin-Benutzern helfen. Vorgabe ist /boot.
MODULE_LOC
Setzen Sie diese Variable entweder in der Umgebung oder in der Konfigurationsdatei, um auf den Ort zu verweisen, an dem die Add-On-Module liegen. Vorgabe ist /usr/src/modules.

Der Wert der Variablen kann wie folgt gesetzt werden:
a)
In der Regeldatei existieren Vorgaben. Dies sind Werte, die benutzt werden, falls keine Anpassungen vorgenommen werden.
b)
In der Konfigurationsdatei /etc/kernel-pkg.conf können Variablen gesetzt werden. Diese Werte setzen die Vorgaben außer Kraft.
c)
Variablen können außerdem durch das Setzen der entsprechenden Umgebungsvariable gesetzt werden. Diese Werte setzen die Konfigurationsdatei und die Vorgaben außer Kraft.
d)
Unter Verwendung von make-kpkg-Optionen, oder, bei direkter Benutzung der Regeldatei, auf der Kommandozeile
# xxx/rules DEBIAN_REVISION=2.0a kernel_image
Dies setzt alle vorhergehenden Methoden außer Kraft.

DATEIEN

Die hier beschriebene Datei ist /etc/kernel-pkg.conf. oder ~/.kernel-pkg.conf.

BUGS

Es gibt hier keine Bugs. Jede Ähnlichkeit damit ist Wahn. Wirklich.

AUTOR

Diese Handbuchseite wurde von Manoj Srivastava <[email protected]> für das Debian-GNU/Linux-System geschrieben.