Quão grande é o problema 'Não é possível encontrar o arquivo de mapa'. mensagem de inicialização?

1

Esta é uma continuação para outra pergunta que pedi aqui .

Para resumir: Estou tentando inicializar um kernel Linux que eu configurei e construí, como parte de uma instalação Linux From Scratch (LFS). No entanto, estou vendo a seguinte linha em /var/log/kern.log :

Oct 9 17:24:17 <lee_lfs> kernel: Cannot find map file.

Eu tenho lido através do código-fonte do klogd (isso é usando o SysVinit) e o problema parece ser que o arquivo de mapa não contém a linha 'version' que o klogd está procurando.

De qualquer forma, minha pergunta é: qual é o tamanho do problema? Que tipo de problemas isso pode causar? É algo que eu posso simplesmente ignorar e o sistema ainda deve inicializar e rodar ok, ou isso é um problema que precisa ser resolvido?

    
por Time4Tea 02.11.2017 / 17:12

2 respostas

0

Para fornecer uma resposta à minha própria pergunta: Eu posso confirmar que o kernel personalizado que eu criei inicializa e parece funcionar bem, mesmo que o arquivo de mapa seja completamente removido. Portanto, não parece ser um requisito crítico, do ponto de vista da inicialização do sistema. No entanto, como Matt O. disse em sua resposta, parece que isso pode tornar a depuração mais difícil, se os locais da memória não puderem ser correspondidos aos símbolos que o arquivo System.map contém.

    
por 07.11.2017 / 18:08
1

How big of a problem is this.

Bastante significativo. IE: sua distro pode estar inutilizável.

What sorts of problems might this potentially cause?

Isso é um pouco difícil de dizer, mas se você observar o seu registro do kernel, será capaz de dizer rapidamente.

Is it something I can just ignore and the system should still boot up and run ok, or is this a problem that needs to be solved?

Eu não acho que seja um problema que você possa ignorar se você valoriza a estabilidade. Eu digo isso da maneira mais difícil de depurar seu sistema sem ele.

Bem, posso ver algumas coisas acontecendo.

O kernel não está construindo system.map, o link simbólico não é criado ou algumas permissões estão causando o problema.

Se isso ajuda o system.map também é chamado de tabela de símbolos. Mencionei anteriormente que isso afeta a estabilidade, mas é mais difícil depurar seu sistema.

Aqui estão as entradas do Makefile para você ver o que está acontecendo:

nm /boot/vmlinux-2.4.18-19.8.0 > System.map
# Below is the line from /usr/src/linux/Makefile 
nm vmlinux | grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | sort > System.map
cp /usr/src/linux/System.map /boot/System.map-2.4.18-14   # For v2.4.18

então, antes de mais nada, certifique-se de que esta cópia esteja acontecendo.

Para complicar um pouco mais, se o klogd não for informado onde o system.map está localizado, ele aparece aqui:

  1. /boot/System.map
  2. /System.map
  3. /usr/src/linux/System.map

É possível que sua saída de compilação do kernel Linux para /usr/src/linux-version/System.map e klogd simplesmente não apareça lá. Uma cópia do arquivo informará imediatamente se esse é o problema.

    
por 02.11.2017 / 18:06