Por que meu arquivo System.map não contém uma linha 'Version_XXXXX'?

0

Em relação a essa pergunta que eu fiz anteriormente: Kernel Linux: 'Não foi possível encontrar o arquivo de mapa'

O arquivo System.map que está sendo gerado pela minha compilação do kernel do Linux (4.12.7) não contém uma linha de formulário:

[address] [type] Version_XXXXX

(onde 'XXXXX' é a versão do kernel, codificada na base 256)

Acredito que o arquivo deve incluir esta linha, pois é isso que o klogd está procurando para verificar se o arquivo de mapeamento tem a mesma versão do kernel em execução (neste momento, está rejeitando o arquivo de mapeamento).

Então, por que essa linha não está sendo gerada? Alguém já encontrou um problema semelhante antes, ao construir kernels? Há alguma opção de configuração relacionada ao arquivo de mapa?

Seria ótimo se alguns outros usuários pudessem verificar seus arquivos System.map, para ver se eles contêm tal linha (especialmente se estiverem executando o SysVinit).

    
por Time4Tea 03.11.2017 / 03:29

1 resposta

0

Eu levei este para o time de desenvolvimento do kernel, através da lista de discussão 'linux-kernel'. Ele investigou e aparentemente houve uma mudança feita em algum lugar em torno da versão do kernel 2.6.27, onde essa linha de versão é impressa apenas no arquivo System.map se a opção CONFIG_KALLSYMS estiver não ativada. Com meu kernel (e provavelmente a maioria dos outros por padrão), ele foi ativado, o que significa que o klogd não aceitaria o arquivo de mapeamento.

Ele disse que, no que lhe diz respeito, ele ficaria feliz se fosse alterado para que a linha de versão fosse sempre incluída (afinal, é apenas uma linha de texto). Ele não garantiu que fará parte da próxima versão lançada, mas esperançosamente será. Enquanto isso, a desativação de CONFIG_KALLSYMS deve fazer com que a linha da versão seja impressa, se necessário.

    
por 06.12.2017 / 23:21