Provided by: kernel-package_12.036+nmu3_all bug

BEZEICHNUNG

       make-kpkg - baut Debian-Kernel-Pakete aus den Linux-Kernel-Quellen

ÜBERSICHT

       make-kpkg [Optionen] [Ziel [Ziel …]]

BESCHREIBUNG

       Diese  Handbuchseite  erklärt  das  Debian-Hilfswerkzeug  make-kpkg,  das benutzt wird, um
       Kernel-bezogene Debian-Pakete zu erstellen. Dieses Hilfswerkzeug  muss  von  der  obersten
       Ebene  des  Linux-Kernel-Quellverzeichnisses  ausgeführt  werden,  das vorher konfiguriert
       wurde (außer, wenn  Sie  das  Ziel  »configure«  verwenden).  Falls  kernel-package  keine
       .config-Datei im aktuellen Verzeichnis findet, versucht es normalerweise sehr unnachgiebig
       eine  geeignete  zu  finden  (üblicherweise  eine  bereits  maßgeschneiderte   Datei   für
       Debian-Kernel  für diese Architektur) und ruft dann make oldconfig auf, damit der Benutzer
       irgendwelche neuen Fragen beantwortet. Typischerweise führen Sie diesen  Befehl  als  Root
       oder unter fakeroot aus oder teilen make-kpkg mit, wie es Root wird, beispielsweise so:

            make-kpkg --rootcmd fakeroot kernel_image

       Die  Debian-Paketdatei  wird  im übergeordneten Verzeichnis der Kernel-Quellverzeichnisses
       erstellt, wo dieser Befehl ausgeführt wird.

       Beachten Sie außerdem, dass einige Versionen von gcc  nicht  gut  mit  den  Kernel-Quellen
       zusammenspielen    (gcc    2.95    hat    Probleme,   den   Kernel   ohne   den   Schalter
       »-fno-strict-aliasing«  zu  kompilieren.  Dieses  Problem  wurde  bei  aktuellen   Kerneln
       berücksichtigt (die 2.2.- und 2.4.-Serien sind in Ordnung). Sie könnten laut Verfasser das
       Makefile bearbeiten oder etwas  dergleichen  tun).  Möglicherweise  möchten  Sie  steuern,
       welche  Version  von  GCC  für  das  Kompilieren  von  Kerneln benutzt wird, indem Sie die
       Variablen CC und HOSTCC auf der obersten Ebene des  Kernel-Makefiles  setzen.  Sie  können
       dies  einfach  durch  Setzen  der Umgebungsvariable MAKEFLAGS erreichen. Versuchen Sie zum
       Betrachten Folgendes:

         % KBUILD_VERBOSE=1 MAKEFLAGS="CC=gcc-4.4" make-kpkg configure

       KBUILD_VERBOSE zeigt Einzelheiten der Befehle, die ausgeführt werden. (Bitte sehen Sie  im
       Kernel-Makefile der obersten Ebene nach, welche Variablen Sie setzen können.)

       WARNUNG:  Setzen  Sie  die Option -j NICHT direkt in MAKEFLAGS, dies soll zur Folge haben,
       dass das Bauen fehlschlägt. Benutzen Sie CONCURRENCY_LEVEL, wie oben angegeben. Dort  gibt
       es ebenfalls einen -j-Schalter, der benutzt werden kann.

