8.10.4. Das Paket kompilieren und erstellen
Sobald die Kernelkonfigurierung abgeschlossen ist, kompiliert der von Debian bereitgestellte Befehl make-pkg
den Kernel und erzeugt dann das entsprechende Debian-Paket (oder die Pakete). In gleicher Weise wie make
nimmt auch make-pkg
den Namen eines Ziels, um es als Argument auszuführen: kernel-image
erzeugt ein kompiliertes Kernelpaket, kernel-doc
ein Paket, das die dem Kernel beigefügte Dokumentation enthält, kernel-headers
ein Paket mit den Kernel-Headerdateien (Dateien des Typs .h
für den Kernel im Verzeichnis include/
, das für das Kompilieren einiger externer Module hilfreich ist), und kernel-source
erzeugt ein Paket, das die Kernelquellen enthält.
make-kpkg
akzeptiert auch verschiedene Parameter: --append-to-version suffix
hängt suffix
an den Namen des Kernels an; das Suffix ist auch im Paketnamen enthalten. --revision revision
legt die Versionsnummer des erstellten Pakets fest. Debian verwendet bestimmte Suffixe, um Standardkernel zu kennzeichnen, die speziell für einen bestimmten Prozessor kompiliert sind oder mit bestimmten Optionen (-486
, -686
, -686-bigmem
, -amd64
, -vserver-686
, -vserver-686-bigmem
, -openvz-686
, -xen-686
). Diese Suffixe sollte man bei lokalen Paketen möglichst vermeiden, damit sie leicht von offiziellen Paketen, die vom Debian-Projekt herausgegebenen wurden, unterscheidbar sind.
Der Befehl
make-kpkg
führt bei der Erstellung des Debian-Pakets Aktionen aus, die normalerweise dem Root-Benutzer vorbehalten sind; er kann jedoch mit dem Befehl
fakeroot
(siehe
HILFSPROGRAMM fakeroot
in der Seitenleiste) dazu gebracht werden, unter der Identität eines normalen Benutzers zu laufen.
$
fakeroot make-kpkg --append-to-version -falcot --revision 1 --initrd kernel-image
[...]
$
ls ../*.deb
../linux-image-2.6.32-falcot_1_i386.deb
Wie Sie sehen, wird das Paket mit dem Namen „linux-image-2.6.32-falcot_1_i386.deb
“ erstellt.