次の設定オプションを備えたLinuxカーネルがあります。
CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE="console=tty0 init=/init"
CONFIG_CMDLINE_OVERRIDE=y
私は次のようにQemuを実行します。
qemu-system-x86_64 -nographic -kernel my-vmlinuz
-nographic
ゲストがttyS0
代わりにtty0
ホストstdin
/に暗黙的に接続されているため、これは(正しく)出力を表示しませんstdout
。ゲストをtty0
ホストstdin
/に接続するようにQemuにどのように指示しますかstdout
?
引用:
答え1
私の考えでは、あなたはできないと思います。仮想端末(tty1
など)は、デフォルトでメモリマップされた文字配列(+属性)をシステムに提供するVGAテキストモードの上に実装されています。その後、カーネルは必要に応じて配列に書き込みます。しかし、ファイルストリームはstdout
本質的に線形であるため、完全に互換性がありません。
ただし、できることは、qemu -curses
次のようにゲストのテキストモードVGA出力を表示することです。または、console=ttyS0
カーネルのコマンドラインを入力して、ゲストにシリアルポートをコンソールとして使用させるようにします。 (grub
シリアルポートを使用するように設定する必要があります。)
答え2
私は以下があなたに役立つと信じています:
CONFIG_CMDLINE="console=tty0 console=ttyS0,9600n8 init=/init"
これはから来ていますtldp用リモートシリアルコンソールHOWTO
また、見ることができますこの問題