OPTIONEN

       --help gibt eine Aufrufanleitung aus.

       --revision Nummer
              ändert  die  Versionsnummer der erstellten Pakete auf das Argument Nummer. Dies hat
              bestimmte Einschränkungen: Die  Versionsnummer  kann  nur  alphanumerische  Zeichen
              enthalten,  sowie  »~«,  »+«,  ».«  (Tilde,  Punkt  und  Plus) und muss eine Ziffer
              enthalten (Einzelheiten finden Sie im Richtlinienhandbuch).  Optional  könnten  Sie
              die  Überarbeitung mit einer Ziffer gefolgt von einem Doppelpunkt (:) voranstellen.
              Vorgabe   ist   10.00.Benutzerdefiniert,   sofern   nicht   die   Umgebungsvariable
              DEBIAN_REVISION_MANDATORY  gesetzt  ist.  In  diesem  Fall  wird eine Fehlermeldung
              erzeugt,  falls  die  Überarbeitung  nicht  auf  der  Befehlszeile  oder   in   der
              Konfigurationsdatei    gesetzt   wurde.   Hinweis:   Sie   könnten   sie   in   der
              Konfigurationsdatei  auf  $(version)-<foo>  setzen,  um  die   Versionsnummer   der
              Originalautoren Ihrer angepassten Zeichenkette <foo> voranzustellen.

       --append-to-version foo

       --append_to_version foo
              Dieses  Argument (foo) wird an den Wert der Variable EXTRAVERSION angehängt, die im
              Kernel-Makefile vorkommt. Da EXTRAVERSION ein Bestandteil der  Kernel-Version  ist,
              wird  sie  dem  Debian-Paketnamen  ebenfalls  hinzugefügt  und  muss als solche der
              Richtlinie folgen, die den Debian-Paketnamen bestimmt. Dies bedeutet, dass Sie  nur
              kleingeschriebene  alphanumerische  Zeichen,  sowie  die  Zeichen  ~  - + . (Tilde,
              Bindestrich, Punkt und Plus) enthalten kann. Großgeschriebene  Buchstaben  sind  in
              den  Richtlinien  für  ein  neues  Paket nicht erlaubt. Falls die Umgebungsvariable
              IGNORE_UPPERCASE_VERSION   gesetzt   ist,    soll    make-kpkg    kleingeschriebene
              Versionsnummern  im  Makefile  oder  in der Datei localversion setzen. Diese Option
              setzt die Umgebungsvariable APPEND_TO_VERSION außer Kraft.

       --added-modules foo

       --added_modules foo
              Das Argument sollte eine durch Kommas getrennte  Liste  zusätzlicher  Add-on-Module
              sein  (nicht  im  Haupt-Kernel-Verzeichnisbaum), die Sie bauen wollen, wenn Sie die
              »modules-blah«-Ziele  aufrufen.  Sie  können  die   vollständigen   Pfadnamen   der
              Verzeichnisse angeben, in denen die Module liegen oder nur den Modulnamen, falls es
              in MODULE_LOC,  das  standardmäßig  /usr/src/modules  ist,  gefunden  werden  kann.
              Vorgabe   ist,   dass  alle  Module  in  MODULE_LOC  kompiliert  werden,  wenn  die
              »modules_blah«-Ziele aufgerufen werden.

       --arch foo
              Dies ist nützlich, um die Architektur zu setzen, wenn Sie cross-kompilieren.  Falls
              Sie  nicht  cross-kompilieren,  wird  die  Architektur  automatisch festgelegt. Der
              gleiche Effekt kann durch Setzen der Umgebungsvariable KPKG_ARCH  erreicht  werden.
              Der   Wert   sollte   sein,   was   auch   immer  DEB_HOST_ARCH_CPU  enthält,  wenn
              dpkg-architecture auf dem Zielrechner ausgeführt wird  oder  es  kann  eine  andere
              Architektur in einer Multiarch-Zusammenstellung (wie i386/amd64) sein.

       --cross-compile foo

       --cross_compile foo
              Dies  ist  nützlich, um die Zielzeichenkette zu setzen, wenn Sie cross-kompilieren.
              Benutzen Sie das Platzhalterziel »-«, falls  Sie  für  andere  Architekturen  einer
              Multiarch-Zusammenstellung,  wie  i386/amd64,  bauen. Der gleiche Effekt kann durch
              Setzen der Umgebungsvariable erreicht werden. Bitte beachten Sie, dass  dies  nicht
              auf  irgendeine  Art  den  Compiler setzt, den der Kernelbauprozess verwenden soll;
              falls der vorgegebene Compiler, den der Bauprozess mitbringt, nicht erwünscht  ist,
              geben Sie explizit den Compiler an, der verwandt werden sollte. CROSS_COMPILE

       --subarch foo
              Einige  Architekturen (Alpha und m68k) benötigen einen unterschiedlichen Kernel für
              jede Unterarchitektur. Diese Option stellt eine Möglichkeit  bereit,  sie  als  ein
              Argument   für   make-kpkg  anzugeben.  Bitte  beachten  Sie,  dass  möglicherweise
              zusätzliche Unterstützung für Unterarchitekturen in den Kernel-Quellen  nötig  ist,
              damit   dies   tatsächlich  klappt.  Der  gleiche  Effekt  kann  durch  Setzen  der
              Umgebungsvariable KPKG_SUBARCH erreicht werden.

       --arch-in-name

       --arch_in_name
              Diese Option benutzt einen erweiterten Namen für das Kernel-Image-Paket,  indem  es
              die  Unterarchitektur  in den Image-Namen einbettet. Daher könnte jemand ein Skript
              schreiben, um nacheinander mehrere Unterarchitekturen zu erstellen. Sie können dies
              ebenfalls durch Setzen der Umgebungsvariable ARCH_IN_NAME erreichen. Bitte beachten
              Sie, dass nur das Paket Name betroffen ist, keine Modulspeicherorte etc.

       --pgpsign Name
              setzt die Zeichenkette, die zum Signieren der Datei changes für sämtliche  externen
              Module  in  /usr/src/modules/  unter  Benutzung von PGP verwandt wird. Diese Option
              wird die integrierte Standardoption und die Site-weiten  Anpassungen,  die  in  der
              Datei  /etc/kernel-pkg.conf  oder ~/.kernel-pkg.conf. gespeichert sind, außer Kraft
              setzen.

       --config Ziel
              ändert den Typ von configure, das vom Standard-oldconfig erledigt wurde. Ziel  muss
              entweder  oldconfig,  config,  menuconfig, gconfig, xconfig, randconfig, defconfig,
              allmodconfig, allyesconfig, allnoconfig, old, menu, g oder x sein.

              Beachten Sie jedoch, dass  make-kpkg  die  Konfigurationsdatei  beim  Starten  nach
              irgendwelchen  Optionen  durchsucht, insbesondere die Tatsache, ob Module aktiviert
              sind oder nicht, weswegen das  Umschalten  während  der  verzögerten  Konfiguration
              einen Fehler zur Folge hat. Erstellen Sie, falls nötig, die Konfigurationsdatei so,
              dass sie Ihren Wünschen  nahe  kommt,  bevor  Sie  make-kpkg  mit  diesem  Schalter
              aufrufen.

       --targets
              gibt eine Liste bekannter Ziele aus. Lesen Sie den nachfolgenden Abschnitt Ziele.

       --noexec
              übergibt  eine  -n-Option  an  den  make-Prozess,  so  dass  Befehle  bloß  auf dem
              Bildschirm ausgegeben, aber nicht tatsächlich  ausgeführt  werden.  Dies  ist  sehr
              nützlich bei der Fehlersuche.

       --verbose
              Dies  ruft  make  mit  der Option -V=1 auf, was die Make-Befehle der obersten Stufe
              aufruft. Dies ist außerdem nützlich, um zu sehen, was geschieht.

       --initrd
              Falls make-kpkg ein kernel-image-Paket erzeugt, übermittelt dies den Hook-Skripten,
              die  von  den Betreuerskripten vor der Installation ausgeführt werden, einzuplanen,
              dass dieses Image ein initrd benötigt und  dass  das  initrd-Erzeugungs-Hook-Skript
              nicht  anfangs  kurz laufen sollte. Ohne diese Option werden die mit kernel-package
              gebündelten initramfs-Hook-Skripte nicht  tätig.  Der  gleiche  Effekt  kann  durch
              Setzen  der  Umgebungsvariable  INITRD  auf  irgendeinen nicht leeren Wert erreicht
              werden. Bitte beachten Sie, dass, falls keine Hook-Skripte in /etc/kernel sind oder
              dem Hook-Skript-Parameter von /etc/kernel-img.conf hinzugefügt werden, kein Intitrd
              erzeugt wird (was in den Beispielskripten zusammengefasst wurde, sind nur Beispiele
              – es ist nötig, dass der Anwender eingreift, bevor etwas geschieht).

       --jobs Nummer

       -j Nummer
              setzt die Umgebungsvariable CONCURRENCY_LEVEL auf Nummer.

       --overlay-dir /Pfad/zum/Verzeichnis
              Das angegebene Verzeichnis sollte bestimmte Dateien enthalten, die als Vorbereitung
              des  Baus  von  Debian-Paketen  in  das  ./debian-Verzeichnis  der   Kernel-Quellen
              platziert  werden.  Die Dateien werden alles in /usr/share/kernel-package ersetzen,
              das normalerweise dort abgelegt würde und  es  liegt  im  Ermessen  des  Benutzers,
              sicherzustellen,  dass  die  Dateien  im  überlagernden  Verzeichnis kompatibel mit
              make-kpkg sind. Falls  Sie  make-kpkg  mit  einer  überlagernden  Datei  zerstören,
              sollten  Sie  die  Teile  aufbewahren.  Der  gleiche  Effekt  kann durch Setzen der
              Umgebungsvariable KPKG_OVERLAY_DIR erzielt werden.

              Bitte beachten Sie, dass overlay-dir/Control und overlay-dir/changelog ungewöhnlich
              sind  und  bei  diesen  Dateien  Variablenersetzung durchgeführt wird. Benutzen Sie
              /usr/share/kernel-package/Control- und  /usr/share/kernel-package/changelog-Dateien
              als Schablone.

              Falls   eine  ausführbare  overlay-dir/post-install-Datei  (oder  ein  ausführbares
              Skript) existiert, soll es sofort nach dem Füllen von ./debian ablaufen. Dies  kann
              zum  Beispiel  benutzt  werden,  um Dateien zu löschen, die der Anwender nicht mag,
              oder andere Aktionen als einfaches Ersetzen durchzuführen.

       --zimage
              erstellt einen zImage-Kernel statt eines bzImage-Kernels  (die  Vorgabe).  Nützlich
              für Leute, die Probleme mit bzImage-Kerneln haben.

       --bzimage
              erstellt  einen  bzImage-Kernel.  Nützlich  für Leute, die einen bzImage-Kernel auf
              Sites haben möchten, auf denen die Vorabe ein zImage-Kernel ist.

       --rootcmd foo
              der Befehl, der ein Mittel zum Erlangen  von  Superuser-Rechten  bereitstellt  (zum
              Beispiel  »sudo«  oder  »fakeroot«),  wie  es  die  Option -r von dpkg-buildpackage
              erfordert. Diese Option funktioniert für drei der Ziele nicht, nämlich für  binary,
              binary-indep und binary-arch. Für diese Ziele muss der ganze Befehl als (Fake-)Root
              ausgeführt werden.

       --stem foo
              ruft die Pakete foo-* anstelle von kernel-* auf. Dies ist  nützlich  beim  Übergang
              vom Aufruf der kernel-*-Pakete zu den linux-*-Paketen in der Vorbereitung für nicht
              Linux-Kernel in der Distribution. Vorgabe ist Linux. Die Hauptlinie  darf,  da  sie
              der  einleitende  Teil  des  Paketnamens  ist,  nur  aus kleingeschriebenen Zeichen
              (»a-z«), Ziffern (»0-9«), Plus (»+«), Minus (»-«), und Punkten (».«) bestehen.  Sie
              muss  mindestens  zwei  Zeichen  lang  sein  und mit einem alphanumerischen Zeichen
              beginnen.

       --us   Diese Option wird an dpkg-buildpackage übergeben und weist das Paket an, die Quelle
              nicht zu signieren. Dies ist nur für das Ziel »buildpackage« maßgeblich.

       --uc   Diese  Option  wird  an  dpkg-buildpackage  übergeben  und  weist das Paket an, das
              Änderungsprotokoll nicht zu signieren. Dies ist nur  für  das  Ziel  »buildpackage«
              maßgeblich.

       Die  Optionen  könnten  auf die kleinste eindeutige Zeichenkette verkürzt und entweder mit
       einem Präfix »-« oder  »--«  eingegeben  werden.  Sie  können  ein  Leerzeichen  oder  ein
       »=«-Symbol  zwischen  einer  Option  und  einem  Wert  verwenden. Sie können auch die Form
       Option=Wert benutzen; Einzelheiten, wie diese oder abweichende Formen unterstützt  werden,
       finden Sie in der Handbuchseite Getopt::Long(3perl).

       CONCURRENCY_LEVEL
              Diese  Umgebungsvariable  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. Sie können die aktuelle
              CPU-Anzahl mit dem folgenden Befehl abfragen:

                   grep -c '^processor' /proc/cpuinfo

              WARNUNG:  Setzen  Sie  die Option -j NICHT direkt in MAKEFLAGS, dies soll zur Folge
              haben, dass das Bauen fehlschlägt. Es ist möglich, -j als ein  »make-kpkg«-Argument
              zu setzen.

