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
Paket name 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.