KERNEL-PKG.CONF(5)

BEZEICHNUNG
kernel-pkg.conf - 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.

SIEHE AUCH
make(1), make-kpkg(1), kernel-img.conf(5), The GNU Make manual

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

AUTOR
Diese Handbuchseite wurde von Manoj Srivastava <srivasta@debian.org> für das Debian-GNU/Linux-System geschrieben.