web-dev-qa-db-ja.com

コマンドラインでのQEMU-KVMLinux仮想化

最近、qemu-kvmに非常に有望な-cursesオプションがあり、Xウィンドウを開始する代わりに、コマンドラインからLinuxゲストを管理するのに適したゲストからのNice ncurses出力を表示することを発見しました(または、より満足のいくように、スクリーンセッション内で、あるいはssh上でさえ)。

そこで私はこれを試してみたところ、ArchLinuxゲストが「グラフィックモード」になってこの機能が役に立たなくなっていることがわかりました。私が確認できたことから、問題は、ゲストカーネルがフレームバッファーを初期化して、80x60文字の解像度(およびきれいなグラフィックス)よりも高くできるようにすることです。そこで、ゲストカーネルがフレームバッファを起動しないようにする方法を探しました。さまざまなカーネルパラメータ、nomodesetfb=falsevga=0x0FFvga=askを試しました(その後、VGAモードではなくVESAを選択しました)が役に立ちませんでした:毎回qemu-kvm -cursesがゲストで「グラフィックモード」になっていることを報告し(最初のブートメニューの後)、ホストのコマンドライン端末からゲストと対話できません。

カーネルビルドパラメーターを変更せずに、ゲストカーネルを開始時と同じモード(フレームバッファーなし)に保つ簡単な方法はありますか?そうでない場合、フレームバッファーをサポートせずにカーネルをコンパイルするには、どのカーネルビルドオプションを変更する必要がありますか? sshdを実行せずに、ホスト上の端末から純粋なテキストモード(たとえば、ホスト上のスクリーンセッションで実行するのに適しています)でVMログインを取得するためのより良い方法はありますか?ゲスト?

7
malloc47

したがって、無効にする必要のある基になるモジュールはfbconですが、Archのカーネルはそれをモジュールとしてコンパイルしないため、ブラックリストに登録します。 fbconが起動する特定のドライバーを識別して無効にすることは可能かもしれませんが、そのようなドライバーはlsmodによってリストされていないため、qemu-kvmのドライバーはArchにコンパイルされます。 fbcon自体を無効にするには、独自の奇妙なブートオプション構文を使用する必要があります。

fbcon=map:99

どこ 99は、システム上のフレームバッファデバイスの数(通常は1〜2)よりも大きい任意の数です。

詳細については、 fbcon.txt を参照してください。

5
malloc47

vga16fb.modeset=0過去に私のために働いた(Ubuntuで)。また、Ubuntuでは、すべてのフレームバッファーモジュール(vga16fbを含む)をブラックリストに登録することもできました。

1
sendmoreinfo

次のように実行してみてください。

TERM=dumb qemu-kvm -curses ...
0
Teddy