Ubuntu Server 12 не создает серийный ttyS0 при работе на Xen

У меня есть эта проблема на более чем одном хосте, так что конкретное оборудование не проблема.

Голый металл Ubuntu 12 не создает процесс входа в систему на единственный последовательный порт в конфигурации по умолчанию. Серийный порт корректно работает с прошивкой. Он работает правильно с Grub2. Я даже подключил последовательную линию к двум различным внешним клиентским блокам, так что проблема не в аппаратном и не в удаленном клиенте.

При окончательной загрузке система не может создать процесс входа в систему.

root@xenpro3:~# ps ax | grep tty

  1229 tty4     Ss+    0:00 /sbin/getty -8 38400 tty4

  1233 tty5     Ss+    0:00 /sbin/getty -8 38400 tty5

  1239 tty2     Ss+    0:00 /sbin/getty -8 38400 tty2

  1241 tty3     Ss+    0:00 /sbin/getty -8 38400 tty3

  1245 tty6     Ss+    0:00 /sbin/getty -8 38400 tty6

  1403 tty1     Ss+    0:00 /sbin/getty -8 38400 tty1

  1996 pts/0    S+     0:00 grep --color=auto tty

root@xenpro3:~# dmesg | grep tty

[    0.000000] Command line: BOOT_IMAGE=/vmlinuz-3.2.0-30-generic root=/dev/mapper/xenpro3-root ro console=ttyS0,115200n8

[    0.000000] Kernel command line: BOOT_IMAGE=/vmlinuz-3.2.0-30-generic root=/dev/mapper/xenpro3-root ro console=ttyS0,115200n8

[    0.000000] console [ttyS0] enabled

[    2.160986] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A

[    2.203396] serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A

[    2.263296] 00:08: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A

[    2.323102] 00:09: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A

root@xenpro3:~# uname -a

Linux xenpro3 3.2.0-30-generic #48-Ubuntu SMP Fri Aug 24 16:52:48 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

root@xenpro3:~# 

Я попытался поместить файл ttyS0.conf в / etc / initab, который решает проблему без изменений, но я все еще не могу заставить работать последовательный порт при загрузке Ubuntu поверх Xen в качестве домена 0. Мой вывод последовательной линии выглядит следующим образом при загрузке Xen

/dev/ttyS0 at 0x03f8 (irq = 4) is a 16550A

 * Exporting directories for NFS kernel daemon...                        [ OK ] 

 * Starting NFS kernel daemon                                            [ OK ] 
SSL tunnels disabled, see /etc/default/stunnel4

[   18.654627] XENBUS: Unable to read cpu state

[   18.659631] XENBUS: Unable to read cpu state

[   18.664398] XENBUS: Unable to read cpu state

[   18.669248] XENBUS: Unable to read cpu state

 * Starting Xen daemons 
                                                 [ OK ] 
mountall: Disconnected from Plymouth

В этот момент последовательная линия больше не подключена к процессу. Сам Xen работает просто отлично. Dmesg дает мне длинный список

[  120.236841] init: ttyS0 main process ended, respawning

[  120.239717] ttyS0: LSR safety check engaged!

[  130.240265] init: ttyS0 main process (1631) terminated with status 1

[  130.240294] init: ttyS0 main process ended, respawning

[  130.242970] ttyS0: LSR safety check engaged!

, что неудивительно, потому что я вижу

root@xenpro3:~# ls -l /dev/ttyS?

crw-rw---- 1 root tty     4, 64 Nov  7 14:04 /dev/ttyS0

crw-rw---- 1 root dialout 4, 65 Nov  7 14:04 /dev/ttyS1

crw-rw---- 1 root dialout 4, 66 Nov  7 14:04 /dev/ttyS2

crw-rw---- 1 root dialout 4, 67 Nov  7 14:04 /dev/ttyS3

crw-rw---- 1 root dialout 4, 68 Nov  7 14:04 /dev/ttyS4

crw-rw---- 1 root dialout 4, 69 Nov  7 14:04 /dev/ttyS5

crw-rw---- 1 root dialout 4, 70 Nov  7 14:04 /dev/ttyS6

crw-rw---- 1 root dialout 4, 71 Nov  7 14:04 /dev/ttyS7

crw-rw---- 1 root dialout 4, 72 Nov  7 14:04 /dev/ttyS8

crw-rw---- 1 root dialout 4, 73 Nov  7 14:04 /dev/ttyS9

Если я вручную изменю группу /dev/ttyS0 на dialout, она будет изменена назад. Я не внес никаких изменений в правила udev по умолчанию, поэтому не вижу, откуда возникла эта проблема.

С уважением,

Segfaultreloaded

2
задан 7 September 2013 в 01:54

2 ответа

Ответом на эту проблему является предоставление «записи» в /etc/init для последовательной консоли Xen required /dev/hvc0.

Как это сделать?

Либо от имени пользователя root, либо с помощью команд sudo, откройте терминал и перейдите в каталог / etc / init. Скопируйте файл для tty1, то есть от /etc/init/tty1.conf до /etc/init/hvc0.conf. Затем отредактируйте новый файл hvc0 в своем любимом текстовом редакторе, заменив все вхождения tty1 на hvc0. При следующей загрузке с помощью Xen ваш последовательный терминал должен теперь работать правильно. Вы должны иметь возможность войти в систему dom0 и использовать командную строку или, нажав Ctrl-a 3 раза, переключиться на прямую последовательную связь с гипервизором.

С уважением,

Segfaultreloaded

0
ответ дан 7 September 2013 в 01:54

У меня была эта проблема. В моем случае удаление ttyS0.conf из / etc / init / и перезагрузка устранили проблему для меня.

Я использую кучу разных образов виртуальных машин Ubuntu, предоставленных другими. На всех других моих виртуальных машинах ttyS0.conf не было. Я не уверен, как он попал туда на мою «проблемную» ВМ

0
ответ дан 7 September 2013 в 01:54

Другие вопросы по тегам:

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