最近、qemu-kvm
に非常に有望な-curses
オプションがあり、Xウィンドウを開始する代わりに、コマンドラインからLinuxゲストを管理するのに適したゲストからのNice ncurses出力を表示することを発見しました(または、より満足のいくように、スクリーンセッション内で、あるいはssh上でさえ)。
そこで私はこれを試してみたところ、ArchLinuxゲストが「グラフィックモード」になってこの機能が役に立たなくなっていることがわかりました。私が確認できたことから、問題は、ゲストカーネルがフレームバッファーを初期化して、80x60文字の解像度(およびきれいなグラフィックス)よりも高くできるようにすることです。そこで、ゲストカーネルがフレームバッファを起動しないようにする方法を探しました。さまざまなカーネルパラメータ、nomodeset
、fb=false
、vga=0x0FF
、vga=ask
を試しました(その後、VGA
モードではなくVESA
を選択しました)が役に立ちませんでした:毎回qemu-kvm -curses
がゲストで「グラフィックモード」になっていることを報告し(最初のブートメニューの後)、ホストのコマンドライン端末からゲストと対話できません。
カーネルビルドパラメーターを変更せずに、ゲストカーネルを開始時と同じモード(フレームバッファーなし)に保つ簡単な方法はありますか?そうでない場合、フレームバッファーをサポートせずにカーネルをコンパイルするには、どのカーネルビルドオプションを変更する必要がありますか? sshdを実行せずに、ホスト上の端末から純粋なテキストモード(たとえば、ホスト上のスクリーンセッションで実行するのに適しています)でVMログインを取得するためのより良い方法はありますか?ゲスト?
したがって、無効にする必要のある基になるモジュールはfbcon
ですが、Archのカーネルはそれをモジュールとしてコンパイルしないため、ブラックリストに登録します。 fbcon
が起動する特定のドライバーを識別して無効にすることは可能かもしれませんが、そのようなドライバーはlsmod
によってリストされていないため、qemu-kvm
のドライバーはArchにコンパイルされます。 fbcon
自体を無効にするには、独自の奇妙なブートオプション構文を使用する必要があります。
fbcon=map:99
どこ 99
は、システム上のフレームバッファデバイスの数(通常は1〜2)よりも大きい任意の数です。
詳細については、 fbcon.txt を参照してください。
vga16fb.modeset=0
過去に私のために働いた(Ubuntuで)。また、Ubuntuでは、すべてのフレームバッファーモジュール(vga16fbを含む)をブラックリストに登録することもできました。
次のように実行してみてください。
TERM=dumb qemu-kvm -curses ...