Por que meu ramdisk inicial é tão grande?

12

Estou executando o Ubuntu 11.10, que veio com a versão do kernel 3.0.0-14. Eu baixei e construí um kernel a partir do 3.1.0ramo. Depois de instalar o novo kernel, vejo que meu /boot/initrd.img-3.1.0arquivo é ENORME. São 114MB, enquanto o meu /boot/initrd.img-3.0.0-14-generictem cerca de 13MB. Quero me livrar do inchaço, o que é claramente desnecessário.

Ao criar o novo kernel, copiei o meu /boot/config-3.0.0-14-genericpara .configno meu diretório build, para manter a configuração do meu kernel original. Eu corri make oldconfig, selecionei os padrões para todas as novas opções e construí o kernel.

Observando os tamanhos de arquivo em cada um dos arquivos initrd cpio, vejo que todos os meus módulos .ko são maiores no ramdisk 3.1.0 do que no 3.0.0-14. Eu assumi que havia um sinalizador de depuração desnecessário verificado no meu arquivo de configuração, mas não vejo nada diferente que ainda não tenha sido ativado no arquivo de configuração 3.0.0-14.

Meu /boot/config-3.0.0-14-genericestá aqui: http://pastebin.com/UjH7nEqd

E o meu /boot/config-3.0.1está aqui: http://pastebin.com/HyT0M2k1

Alguém pode explicar de onde vem todo o inchaço desnecessário?

Finer Recliner
fonte

Respostas:

15

Ao construir o kernel e o módulo usando make oldconfig, makee make install, os módulos resultantes terão informações de depuração disponíveis nos arquivos.

Use a INSTALL_MOD_STRIPopção para remover símbolos de depuração:

make INSTALL_MOD_STRIP=1 modules_install

Da mesma forma, para compilar os pacotes deb:

make INSTALL_MOD_STRIP=1 deb-pkg
Lekensteyn
fonte
1
Correr make INSTALL_MOD_STRIP=1 installme deu o que eu queria. Obrigado!
Finer Recliner