Чому мій початковий ramdisk такий великий?


12

Я запускаю Ubuntu 11.10, який поставляється з версією ядра 3.0.0-14. Я завантажив і побудував ядро ​​з 3.1.0гілки. Після встановлення нового ядра я бачу, що мій /boot/initrd.img-3.1.0файл ВЕЛИЧЕЗНИЙ. Це 114MB, а моя /boot/initrd.img-3.0.0-14-generic- близько 13MB. Я хочу позбутися від набряку, який явно непотрібний.

Створюючи нове ядро, я скопіював /boot/config-3.0.0-14-genericйого .configу свій каталог збирання, щоб зберегти конфігурацію мого початкового ядра. Я побіг make oldconfig, вибрав параметри за замовчуванням для всіх нових параметрів, а потім побудував ядро.

Переглядаючи розміри файлів у кожному з архівів initrd cpio, я бачу, що всі мої модулі .ko мають більший розмір у рамковому диску 3.1.0, ніж 3.0.0-14. Я припускав, що у моєму конфігураційному файлі перевірявся непотрібний прапор налагодження, але я не бачу нічого іншого, що не було ввімкнено у конфігураційному файлі 3.0.0-14.

Моя /boot/config-3.0.0-14-genericтут: http://pastebin.com/UjH7nEqd

І моє /boot/config-3.0.1тут: http://pastebin.com/HyT0M2k1

Чи може хтось пояснити, звідки береться все зайве набряк?

Відповіді:


15

Під час створення ядра та модуля з використанням make oldconfig, makeі make install, отримані модулі будуть мати інформацію про налагодження, доступну у файлах.

Використовуйте INSTALL_MOD_STRIPопцію для видалення налагоджувальних символів:

make INSTALL_MOD_STRIP=1 modules_install

Аналогічно для складання пакетів деб:

make INSTALL_MOD_STRIP=1 deb-pkg

1
Біг make INSTALL_MOD_STRIP=1 installотримав мені те, що я хотів. Дякую!
Більш високий рецилінер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.