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.