Dlaczego mój początkowy ramdysk jest tak duży?


12

Używam Ubuntu 11.10, który został dostarczony z wersją jądra 3.0.0-14. Pobrałem i zbudowałem jądro z 3.1.0oddziału. Po zainstalowaniu nowego jądra widzę, że mój /boot/initrd.img-3.1.0plik jest OGROMNY. Ma 114 MB, a mój /boot/initrd.img-3.0.0-14-genericokoło 13 MB. Chcę pozbyć się wzdęć, co jest wyraźnie niepotrzebne.

Podczas budowania nowego jądra skopiowałem go /boot/config-3.0.0-14-genericdo .configmojego katalogu kompilacji, aby zachować konfigurację mojego oryginalnego jądra. Uruchomiłem make oldconfig, wybrałem ustawienia domyślne dla wszystkich nowych opcji, a następnie zbudowałem jądro.

Patrząc na rozmiary plików w każdym archiwum initrd cpio, widzę, że wszystkie moje moduły .ko mają większy rozmiar w ramdysku 3.1.0 niż 3.0.0-14. Zakładałem, że w moim pliku konfiguracyjnym zaznaczono niepotrzebną flagę debugowania, ale nie widzę nic innego, co nie zostało jeszcze włączone w pliku konfiguracyjnym 3.0.0-14.

Mój /boot/config-3.0.0-14-genericjest tutaj: http://pastebin.com/UjH7nEqd

A mój /boot/config-3.0.1jest tutaj: http://pastebin.com/HyT0M2k1

Czy ktoś może wyjaśnić, skąd bierze się niepotrzebna wzdęcia?

Odpowiedzi:


15

Podczas budowania jądra i modułu za pomocą make oldconfig, makei make install, uzyskane moduły będą miały informacje debugowania dostępne w plikach.

Użyj INSTALL_MOD_STRIPopcji usuwania symboli debugowania:

make INSTALL_MOD_STRIP=1 modules_install

Podobnie w przypadku budowania pakietów deb:

make INSTALL_MOD_STRIP=1 deb-pkg

1
Bieganie make INSTALL_MOD_STRIP=1 installprzyniosło mi to, czego chciałem. Dzięki!
Finer Recliner
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.