ZIELE

       clean  säubert  das  Kernel-Quellverzeichnis  von  allen  durch  das Ziel build erstellten
              Dateien  und  führt  ein  »make  distclean«  aus.  (Einzelheiten  finden   Sie   im
              Linux-Kernel-Makefile.) Bitte beachten Sie, dass die Datei include/linux/autoconf.h
              nicht aufbewahrt wird, obwohl die  Liste  der  aktuellen  Kernel-Konfiguration  die
              Datei  .config  enthält.  Dieses  Ziel  sollte  nicht mit anderen Zielen kombiniert
              werden, da make-kpkg alle Daten liest, bevor es irgendein Ziel  ausführt,  weswegen
              nachfolgende  Ziele mit alten Daten ausgeführt werden, die Sie wahrscheinlich nicht
              wollen.

       buildpackage
              Dieses Ziel führt die Ziele clean und binary aus und erzeugt  unter  Benutzung  von
              dpkg-buildpackage das vollständige Paket.

       binary Dieses Ziel erstellt alle Debian-Kernel-Pakete, indem es die Ziele binary-indep und
              binary-arch  ausführt.  Dies  erfordert  jedoch,  dass  make-kpkg  als  Root  (oder
              Fakeroot) ausgeführt wird, da --rootcmd nicht funktionieren wird.

       binary-indep
              Dieses  Ziel  erstellt  die  architekturunabhängigen  Pakete,  indem  es  die Ziele
              kernel_source,  kernel_manual  und  kernel_doc  ausführt.  Dies  erfordert   jedoch
              ebenfalls,  dass  make-kpkg  als Root (oder Fakeroot) ausgeführt wird, da --rootcmd
              nicht funktionieren wird.

       binary-arch
              Dieses  Ziel  erstellt  die  architekturabhängigen  Pakete,  indem  es  die   Ziele
              kernel_headers und kernel_image ausführt. Dies erfordert jedoch, dass make-kpkg als
              Root (oder Fakeroot) ausgeführt wird, da --rootcmd nicht funktionieren wird.

       kernel_source
              Dieses Ziel erstellt ein an  Debian  angepasstes  Paket  der  Linux-Kernel-Quellen.
              Falls  die  Umgebungsvariable  SOURCE_CLEAN_HOOK  auf eine ausführbare Datei zeigt,
              dann soll diese ausführbare Datei  von  dem  obersten  temporären  Verzeichnis  der
              Kernel-Quellen     (./debian/tmp-source/usr/src/kernel-source-X.X.XX)    ausgeführt
              werden, kurz bevor es paketiert wird, weswegen  Leute  nach  Belieben  irgendwelche
              Aktionen     durchführen     könnten     (Architekturverzeichnisbäume    entfernen,
              Versionskontrollverzeichnisse reduzieren, find . -type d -name CVS -prune -exec  rm
              -rf   {}   ;   etc).  Dies  hat  keine  Auswirkungen  auf  etwas  anderes  als  die
              Kernel-Quellen, die gepackt werden – falls das Skript auf dem aktuellen Verzeichnis
              und  dessen  Unterverzeichnissen arbeitet, sollte der Original-Quellverzeichnisbaum
              intakt bleiben. Die Umgebungsvariablen HEADER_CLEAN_HOOK  und  DOC_CLEAN_HOOK  sind
              ähnlich.  Sie  sollten  auf ausführbare Dateien zeigen, dann soll diese ausführbare
              Datei von dem obersten temporären Verzeichnis der Kernel-Header  und  Dokumentation
              ausgeführt  werden,  kurz  vor  dem  Paketieren,  beziehungsweise  bevor Leute nach
              Belieben irgendwelche  Aktionen  durchführen  könnten.  Dies  hat  ebenfalls  keine
              Auswirkungen auf etwas anderes, als die Kernel-Quellen, die gepackt werden.

       kernel_debug
              Dieses   Ziel   erstellt   ein  Debian-Paket,  das  Fehlersuchsymbole  für  die  im
              entsprechenden Image-Paket enthaltenen Module beinhaltet. Die zugrundeliegende Idee
              hierbei  ist,  den  Platz in /lib/modules/<kver> unter Kontrolle zu halten, da dies
              eine Root-Partition mit Speicherbeschränkungen sein könnte.

       kernel_headers
              Dieses Ziel erstellt ein Debian-Paket, das die im Kernel enthaltenen Header-Dateien
              beinhaltet.

       kernel_manual
              Dieses  Ziel  erstellt  ein  Debian-Paket,  das  die  im  Linux-Kernel  enthaltenen
              Handbuchseiten aus Abschnitt neun beinhaltet. Bitte beachten Sie,  dass  dies  kein
              tatsächlich  unabhängiges  Ziel  ist; dies aufzurufen soll auch das Ziel kernel_doc
              aufrufen und gleichzeitig ein kernel-doc-Paket erstellen.

       kernel_doc
              Dieses  Ziel  erstellt  ein  Debian-Paket,  das  die  im  Linux-Kernel   enthaltene
              Dokumentation  beinhaltet.  Dies  kann unabhängig vom Ziel kernel_manual aufgerufen
              werden, aber nicht andersherum.

       kernel_image
              Dieses Ziel erstellt ein Debian-Paket des Linux-Kernel-Quell-Images und den in  der
              Kernel-Konfigurationsdatei    .config   konfigurierten   Modulen.   Falls   es   im
              Kernel-Quell-Verzeichnis keine .config-Datei gibt, wird eine  Standardkonfiguration
              bereitgestellt, die der ähnelt, die zum Erstellen der Debian-Boot-Disketten benutzt
              wird.

              Falls die Datei ./debian/post-install existiert und ausführbar ist, wird sie,  kurz
              bevor  das  Kernel-Image-Paket  erstellt  wird,  ausgeführt. Beachten Sie außerdem,
              dass, falls irgendwelche Skripte im Verzeichnis ./debian/image.d/ liegen, run-parts
              für  dieses Verzeichnis aufgerufen werden soll, bevor das Kernel-Image-Paket gebaut
              wird. Der Speicherort des Wurzelverzeichnisses des zu bauenden Image-Pakets soll in
              der  Umgebungsvariable IMAGE_TOP übergeben werden und die Kernel-Version wird durch
              die Umgebungsvariable version für all diese Skripte übergeben.

              Bitte lesen Sie die Dokumentation über Hooks  in  kernel-img.conf(5).  Diese  Hooks
              sind  Variablen, die der lokale Systemadministrator auf Skripte zeigen lassen kann,
              die beim Installieren oder Entfernen  von  Kernel-Images  der  Grub-Menüliste  eine
              Zeile hinzufügen oder entfernen. Ein Beispielskript, um einer Grub-Menüdatei Zeilen
              hinzuzufügen ist im Verzeichnis /usr/share/doc/kernel-package/ enthalten.

              Abgesehen von Hook-Variablen, die der lokale Administrator setzen könnte,  gibt  es
              eine   Zusammenstellung  von  Verzeichnissen,  in  denen  Pakete  oder  der  lokale
              Administrator  die  Skript-Dateien  hinlegen  können.  Diese   Verzeichnisse   sind
              /etc/kernel/preinst.d/,        /etc/kernel/postinst.d/,       /etc/kernel/prerm.d/,
              /etc/kernel/postrm.d/,                            /etc/kernel/preinst.d/<VERSION>/,
              /etc/kernel/postinst.d/<VERSION>/,        /etc/kernel/prerm.d/<VERSION>/        und
              /etc/kernel/postrm.d/<VERSION>/. Falls sie existieren, soll das  Kernel-Image-Paket
              ein  run-parts-Programm  für  das  Verzeichnis  ausführen  (einschließlich dem, das
              versionsverwaltet  ist),  dessen  installierte  oder  entfernte  Version  über  ein
              Argument in der entsprechenden Phase der Installation oder des Entfernens angegeben
              wurde. Bevor diese Skripte aufgerufen werden, soll die Umgebungsvariable  STEM  auf
              den Wert des Arguments --stem (oder den Standardwert, linux) gesetzt werden und die
              Variable KERNEL_PACKAGE_VERSION soll auf die  Version  von  kernel-package  gesetzt
              werden,  womit dieses Paket erzeugt wurde. Diese Skripte sollen mit zwei Argumenten
              aufgerufen werden. Das erste ist die Version des Kernel-Images und das  zweite  ist
              der  Speicherort  des  Kernel-Images  selbst. Da vor dem Aufruf des Skripts Debconf
              benutzt wird, sollte das Skript keine Diagnosenachrichten auf  die  Standardausgabe
              ausgeben  –  solange »postinst« db_stop aufruft, stellt Debconf die Standardausgabe
              nicht wieder her, daher verschwinden Nachrichten an die Standardausgabe.

              Bei der Installation bietet es auch an, den Linux-Loader  LILO  (oder  Alternativen
              wie  loadlin,  SILO,  QUIK, VMELILO, ZIPL, yaboot, PALO oder GRUB) auszuführen, und
              eine Konfigurationsdatei für unterstützte Boot-Loader zu erstellen, falls nötig. Zu
              diesem  Zeitpunkt  bietet es auch an, den neuen Kernel auf einer Diskette abzulegen
              und die Diskette zu formatieren, wenn dies erforderlich ist. Bei  Löschungen  prüft
              das  Paket  die Version des laufenden Kernels und verweigert einen laufenden Kernel
              zu löschen. grub misst dem eine besondere Bedeutung bei, da  Grub  nicht  nach  der
              Installation  eines  Kernel-Images  erneut  ausgeführt  werden braucht, obwohl eine
              automatische Änderung der Menüliste bei der Installation  oder  dem  Entfernen  von
              Kernel-Image Paketen angenehm wäre.

       build  Dieses  Ziel, das vom vorhergehenden Ziel kernel_image benutzt wird, kompiliert das
              Kernel-Image.

       modules
              Dieses Ziel ermöglicht es Ihnen, alle Add-On-Module und Pakete zu bauen, die  stark
              von  der  genauen  Kernel-Version  abhängen,  für das sie zur gleichen Zeit wie Ihr
              Kernel-Image gebaut wurden. Dieses Ziel erwartet,  die  Module  oder  Pakete  unter
              /usr/src/modules  und  für  all  diese  Verzeichnisse  Änderungen  an  MODULE_LOC/x
              (Vorgabe für MODULE_LOC ist /usr/src/modules) zu finden und führt die  Regel  kdist
              in  der  lokalen  debian.rules-Datei  aus. Dieses Ziel sollte das Debian-Modulpaket
              erstellen, außerdem eine komprimierte Tar-Datei und  eine  komprimierte  Diff-Datei
              mit  md5sums,  die  unter Benutzung von dpkg-genchanges in in einer »changes«-Datei
              aufgezeichnet wurden. Die Datei ist durch die gleiche Identität signiert,  die  zum
              Signieren  der  Kernel-Pakete  benutzt  würde. Diese Option wird von Paketbetreuern
              verwandt, die das Paket in die Debian-Archive hochladen.

       modules_config
              Dieses Ziel ermöglicht es Ihnen, alle Pakete unter MODULE_LOC zu konfigurieren, die
              /usr/src/modules  als  Standard  haben. Dies ist nützlich, falls Sie manuell einige
              Gesichtspunkte der Konfiguration ändern möchten oder falls  Sie  die  Add-On-Module
              manuell  kompilieren  wollen. Dies sollte nicht aufgerufen werden, es sei denn, Sie
              haben bereits ein ./debian-Verzeichnis.

       modules_image
              Dieses Ziel ermöglicht es  Ihnen,  alle  Pakete  unter  MODULE_LOC  zu  bauen,  die
              /usr/src/modules  als  Standard  haben,  aber  es  erstellt  nicht  die Quell- oder
              Diff-Dateien und erzeugt und signiert nicht  die  Datei  »changes«.  Dies  ist  die
              einzige  modulbezogene  Option,  falls  Sie  nur die Add-On-Modul-Image-Dateien auf
              einem oder mehreren  Rechnern  kompilieren  möchten.  Es  wird  im  Allgemeinen  in
              Verbindung  mit  kernel_image  aufgerufen,  insbesondere  falls außerdem die Option
              append_to_version (verhindert störende Warnungen) benutzt wird. Dies  sollte  nicht
              aufgerufen werden, es sei denn, Sie haben bereits ein ./debian-Verzeichnis.

       modules_clean
              Dieses  Ziel  ermöglicht  es Ihnen, alle Pakete unter MODULE_LOC zu bereinigen, die
              /usr/src/modules als Standard haben. Dies sollte alles sein, was nötig ist, um  die
              Auswirkungen  auf  irgendwelche anderen »modules_«-Ziele rückgängig zu machen. Dies
              sollte  nicht  aufgerufen  werden,   es   sei   denn,   Sie   haben   bereits   ein
              ./debian-Verzeichnis.

       configure
              Dieses  Ziel  führt  am  Anfang »configure« aus (tatsächlich config_target, gesetzt
              durch --config, dessen Vorgabe oldconfig ist), daher können Sie durch  make  config
              im  Kernel-Quellverzeichnis  erzeugte Dateien bearbeiten ohne dass sie später durch
              make-kpkg eingestampft werden.

       debian Dieses Ziel erstellt ein ./debian-Verzeichnis  und  patcht  wahlweise  die  Quelle.
              Dieses  Ziel  wird  durch  das  Ziel  configure  aufgerufen. Sie können dieses Ziel
              benutzen,  damit  Sie  über  gepatchte  Quellen  verfügen  und  dann  manuell   den
              Konfigurationsschritt ausführen, um die Konfigurationsdatei mit irgendwelchen neuen
              Konfigurationsoptionen zu aktualisieren, die durch die Patches eingeführt wurden.

       libc-kheaders
              Dies ist ein Spezialziel für den Paketbetreuer von libc-dev, der es  zum  Erstellen
              des  von  libc  benötigten Header-Pakets benutzen kann. Bitte beachten Sie, dass es
              gefährlich ist, ein libc-kheaders-Paket  zu  erstellen,  das  sich  von  der  damit
              kompilierten  libc  des  Headers unterscheidet; es ist bekannt, dass es Systeme auf
              raffierte      Weise      zerstört.      Einzelheiten      finden      Sie       in
              /usr/share/kernel-package/README.headers.  Das  Erstellen  und  Installieren  eines
              selbst erstellten libc-kheaders-Pakets könnte Ihr System zerstören,  es  sei  denn,
              Sie wissen, was Sie tun. Sie wurden gewarnt.

