J'ai ce problème sur plus d'un hôte, le matériel spécifique n'est donc pas un problème.
Bare Metal Ubuntu 12 ne crée pas de processus de connexion sur le seul port série, dans la configuration par défaut. Le port série fonctionne correctement avec le firmware. Cela fonctionne correctement avec Grub2. J'ai même connecté la ligne série à 2 boîtiers clients externes différents, le problème n'est donc ni le matériel ni le client distant.
Une fois finalement démarré, le système ne parvient pas à créer le processus de connexion.
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:~#
J'ai essayé de placer un fichier ttyS0.conf dans/etc/initab, ce qui résout le problème du métal nu, mais je ne parviens toujours pas à faire fonctionner le port série lors du démarrage d'Ubuntu sur Xen, dans le domaine 0. La sortie de ma ligne série ressemble à ceci , lors du démarrage de 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
À ce stade, la ligne série n'est plus connectée à un processus. Xen lui-même fonctionne très bien. Dmesg me donne une longue liste de
[ 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!
ce qui n'est pas surprenant car je vois
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
Si je change manuellement le groupe de /dev/ttyS0
en dialout
, il est modifié. Je n'ai apporté aucune modification aux règles udev par défaut, je ne vois donc pas d'où vient ce problème.
Cordialement,
Segfaultreloaded
La réponse à ce problème consiste à fournir une "entrée" dans /etc/init
pour la console série Xen requise /dev/hvc0
.
Comment faire ça?
En tant que root ou en utilisant les commandes Sudo, ouvrez un terminal et accédez au répertoire/etc/init. Copiez le fichier pour tty1, c'est-à-dire /etc/init/tty1.conf
dans /etc/init/hvc0.conf
. Editez ensuite le nouveau fichier hvc0
dans votre éditeur de texte favori, en remplaçant toutes les occurrences de tty1
par hvc0
. Au prochain démarrage avec Xen, votre terminal série devrait maintenant fonctionner correctement. Vous devriez pouvoir vous connecter à dom0
et utiliser la ligne de commande ou en appuyant trois fois sur Ctrl-a
pour passer directement à la communication série avec l'hyperviseur.
Cordialement,
Segfaultreloaded
J'ai eu ce problème. Dans mon cas, supprimer ttyS0.conf de/etc/init/et redémarrer a corrigé le problème pour moi.
J'utilise un tas de différentes images ubuntu VM que d'autres ont fournies. Le ttyS0.conf n'était pas présent sur toutes mes autres machines virtuelles. Je ne sais pas comment cela a été mis là sur mon VM "problème"