¿Cómo volcar los registros dmesg AKA Kernel en un único archivo .txt desde el inicio del kernel?

¿Cómo volcar los registros dmesg AKA Kernel en un único archivo .txt desde el inicio del kernel?

Estoy tratando de comprender la comunicación entre el dispositivo host y SATA y para eso puse muchos mensajes de depuración en el código del controlador del kernel. Ahora hay una cantidad tan grande de mensajes que no puedo ver los mensajes iniciales de la enumeración del dispositivo en el registro de dmesg. Por lo mismo, modifiqué la variable de configuración CONFIG_LOG_BUF_SHIFT(=21) para aumentar el tamaño del búfer circular desde donde dmesg toma el mensaje, pero sigo enfrentando el mismo problema.

Entonces, ¿hay algún método disponible mediante el cual pueda registrar todos los dmesg desde el inicio del kernel en un archivo específico?

Gracias por la ayuda por adelantado.

Respuesta1

Puedes usar:

cat /var/log/dmesg > file.txt

y use:

head /var/log/dmesg

si quieres ver las primeras líneas de dmesg.

Consulte también 'cabeza de hombre' para obtener más especificaciones. El símbolo '>' redirige la salida de 'cat' al 'file.txt'

Respuesta2

Hay un comando llamado dmesgque imprimirá los registros en la salida estándar. Puedes simplemente redirigir la salida estándar a un archivo de texto.

dmesg > /path/to/dmesg.txt

Podrías extender esto. Una opción realmente útil sería agregar una línea a su ~/.profilearchivo (en su directorio de inicio) que agregue la salida de dmesg al iniciar sesión. Simplemente agregue una línea que diga:

dmesg >> /path/to/dmesg.txt

Si solo desea las primeras líneas (0.000000 mensajes), puede canalizarlas headasí.

Con salida estándar:

dmesg | head

o con headun archivo .txt ya guardado.

head /path/to/dmesg.txt

Eso es todo, ¡espero que esto ayude!

EDITAR:Por cierto, esto contiene los mensajes 0.000000

información relacionada