UMGEBUNGSVARIABLEN

       KPKG_DEBUG  veranlasst  make-kpkg, falls es gesetzt wurde, Fehlersuchmeldungen über einige
       intern ausgeführte  Shell-Funktionen  auszuspucken.  Dies  ist  wahrscheinlich  nicht  für
       jedermann  von  Interesse,  der  keine Fehlersuche für make-kpkg durchführt. Die folgenden
       (oben      dokumentierten)      Variablen      beeinflussen      ebenfalls      make-kpkg:
       DEBIAN_REVISION_MANDATORY,   APPEND_TO_VERSION,  VERSION_H_OK,  KPKG_ARCH,  CROSS_COMPILE,
       KPKG_SUBARCH,  KPKG_OVERLAY_DIR,  ARCH_IN_NAME,  INITRD,  SOURCE_CLEAN_HOOK,   MODULE_LOC,
       CONCURRENCY_LEVEL und IGNORE_UPPERCASE_VERSION.

DATEIEN

       Abseits   der   Laufzeitoptionen  sucht  außerdem  die  von  make-kpkg  ausgeführte  Datei
       debian.rules  nach  einer  benutzerspezifischen  Konfigurationsdatei   ~/.kernel-pkg.conf.
       Schlägt   dies   fehl,   sucht   sie   nach   den   systemweiten  Vorgaben  in  der  Datei
       /etc/kernel-pkg.conf.   Die   Standardkonfiguration   ermöglicht   dort   Site-weit    den
       vollständigen  Namen  und  die  E-Mail-Adresse  der  für  die  Betreuung der Kernel-Pakete
       zuständigen Person auf der Site außer Kraft zu setzen, aber die Datei /etc/kernel-pkg.conf
       (oder   ~/.kernel-pkg.conf)   ist   tatsächlich  ein  Makefile-Schnipsel.  Jede  zulässige
       make-Richtlinie könnte darin enthalten sein. Beachten Sie: Bei dieser Datei  ist  Vorsicht
       angebracht,  da  Sie  durch  geeignetes  Bearbeiten  dieser  Datei die Ausführung von make
       vollständig  ändern  können.  Eine  Liste  bekannter   Probleme   beim   Kompilieren   von
       Kernel-Images  finden  Sie  in  /usr/share/doc/kernel-package/Problems.gz.  Ausführlichere
       Anleitungen wie  Dokumentation  ist  außerdem  in  /usr/share/doc/kernel-package/README.gz
       verfügbar und es wird empfohlen, dies vor dem Gebrauch dieses Hilfswerkzeugs zu lesen.

SIEHE AUCH

       dpkg-deb(1),    dpkg-source(1),    make(1),    Getopt::Long(3perl),    kernel-img.conf(5),
       kernel-pkg.conf(5),  The Programmers manual,  The GNU Make manual  und  die   ausführliche
       Dokumentation im Verzeichnis /usr/share/doc/kernel-package

AUTOR

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