Ich erstelle benutzerdefinierte Linux-Kernel-Pakete in einer Ubuntu 13.10 amd64-Umgebung auf apt-get source linux-image-$(uname -r)
Debian-Weise make-kpkg clean;fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers
.
Linux-Header sind größer als Image
Das Ergebnis sind zwei .deb - Dateien , wo die Datei linux-headers-
ist 8.2M in Größe und die daraus resultierenden linux-image-
ist nur 6.1M . Nachdem ich mir angesehen habe, welche Dateien linux-image-
enthalten sind, sehe ich, dass es viele Header für Elemente gibt, die in der .config
Datei deaktiviert sind .
Linux-Header -... Inhalt
- nicht genutzte Dateisysteme, wie
/fs/reiserfs/
, - nicht genutzte Sicherheitsmodule, wie
/security/selinux/
, - unbenutzte enthält, wie
/include/pcmcia/
oder/include/sound/
, - nicht verwendete Architekturen, wie
/arch/powerpc/
,/arch/s390/
,/arch/parisc/
,/arch/blackfin/
,/arch/cris/
,/arch/xtensa/
,/arch/alpha/
,/arch/ia64/
,/arch/h8300/
,/arch/arm/
, und so weiter, - nicht verwendete Treiber, wie
/drivers/leds/
,/drivers/eisa/
,/drivers/isdn/
,/drivers/net/ppp/
,/drivers/net/wireless/
, und so weiter, - nicht genutzte Vernetzung wie
/net/bluetooth/
,/net/wimax/
,/net/decnet/
, etcetera
Was (und wie) sind die Optionen für die Strippen der nicht verwendeten Elemente aus dem linux-headers-
Paket und / oder auf andere Weise reduzieren die Dateigröße ?
debian
compiling
linux-kernel
Pro Backup
quelle
quelle
linux-headers
?kernel_headers
vonfakeroot make-kpkg
.Antworten:
Das
linux-headers
Paket wird nur benötigt, wenn Sie Quellen, Kernel kompilieren oder andere Pakete erstellen möchten.Paketbeschreibung von debian :
kernel-headers
sind auch nicht Teil einer Systemlaufzeit. Genau genommen gibt es also keinen Anwendungsfall, um nicht verwendete Header-Dateien aus dem Paket zu entfernen. Die ursprüngliche Beschreibung schränkt dies jedoch eingenerally
und beschränkt die Verwendung zum Erstellen von Kernelmodulen. Wenn Sie einen benutzerdefinierten Kernelkpkg
ausführen , mit dem erstellt wurde , können Sie auch Ihre/usr/include/{linux,asm,asm-generic}
Header neu verknüpfen , um andere Quellen ordnungsgemäß kompilieren zu können.quelle