Como remover arquiteturas, drivers, etc não utilizados de cabeçalhos ao construir um kernel Linux customizado?

7

Estou construindo pacotes de kernel Linux customizados em um ambiente Ubuntu 13.10 amd64 usando o% apt-get source linux-image-$(uname -r) da maneira debian make-kpkg clean;fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers .

Os cabeçalhos do Linux são maiores que a imagem

O resultado são dois arquivos .deb em que o arquivo linux-headers- tem 8.2M em tamanho e o linux-image- resultante é somente 6.1M . Depois de dar uma olhada em quais arquivos o linux-image- contém, vejo que há muitos cabeçalhos para itens que estão desabilitados no arquivo .config .

Linux-headers -... content

  • sistemas de arquivos não utilizados, como /fs/reiserfs/ ,
  • módulos de segurança não utilizados, como /security/selinux/ ,
  • inclusões não utilizadas, como /include/pcmcia/ ou /include/sound/ ,
  • Arquiteturas não utilizadas, como /arch/powerpc/ , /arch/s390/ , /arch/parisc/ , /arch/blackfin/ , /arch/cris/ , /arch/xtensa/ , /arch/alpha/ , /arch/ia64/ , /arch/h8300/ , /arch/arm/ , etcetera,
  • drivers não utilizados, como /drivers/leds/ , /drivers/eisa/ , /drivers/isdn/ , /drivers/net/ppp/ , /drivers/net/wireless/ , etc.,
  • rede não utilizada como /net/bluetooth/ , /net/wimax/ , /net/decnet/ , etc.

O que (e como) são as opções para remover os itens não usados do pacote linux-headers- e / ou reduzir o tamanho do arquivo ?

    
por Pro Backup 14.03.2014 / 00:50

1 resposta

5

O pacote linux-headers é necessário apenas quando você deseja compilar fontes, kernels ou construir outros pacotes.

Descrição do pacote de debian :

This package provides the architecture-specific kernel header files for Linux kernel 2.6.32-5-686, generally used for building out-of-tree kernel modules. These files are going to be installed into /usr/src/linux-headers-2.6.32-5-686, and can be used for building modules that load into the kernel provided by the linux-image-2.6.32-5-686 package.

kernel-headers também não fazem parte de um tempo de execução do sistema. Falado com tanta precisão, não há casos de uso para remover os arquivos de cabeçalho não usados do pacote. No entanto, a descrição original restringe isso dizendo generally e limita seu uso para construir módulos do kernel. Se você estiver executando um kernel personalizado que foi criado com kpkg , também poderá vincular novamente seus cabeçalhos /usr/include/{linux,asm,asm-generic} para poder compilar corretamente outras fontes.

    
por 23.03.2014 / 16:16