Warum ist meine ursprüngliche Ramdisk so groß?

12

Ich verwende Ubuntu 11.10, das mit der Kernel-Version geliefert wurde 3.0.0-14. Ich habe einen Kernel aus dem 3.1.0Zweig heruntergeladen und gebaut . Nach der Installation des neuen Kernels /boot/initrd.img-3.1.0stelle ich fest, dass meine Datei RIESIG ist. Es ist 114 MB groß, während meine /boot/initrd.img-3.0.0-14-genericetwa 13 MB groß ist. Ich möchte das Aufblähen loswerden, was eindeutig unnötig ist.

Wenn Sie den neuen Kernel bauen, kopierte ich /boot/config-3.0.0-14-genericzu .configin meinem Build - Verzeichnis, wie die Konfiguration meines ursprünglichen Kernel zu halten. Ich habe ausgeführt make oldconfig, die Standardeinstellungen für alle neuen Optionen ausgewählt und dann den Kernel erstellt.

Wenn ich mir die Dateigrößen in jedem initrd cpio-Archiv anschaue, sehe ich, dass alle meine .ko-Module auf der 3.1.0-Ramdisk größer sind als auf der 3.0.0-14. Ich nahm an, dass in meiner Konfigurationsdatei ein unnötiges Debug-Flag aktiviert war, sehe aber keine anderen Elemente, die in der Konfigurationsdatei 3.0.0-14 noch nicht aktiviert waren.

Meine /boot/config-3.0.0-14-genericist hier: http://pastebin.com/UjH7nEqd

Und mein /boot/config-3.0.1ist hier: http://pastebin.com/HyT0M2k1

Kann jemand erklären, woher all der unnötige Schwall kommt?

Feiner Recliner
quelle

Antworten:

15

Beim Bau des Kernels und Modul make oldconfig,make und make installwerden die resultierenden Module Debug - Informationen in den Dateien.

Verwenden Sie die INSTALL_MOD_STRIPOption zum Entfernen von Debugging-Symbolen:

make INSTALL_MOD_STRIP=1 modules_install

Ebenso zum Erstellen der deb-Pakete:

make INSTALL_MOD_STRIP=1 deb-pkg
Lekensteyn
quelle
1
Laufen make INSTALL_MOD_STRIP=1 installhat mir das gebracht, was ich wollte. Vielen Dank!
Finer Recliner