シリアル端末をKVMインスタンスに接続するにはどうすればよいですか?


12

おそらく、KVMの機能を誤解しているかもしれませんが、VMにハードウェアを追加/削除する機能は、ターミナルとして機能するシリアルポートを追加できることを意味するようです。

だから、私の質問は次のとおりです。

  1. ゲストFreeBSDディストリビューションに最適な設定はどれですか?(沢山あります!)
  2. Linuxホストから上記のターミナルにアクセスするにはどうすればよいですか?

回答:


5

Stefanのコメントとリンクされた2つの記事に基づいて、自分の質問に答えることができます。

解決策は次のとおりです。

  • そこにptyを指すデフォルトのシリアルデバイスがある場合は、ホスト構成を編集する必要はありません。
  • カーネルのブートパラメータに次が追加されていることを確認しますserial=tty0 console=ttyS0,115200n8。通常編集によって達成されます/boot/grub/menu.lst
  • /etc/inittabT0:S12345:respawn:/sbin/getty -hL ttyS0 115200 vt100を設定して追加し、gettyを起動してログインプロンプトを表示します。

fedoraシステムを使用してこれが機能することを確認できます(ただしenforcing=0、問題のシステムはSELinux MLSを実行するfedora rawhideであるため、追加のパラメーターとして設定する必要がありました)。

そこから、おそらくfreebsdでも同じことをする方法を考え出すことができると思います。

ありがとうステファン!


serial=tty0は間違いだと思いますconsole=tty0。カーネルドキュメントに「シリアル」パラメーターが表示されません。ただし、複数のコンソール(この場合、アクティブな仮想コンソールとシリアルコンソール)を指定するのは理にかなっています。
mattdm

2

FreeBSDマシンのセットアップ方法への回答として、シリアルを取得する主なケースが2つあります。FreeBSDをシリアルのみでインストールする場合、ブートローダーのシリアル命令が必要になります。すでにコンソールがあり、シリアルアクセスも必要な場合は、インストール後のシリアルの指示に従ってください。

ブートローダーシリアル

  • 押す 2FreeBSDのブートオプション画面でを、ローダープロンプトにエスケープします
  • タイプ set console=comconsole
    • この時点で双方向性を失った場合、仮想ttyボーレートが9600であるかどうかを確認してください
  • タイプ autoboot

これにより、インストールの残りをシリアルインターフェイスを介して実行できるようになります。FreeBSDのインストール後もシリアルアクセスを継続したい場合は、インストールの最後にリブートする前にコマンドプロンプトにドロップします。

インストール後のシリアル

コンソールで:

  • タイプ echo 'console="comconsole"' >> /boot/loader.conf
  • /etc/ttysviでロードする
  • ttyu0で始まる行を変更します(他のバージョンのFreeBSDではttyd0になる場合があります)
    • そのライン変化にdialupまでvt100及びoffon
  • 再起動後、シリアル端末は起動プロセスを表示し、ログインプロンプトで終了するはずです
    • 注:を設定すると、ブートメッセージがシリアルインターフェイスにのみ表示さconsole="comconsole"れる/boot/loader.conf可能性があります。/etc/ttysシリアル経由でブートログを使用しない場合は、変更します。

参照資料

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

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


0

もちろん、エミュレータ内でシリアルポートをエミュレートし、ホストでアクセスできるようにする必要があります。ゲストOSは、getty_psなどのログインプロンプトのような「ハードウェアシリアルポート」に何かを配置する必要があります。今、私は個人的にこのように使用する必要はありません。ほとんどの場合、ゲストOSのエミュレートされたシリアルポートはデバッグ情報に使用され(Haikuは引き続きデフォルトでそれを使用します)、その後、デバッグ情報を利用できるように、シンプルなテキストファイルとしてエミュレーター(VMwareなど)によってキャプチャされます。ここで、qemu内のエミュレートされたシリアルコンソールで何かを実行してみてください。


0

OPの答えは機能しますが、env(Linuxホスト、Linuxクライアント)で試したとき

  1. serial=tty0 必要ありませんでした
  2. 代わりにvt100でxtermを使用した/etc/inittab方がうまく機能します(色が付きます)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.