Como posso usar o netconsole para ajudar a resolver um kernel panic?

Como posso usar o netconsole para ajudar a resolver um kernel panic?

Quando tento usar um ataque como root, meu sistema entra em pânico.

Quero ler a saída do kernel logo antes do pânico, mas não consigo rolar para cima. Depois de pesquisar um pouco no Google, quis experimentar o netconsole. mas não obtenho nenhuma saída na segunda máquina

partes relevantes do meu grub.conf atual

title Gentoo Linux 3.0.6
root (hd0,0)
kernel /boot/linux-3.0.6-gentoo root=/dev/md3

title Gentoo Linux 3.0.6 (debug netconsole)                                                                                                    
root (hd0,0)                                                                                                                                   
kernel /boot/linux-3.0.6-gentoo-debug root=/dev/md3 netconsole=@/,[email protected]/00:18:f3:a8:09:61                                          
#kernel /boot/linux-3.0.6-gentoo-debug root=/dev/md3 [email protected]/eth0,[email protected]/00:18:f3:a8:09:61

title Gentoo Linux 3.0.6 (no root/auto root)
root (hd0,0)
kernel /boot/linux-3.0.6-gentoo
  • o primeiro falha com kernel panic
  • o segundo é aquele que tento usar o netconsole
  • o 3º começa mas usa a raiz errada/antiga

O outro computador está executando um LiveCD do Kubuntu onde eu comecei nc -u -l 6666.
E se eu iniciar o (primeiro) computador com a 3ª opção grub, posso correr nc -u 192.168.0.27 6666para me comunicar com o 2º computador.

A diferença entre /boot/linux-3.0.6-gentooe /boot/linux-3.0.6-gentoo-debugé que eu habilitei:

  • Hacking de kernel -> depuração de kernel
  • Hacking de kernel -> Atrasar cada mensagem printk de inicialização em N milissegundos
  • Drivers de dispositivos -> Suporte a dispositivos de rede -> Suporte a log do console de rede

Questões

  1. Minha (2ª) configuração do grub está definida corretamente?
  2. Há mais opções de configuração do kernel que eu deveria ativar?
  3. Há mais informações sobre o hardware específico da máquina para o qual devo fornecer detalhes?
  4. Existe alguma maneira de me permitir voltar a rolar depois de entrar em pânico?

Responder1

Acabei de ter o mesmo problema no gentoo com um kernel 3.5.0. Não importa qual exemplo online eu tentei, nenhuma saída chegou ao cliente até que executei o seguinte comando:

dmesg -n 7

Eu originalmente tentei

dmesg -n 8

que foi sugerido na documentação do kernel, mas que retornou

host local ~ # dmesg -n 8
dmesg: nível desconhecido '8'

onde dmesg -n 7 funcionou

host local ~ # dmesg -n 7
localhost ~ # verificação de eco > /sys/block/md0/md/sync_action

Aqui está o que consegui sobre o cliente

armazenamento de dados1 ~ # nc -l -p 30000 -u
[9698.913098] md: verificação de dados da matriz RAID md0
[9698.913112] md: velocidade mínima _garantida_: 1000 KB/s/disco.
[9698.913124] md: usando largura de banda de E/S ociosa máxima disponível (mas não mais que 200.000 KB/s) para verificação de dados.
[9698.913150] md: usando janela de 128k, num total de 1048512k.
[9718.197555] md: md0: verificação de dados concluída.

Aliás, aqui está como eu configuro o netconsole:

modprobe netconsole netconsole="@/eth0,[e-mail protegido]/"

informação relacionada