Compilando o kernel personalizado com símbolos de depuração

2

Eu tenho Ubuntu 14.04 com Linux-3.14.3-rt51 kernel. Eu preciso usar Systemtap , então eu compilei meu kernel com as seguintes opções escolhidas durante make menuconfig :

Configuração geral de [*] Kprobes e [*] Kernel->user space relay support (formerly relayfs)

Kernel hackeando
[*] Debug Filesystem e [*] Kernel debugging e [*] Compile the kernel with debug info

Mas quando executo stap -v -e 'probe vfs.read {printf("read performed\n"); exit()}' no meu kernel, vejo os seguintes avisos:

WARNING: cannot find module nfs debuginfo: No DWARF information found [man warning::debuginfo]
WARNING: cannot find module sunrpc debuginfo: No DWARF information found [man warning::debuginfo]  

O que está errado? Alguém pode me ajudar?

    
por R.Shpd 07.10.2015 / 12:56

2 respostas

1

Se você só precisa de símbolos de kernel para executar o systemtap, a maneira mais fácil é instalar o pacote dbgsym para o seu kernel, será muito menos doloroso do que recompilar o kernel inteiro por si mesmo:

Vá para Como instalar o Ubuntu símbolos de depuração do kernel .

Se não houver um pacote dbgsym correspondente, talvez seja necessário atualizar seu kernel.
Veja apt-cache search 'linux-image.*dbgsym' para a lista atual de kernels com símbolos de depuração.

    
por lemonsqueeze 23.06.2016 / 11:48
0

Como você está instalando esse kernel personalizado no seu sistema? E quais parâmetros CONFIG exatos estão usando?

Se você usar o kernel do Ubuntu, você pode seguir os seguintes passos para usar o Systemtap: link

Para instalações de kernel personalizadas, você pode precisar garantir que os símbolos de depuração estejam em um local que o Systemtap saiba verificar. Se você construir o kernel usando make deb-pkg , por exemplo, ele produzirá um pacote linux-image-$KVER-dbg que pode ser instalado para instalar corretamente os símbolos debuginfo.

    
por Chris J Arges 13.01.2016 / 04:06