Почему мой начальный виртуальный диск такой большой?

12

Я использую Ubuntu 11.10, который поставляется с версией ядра 3.0.0-14. Я скачал и собрал ядро ​​из 3.1.0ветки. После установки нового ядра, я вижу, что мой /boot/initrd.img-3.1.0файл огромен. Это 114 МБ, а у меня /boot/initrd.img-3.0.0-14-genericоколо 13 МБ. Я хочу избавиться от раздувания, которое явно не нужно.

При создании нового ядра, я скопировал мой /boot/config-3.0.0-14-genericTo .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

Кто-нибудь может объяснить, откуда взялся весь этот ненужный наворот?

Finer Recliner
источник

Ответы:

15

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

Используйте INSTALL_MOD_STRIPопцию для удаления символов отладки:

make INSTALL_MOD_STRIP=1 modules_install

Аналогично, для сборки пакетов deb:

make INSTALL_MOD_STRIP=1 deb-pkg
Lekensteyn
источник
1
Бег make INSTALL_MOD_STRIP=1 installполучил то, что я хотел. Благодарность!
Finer Recliner