У меня есть эта проблема на более чем одном хосте, так что конкретное оборудование не проблема.
Голый металл 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
Ответом на эту проблему является предоставление «записи» в /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
У меня была эта проблема. В моем случае удаление ttyS0.conf из / etc / init / и перезагрузка устранили проблему для меня.
Я использую кучу разных образов виртуальных машин Ubuntu, предоставленных другими. На всех других моих виртуальных машинах ttyS0.conf не было. Я не уверен, как он попал туда на мою «проблемную» ВМ