ÜBERSICHT
/etc/kernel-pkg.conf oder ~/.kernel-pkg.confBESCHREIBUNG
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.
- 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.
- 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.