Comment connecter un terminal série à une instance KVM?

12

Peut-être que je comprends mal de quoi KVM est capable, mais la possibilité d'ajouter / supprimer du matériel sur la machine virtuelle semble impliquer que je peux ajouter un port série qui agit alors comme un terminal.

Donc, mes questions sont:

  1. Quels paramètres sont les meilleurs pour la distribution invité de FreeBSD? (Il y a beaucoup de!)
  2. Comment accéder à ce terminal depuis mon hôte Linux?
Caleb
la source

Réponses:

5

Je peux maintenant répondre à ma propre question sur la base du commentaire de Stefan et des deux articles liés:

Voici la solution:

  • Vous n'avez pas besoin de modifier quoi que ce soit à voir avec la configuration de l'hôte à condition qu'il y ait le périphérique série par défaut pointant vers pty.
  • Vérifiez que le paramètre de démarrage de votre noyau a cette annexe: serial=tty0 console=ttyS0,115200n8. Habituellement atteint en éditant/boot/grub/menu.lst
  • Configurez /etc/inittabet ajoutez la ligne T0:S12345:respawn:/sbin/getty -hL ttyS0 115200 vt100pour lancer un getty et vous donner l'invite de connexion.

Je peux confirmer que cela fonctionne pour moi en utilisant un système fedora (même si j'ai dû le définir enforcing=0comme paramètre supplémentaire car le système en question est fedora rawhide exécutant SELinux MLS).

Je pense qu'à partir de là, je peux probablement trouver comment faire la même chose pour freebsd.

Merci Stefan!

Communauté
la source
Je pense que serial=tty0c'est une erreur et devait l'être console=tty0. Je ne vois pas de paramètre "série" dans aucun des documents du noyau. La spécification de plusieurs consoles (dans ce cas, la console virtuelle active plus la console série) me semble cependant logique.
mattdm
2

Pour savoir comment configurer votre machine FreeBSD, il y a deux cas principaux pour obtenir une série. Si vous installez FreeBSD avec série uniquement, les instructions série du chargeur de démarrage seront nécessaires. Si vous avez déjà une console et que vous souhaitez également avoir un accès série, suivez les instructions série post-installation.

Série Bootloader

  • Appuyez sur 2à l'écran de l'option de démarrage FreeBSD pour échapper à l'invite du chargeur
  • type set console=comconsole
    • si vous perdez l'interactivité à ce stade, vérifiez si le débit en bauds virtuel est de 9600
  • type autoboot

Cela devrait permettre au reste de l'installation de se faire via l'interface série. Si vous souhaitez continuer à avoir un accès série après l'installation de FreeBSD, alors avant de redémarrer à la fin de l'installation, vous voudrez passer à l'invite de commande.

Série post-installation

Sur la console:

  • type echo 'console="comconsole"' >> /boot/loader.conf
  • charge /etc/ttysen vi
  • Modifiez la ligne commençant par ttyu0 (peut être ttyd0 sur les autres versions de FreeBSD)
    • Sur cette ligne, changez dialuppour vt100et offverson
  • après le redémarrage, le terminal série doit afficher le processus de démarrage et se terminer par une invite de connexion
    • Note: la mise console="comconsole"en /boot/loader.confpourrait faire les messages de démarrage apparaissent sur l'interface série uniquement. Modifiez simplement /etc/ttyssi vous ne voulez pas que le journal de démarrage soit en série.

Les références

http://www.freebsd.org/doc/handbook/serialconsole-setup.html

http://www.freebsd.org/doc/handbook/term.html

Peter Olson
la source
0

Eh bien, vous devez bien sûr émuler un port série dans l'émulateur et le rendre accessible sur l'hôte. Le système d'exploitation invité devrait mettre quelque chose sur son «port série matériel» comme une invite de connexion via, par exemple, getty_ps. Maintenant, personnellement, je n'ai pas eu à l'utiliser de cette façon. La plupart du temps, le port série émulé sur le système d'exploitation invité est utilisé pour le débogage des informations (Haiku l'utilise toujours par défaut), puis il est capturé par l'émulateur (comme VMware) sous la forme d'un simple fichier texte pour disposer des informations de débogage. Je vais essayer ici de faire fonctionner quelque chose sur la console série émulée dans qemu.

reiche
la source
0

La réponse d'OP fonctionne mais quand j'ai essayé avec mon env (hôte Linux, client Linux)

  1. serial=tty0 n'était pas nécessaire
  2. utiliser xterm à la place de vt100 /etc/inittabfonctionne mieux (vous obtenez la couleur)
Andy Song
la source