2016-04-15 3 views
0

Я пытаюсь отладить модуль для ядра Linux. Я слышал, что можно отправить вывод консоли на последовательный порт. Я запускаю Ubuntu на vmware и хочу отправить сообщение printk на хост. Мне удалось настроить последовательное соединение и отправить эхо на хост, набрав echo> simething/dev/ttyS1 Но я не могу понять, как отправить вывод на консоль в ttyS1.Отправить printk к серийному

Моя основная проблема заключается в том, что при сбое модуля/ядра последние printk-сообщения теряются и даже не отображаются, это просто буферы.

ответ

2

Попробуйте загрузить ваше ядро ​​с помощью командной строки 'console = ttyS1, < baud>', где < baud> - скорость передачи, которую вы настроили для этого порта в настройках виртуальной машины. Затем ядро ​​будет использовать/dev/ttyS1 в качестве основной консоли, и именно там printk отправит весь свой вывод.

+0

Я добавил 'GRUB_CMDLINE_LINUX =" console = ttyS1,115200n8 "в/etc/default/grub, а затем запустил update-grub и перезагрузился. Однако ничего не происходит с последовательным портом. Я проверил cmdline.txt, чтобы узнать, добавлена ​​ли console = ttyS1, и это было. Я не знаю, ошибается ли скорость бота или что-то в этом роде. – Dave

+0

Он работает, спасибо! Я бы хотел поцеловать тебя. – Dave