Looking for Computer Science  & Information Technology online courses ?
Check my new web site: https://www.yesik.it !

Si vous créez un domU avec xen-create-image sous Debian, vous risquez de rencontrer un problème au moment de vous y connecter par ssh(1):

sh$ ssh root@10.129.36.151
root@10.129.36.150's password: 
stdin: is not a tty

Ce problème provient du fait que udev n'est pas installé sur le domaine invité. Afin d'éviter d'avoir à l'installer manuellement à chaque domU que vous créerez, xen-create-image (en tous cas sous Debian/Lenny) est livré avec un rôle (c'est à dire un script de post-installation) chargé de cette tâche. Seulement faut-il penser à le demander:

sh# xen-create-image --hostname=casper \
                     --ip=10.129.36.151 \
                     --role=udev

Et ça suffit: sans plus de modifications, vous pourrez vous connecter par ssh à tous les domaines que vous créerez ainsi.

Note:

Par contre, cette manipulation ne vous permet pas d'avoir un login à partir d'une console attachée au domaine. Pour cela, il faut encore rajouter la ligne suivant au fichier de configuration de votre domU (dans mon cas /etc/xen/casper.cfg):

extra       = 'console=hvc0 xencons=tty'

Et pour un domaine existant?

Pas de chance: si vous avez découvert le problème "stdin: is not a tty", c'est peut-être que vous avez déjà créé votre domaine! Dans ce cas, une solution consiste à monter l'image disque créée par xen-create-image sur votre dom0 et à installer udev sur ce disque:

sh# mount -o loop /var/xen/domains/casper/disk.img /mnt
sh# chroot /mnt
sh# apt-get install udev
sh# exit # Sort de l'environnement chroot
sh# umount /mnt

Piège:

Tout ceci devant se faire le domU arrêté bien sûr!

Références