Как выгрузить логи dmesg (также известные как Kernel) в один файл .txt из загрузки ядра?

Как выгрузить логи dmesg (также известные как Kernel) в один файл .txt из загрузки ядра?

Я пытаюсь понять SATA Host-Device Communication и для этого я поместил много отладочных сообщений в код драйвера ядра. Теперь сообщений так много, что я не могу увидеть начальные сообщения перечисления устройств в журнале dmesg. Для того же я изменил переменную конфигурации CONFIG_LOG_BUF_SHIFT(=21), чтобы увеличить размер кольцевого буфера, из которого dmesg берет сообщение, но я все еще сталкиваюсь с той же проблемой.

Итак, есть ли какой-либо метод, с помощью которого я могу записать все сообщения dmesg с момента загрузки ядра в определенный файл?

Спасибо за помощь в продвижении.

решение1

Вы можете использовать:

cat /var/log/dmesg > file.txt

и используйте:

head /var/log/dmesg

если вы хотите увидеть первые строки dmesg.

См. также 'man head' для дополнительных спецификаций. Символ '>' перенаправляет вывод 'cat' в 'file.txt'

решение2

Есть команда dmesg, которая выводит логи на stdout. Вы можете просто перенаправить stdout в текстовый файл.

dmesg > /path/to/dmesg.txt

Вы можете расширить это. Действительно полезным вариантом было бы добавить строку в ваш ~/.profileфайл (в вашем домашнем каталоге), которая добавляет вывод dmesg при входе в систему. Просто добавьте строку, которая говорит:

dmesg >> /path/to/dmesg.txt

Если вам нужны только первые несколько строк (0,000000 сообщений), вы можете передать их headследующим образом.

Со стандартным выводом:

dmesg | head

или с headуже сохраненным файлом .txt.

head /path/to/dmesg.txt

Вот и все, надеюсь, это поможет!

РЕДАКТИРОВАТЬ:Кстати, это содержит 0,000000 сообщений.

Связанный контент