簡潔なバージョン
SSHを使用してリモートシステムでQemuを実行したいです。このコマンドを使用すると、いくつかの起動メッセージが表示されますが、ローカル端末からvmログインプロンプトを取得できません。
qemu-system-i386 -m 128
-kernel bzImage -drive file=rootfs.ext2,if=virtio
-append "console=ttyS0"
-net nic,model=virtio
-net user
-nographic
私も試しましたが-curses
成功しませんでした
長いバージョン
TinyCoreを含むRaspberry Piがあり、qemuでBuildRootディストリビューションをSSHを使用して実行したいと思います。
SSHなしでqemuをローカルで実行するとき
- を使用すると、
-nographic
開始メッセージが一部表示されますが、何も表示されません。 -curses
を使用するとVGA Graphic Mode
、開始メッセージが表示され、1024 x 768 Graphic Mode
これ以上対話できなくなります。
SSHを使用してリモートでqemuを実行すると、開始メッセージのみが表示され、他の内容は表示されません。
VNCを使いたくないのですが、どうすればいいですか?
編集する:
リモートホスト(piCore)には次のものがあります。/etc/inittab
tty1::respawn:/sbin/getty -nl /sbin/autologin 38400 tty1
リモートゲストコンピュータには次のものがあります。/etc/inittab
tty1::respawn:/sbin/getty -L tty1 0 vt100
答え1
-nographic
仮想グラフィックカードはVMに追加されず、シリアルコントローラは引き続き追加されqemu
ますが、シリアルポートはqemuのstdin / stdout(使用していない場合はSDLウィンドウの代わりに-nographics
)に接続されます。
これは、仮想マシンから起動したLinuxカーネルにコンソール出力をシリアルポートに送信するように指示します。これは問題ありませんが、そこにログインプロンプトも表示するには、そこでgetty
何かをする必要があります。
inittab
したがって、ユーザー(または仮想マシンで使用されている初期化システムに応じて他の関連する構成ファイル)に次の行を追加する必要があります。
ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100
仮想マシンにはグラフィックカードがないため、tty1
仮想VGA端末でのみ使用されている行も削除できます。
答え2
私はSSHでX11トンネリングを使用したいと思います。
「ssh -X -Y user@remot_host」を実行してみてください。
次に、DISPLAY変数が定義されていることを確認してください: "echo $ DISPLAY"
それでも機能しない場合は、サービスホストの "/etc/ssh/sshd_config"でsshdデーモン設定を確認する必要があります。 X11転送を許可するように編集し、sshdデーモンを再起動します。
X がトンネルを確立したことを確認するには、「xclock」を実行します。
その後、QEMUはSSHクライアントに対応するウィンドウを表示する必要があります。