web-dev-qa-db-ja.com

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

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

だから、私の質問は:

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

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

これが解決策です:

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

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

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

ステファンありがとう!

5
user119

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

ブートローダーシリアル

  • FreeBSD起動オプション画面で2を押して、ローダープロンプトにエスケープします
  • タイプset console=comconsole
    • この時点で対話性が失われた場合は、仮想TTYボーレートが9600かどうかを確認してください。
  • タイプautoboot

これにより、残りのインストールをシリアルインターフェイス経由で実行できます。 FreeBSDのインストール後もシリアルアクセスを継続したい場合は、インストールの最後に再起動する前に、コマンドプロンプトに移動してください。

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

コンソールで:

  • タイプecho 'console="comconsole"' >> /boot/loader.conf
  • viで/etc/ttysをロード
  • Ttyu0で始まる行を変更します(FreeBSDの他のバージョンではttyd0の場合があります)
    • その行でdialupvt100に、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

2
Peter Olson

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

0
reiche

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

  1. serial=tty0は不要でした
  2. /etc/inittabでvt100の代わりにxtermを使用すると、よりうまく機能します(カラーが得られます)
0
Andy Song