Куда вы отправляете консоль ядра на встроенную систему? - PullRequest
7 голосов
/ 30 сентября 2008

Я разрабатываю встроенную систему, которая в настоящее время загружает Linux с консольным выходом через последовательный порт 1 (используя параметр загрузки консоли из загрузчика). Тем не менее, в конечном итоге мы будем использовать этот последовательный порт. Какое лучшее решение для вывода на консоль ядра? / DEV / нуль? Можно ли его как-нибудь надеть на pty, чтобы мы могли получить к нему доступ?

Ответы [ 2 ]

3 голосов
/ 30 сентября 2008

Вы можете получить доступ к буферу сообщений printk из оболочки, используя dmesg. Буфер ядра имеет конечный размер и будет перезаписывать самые старые записи самыми последними, поэтому вам придется либо периодически проверять dmesg, либо подключать netconsole, как подсказывает @bmdhacks.

Если консоли нет, вы пропустите любую информацию об ошибках, распечатанную в результате сбоя ядра. Даже использование netconsole может и не помочь, если ядро ​​умрет и начнет перезагружаться до того, как TCP удастся доставить вывод на удаленный сокет. Обычно мы модифицируем kernel / panic.c: panic (), чтобы сохранить содержимое регистра и другое состояние в области NOR flash, поэтому для посмертной отладки будет по крайней мере некоторая информация.

3 голосов
/ 30 сентября 2008

Если вы просто хотите читать сообщения printk ядра из консоли, а не запускать на нем getty или оболочку, вы можете использовать netconsole. Для параметров ядра вашего загрузчика (или для modprobe netconsole) вы можете указать следующее:

netconsole=4444@10.0.0.1/eth1,9353@10.0.0.2/12:34:56:78:9a:bc

, где 4444 - локальный порт, 10.0.0.1 - локальный ip, eth1 - локальный интерфейс для отправки сообщений. 9353 - это удаленный порт, 10.0.0.2 - это удаленный IP-адрес для отправки сообщений, а последний аргумент - это MAC-адрес вашей удаленной (например, вашего рабочего стола) системы.

Затем для просмотра сообщений запустите:

netcat -u -l -p 9353

Подробнее об этом можно прочитать в Documentation / network / netconsole.txt

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...