Descubra quais arquivos de origem do kernel foram usados quando o kernel foi compilado

6

Estou compilando o kernel do Linux para meu hardware específico e seleciono apenas os drivers / opções que realmente preciso. Isto está em contraste com um kernel típico de distribuição, onde eles compilam quase tudo, para serem compatíveis com o maior número possível de configurações de hardware.

Eu imagino que, para meu kernel, eu estou usando apenas 1% do código total do kernel (ordem de magnitude estimada).

Existe alguma maneira de descobrir quais arquivos da fonte do kernel eu realmente usei quando construí meu kernel?

Esta não é uma questão acadêmica. Suponha que eu tenha compilado meu kernel 3.18.1. Agora, uma atualização de segurança é lançada e a versão 3.18.2 é lançada. Eu aprendi na minha outra pergunta como descobrir quais arquivos foram alterados entre os lançamentos. Se eu soubesse se algum dos arquivos que estou usando mudou, eu recompilaria meu kernel para a nova versão. Se, por outro lado, as alterações afetarem apenas os arquivos que eu não estou usando de qualquer maneira, eu posso manter minha versão atual do kernel.

    
por Thomas Keller 18.03.2015 / 20:34

1 resposta

4

Compilando meu comentário como resposta:

  1. Execute o seguinte comando em um shell. Você pode fazer um script shell dele ou demonizar com a opção -d .

    inotifywait -m -r -e open --format '%f' /kernel_sources/directory/in_use/ -o /home/user/kernel_build.log
    
  2. Em outro shell, execute make

  3. O arquivo de log /home/user/kernel_build.log terá uma lista dos arquivos que foram abertos (operação de leitura) durante o processo de construção.
por 18.03.2015 / 21:26