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 fiz o download e criei um kernel a partir da ramificação 3.1.0 . Depois de instalar o novo kernel, vejo que meu arquivo /boot/initrd.img-3.1.0 é ENORME. São 114MB, enquanto meu /boot/initrd.img-3.0.0-14-generic é de 13MB. Eu quero me livrar do inchaço, que é claramente desnecessário.

Ao criar o novo kernel, copiei meu /boot/config-3.0.0-14-generic para .config no meu diretório de construção, para manter a configuração do meu kernel original. Eu executei make oldconfig , selecionei os padrões para todas as novas opções e, em seguida, criei o kernel.

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

Meu /boot/config-3.0.0-14-generic está aqui: link

E meu /boot/config-3.0.1 está aqui: link

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

    
por Finer Recliner 29.01.2012 / 22:54

1 resposta

15

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

Use a opção INSTALL_MOD_STRIP para remover os símbolos de depuração:

make INSTALL_MOD_STRIP=1 modules_install

Da mesma forma, para criar os pacotes deb:

make INSTALL_MOD_STRIP=1 deb-pkg
    
por 30.01.2012 / 00:38