(Linux )Должны ли сообщения printk ()отправляться в /dev/console? Если да, то почему они не появляются?

eno1— это новый eth0, введенный схемой Predictable Network Interface Names . Ваш интерфейс запущен и работает, он просто называется eno1вместо eth0. Ваш DHCP-сервер назначает IP-адрес вашему серверу. Вы должны выяснить, почему DHCP-сервер выдает вам динамический адрес, а не статический адрес, который вы хотите; это не вина клиента. По -проверьте конфигурацию DHCP-сервера.

1
18.09.2020, 06:48
1 ответ

xconsole(1)можно получить только то, что пользовательские -наземные программы записывают в /dev/console, но не любые сообщения ядра, записанные на любой из терминалов /dev/consoleявляются видом псевдонима для(2).

Сообщения ядра printk могут отправляться только на

  1. виртуальный терминал linux подобный /dev/tty0(, но не к любому псевдо-терминалу -или эмулятору терминала)(3). «Виртуальные терминалы» — это те «черные» терминалы без -графического интерфейса, которые можно переключать с помощью Ctrl -Alt -Fx на ПК под управлением Linux.

  2. последовательная консоль, аналогичная /dev/ttyS0(, но не к какой-либо последовательной -через -USB-консоль или аналогичную ).

  3. буфер dmesg, откуда они выбираются системным регистратором (будь то rsyslog или что-то из systemd )или такими программами, как dmesg.

(1)xconsoleработает путем создания псевдотерминала и перенаправления туда с помощью ioctl(TIOCCONS)любого пользовательского пространства, записывающего в /dev/console.

(2)В Linux нет интерфейса для получения терминала, на который ссылается /dev/console; единственный способ получить эту информацию — живая -отладка ядра;-)

(3)/dev/tty0является псевдонимом для текущего "фокусированного" виртуального терминала. Вы можете перенаправить сообщения ядра на другой виртуальный терминал с помощью ioctl(TIOCL_SETKMSGREDIRECT).

2
18.03.2021, 23:04

Теги

Похожие вопросы