¿Cómo puedo usar netconsole para ayudar a resolver un problema de kernel?

¿Cómo puedo usar netconsole para ayudar a resolver un problema de kernel?

Cuando intento utilizar un raid como root, mi sistema entra en pánico.

Quiero leer la salida del kernel justo antes del pánico, pero no puedo desplazarme hacia arriba. Después de buscar un poco en Google, quise probar netconsole. pero no obtengo ningún resultado en la segunda máquina

partes relevantes de mi grub.conf actual

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
  • el primero falla con un pánico en el kernel
  • el segundo es el que intento usar netconsole
  • el tercero comienza pero usa la raíz incorrecta/antigua

La otra computadora ejecuta un LiveCD de Kubuntu donde comencé nc -u -l 6666.
Y si inicio la (primera) computadora con la tercera opción de grub, puedo ejecutarla nc -u 192.168.0.27 6666para comunicarme con la segunda computadora.

La diferencia entre /boot/linux-3.0.6-gentooy /boot/linux-3.0.6-gentoo-debuges que habilité:

  • Hackeo del kernel -> Depuración del kernel
  • Hackeo del kernel -> Retrasar cada mensaje printk de arranque en N milisegundos
  • Controladores de dispositivos -> Compatibilidad con dispositivos de red -> Compatibilidad con registros de consola de red

Preguntas

  1. ¿Mi (segunda) configuración de grub está definida correctamente?
  2. ¿Hay más opciones de configuración del kernel que debería habilitar?
  3. ¿Hay más información sobre el hardware de la máquina específica para la que debo proporcionar detalles?
  4. ¿Hay alguna manera de permitirme retroceder después de entrar en pánico?

Respuesta1

Tuve el mismo problema en gentoo con un kernel 3.5.0. No importa qué ejemplo en línea probé, no llegó ningún resultado al cliente hasta que ejecuté el siguiente comando:

dmesg-n 7

Originalmente lo intenté

dmesg-n 8

que se sugirió en la documentación del kernel pero que devolvió

host local ~ # dmesg -n 8
dmesg: nivel desconocido '8'

donde dmesg -n 7 funcionó

host local ~ # dmesg -n 7
localhost ~ # comprobación de eco > /sys/block/md0/md/sync_action

Esto es lo que obtuve del cliente.

almacén de datos1 ~ # nc -l -p 30000 -u
[9698.913098] md: verificación de datos de la matriz RAID md0
[ 9698.913112] md: velocidad mínima _garantizada_: 1000 KB/seg/disco.
[9698.913124] md: utiliza el ancho de banda de E/S inactivo máximo disponible (pero no más de 200000 KB/seg) para la verificación de datos.
[ 9698.913150] md: usando una ventana de 128k, sobre un total de 1048512k.
[9718.197555] md: md0: verificación de datos realizada.

Por cierto, así es como configuro la netconsole:

modprobe netconsole netconsole="@/eth0,[correo electrónico protegido]/"

información relacionada