KVMが何をしているのかを誤解している可能性がありますが、VMにハードウェアを追加/削除できるというのは、シリアルポートを追加してから端末として機能できるという意味です。
だから私の質問は次のとおりです。
- ゲストFreeBSDディストリビューションに最適な設定は何ですか? (たくさんあります!)
- Linuxホストからその端末にどのようにアクセスしますか?
答え1
今、私は以下に基づいて自分の質問に答えることができます。ステファンコメントとリンクされた2つの記事:
- https://askubuntu.com/questions/1733/what-reason-could-prevent-console-output-from-virsh-c-qemu-system-console-gu
- http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507650#29
解決策は次のとおりです。
- ホスト構成にptyを指すデフォルトのシリアルデバイスがある限り、ホスト構成に関連するものを編集する必要はありません。
- カーネルのブートパラメータに以下が追加されていることを確認してください
serial=tty0 console=ttyS0,115200n8
。通常編集で行われます/boot/grub/menu.lst
- gettyを起動してログインプロンプトを表示するには、
/etc/inittab
この行を設定して追加します。T0:S12345:respawn:/sbin/getty -hL ttyS0 115200 vt100
enforcing=0
Fedoraシステムを使用してこれが機能していることを確認できます(もちろん、問題のシステムがSELinux MLSを実行しているfedora rawhideであるため、追加のパラメータを設定する必要がありますが)。
私はそこからfreebsdに対して同じことをする方法を見つけることができると思いました。
ありがとう、ステファン!
答え2
FreeBSDシステムの設定方法に答えると、シリアルポートを取得するには2つの主要なシナリオがあります。シリアルのみを使用してFreeBSDをインストールする場合は、ブートローダのシリアルガイドラインが必要です。すでにコンソールがあり、シリアルアクセスのみが必要な場合は、インストール後のシリアルガイドラインに従ってください。
ブートローダーシリアル
2
ローダープロンプトに進むには、FreeBSDブートオプション画面でキーを押します。- タイプ
set console=comconsole
- この時点で相互作用が失われた場合は、仮想 tty 転送速度が 9600 であることを確認してください。
- タイプ
autoboot
これにより、シリアルインターフェイスを介して残りのインストールを完了できます。 FreeBSDをインストールした後でシリアルアクセスを続けるには、インストールが完了した後に再起動する前にコマンドプロンプトを入力する必要があります。
設置後のシリアル番号
コンソールから:
- タイプ
echo 'console="comconsole"' >> /boot/loader.conf
/etc/ttys
viにロード- ttyu0(他のバージョンのFreeBSDではttyd0かもしれません)で始まる行を修正してください。
- その行から次のよう
dialup
に変更します。vt100
off
on
- その行から次のよう
- 再起動後、シリアル端末に起動プロセスが表示され、ログインプロンプトで終了する必要があります。
- 注:起動情報がシリアルインターフェイスにのみ表示されるように設定
console="comconsole"
できます。シリアル経由でログを開始したくない場合は、変更してください。/boot/loader.conf
/etc/ttys
- 注:起動情報がシリアルインターフェイスにのみ表示されるように設定
引用する
http://www.freebsd.org/doc/handbook/serialconsole-setup.html
答え3
もちろん、エミュレータでシリアルポートをエミュレートし、ホストシステムからアクセスできる必要があります。ゲストOSは、getty_psを介したログインプロンプトなどの「ハードウェアシリアルポート」に何かを配置する必要があります。今は個人的にこのように使用する必要はありません。ほとんどの場合、ゲストOSでエミュレートされたシリアルポートはデバッグ情報に使用され(Haikuはまだデフォルトでこれを使用します)、エミュレータ(VMwareなど)から単純なテキストファイルとしてキャプチャして利用可能なデバッグ情報を提供します。ここでは、qemu内のエミュレートされたシリアルコンソールで何かを実行しましょう。
答え4
OPの答えはうまくいきますが、私の環境(Linuxホスト、Linuxクライアント)を使用しようとすると
serial=tty0
不要- vt100の代わりにxtermを使用すると、うまく機能します
/etc/inittab
(色が表示されます)。