Edited at

カーネルデバッグで使うQEMUオプションチートシート

English

QEMUのgdbserver機能でNetBSD kernelをデバッグする で使うQEMUオプションのまとめ

Sec.: sections in qemu-doc(1)

Sec.
Option
Details

2.3.1
-smp 4
仮想CPUコア数4

2.3.1
-m 256
メモリ256MiB

2.3.2
-hda netbsd.qcow2
第1ハードディスク: netbsd.qcow2

2.3.3
-cdrom netbsd.iso
CD-ROM: netbsd.iso

2.3.4
-display curses
VGAでなくcursesディスプレイを使う; QEMUを終了するにはQEMU monitor に接続して q

2.3.4
-display none
VGAディスプレイ非表示

2.3.4
-nographic

-display none + -parallel null(-parallel が指定されていない場合) + -serial mon:stdio(-serial-monitor も指定されていない場合; ドキュメントに書かれていないのでQEMUをデバッグして調べた

2.3.6
-netdev user,id=n1,hostfwd=tcp::10022-:22 -device e1000,netdev=n1
user mode network stack(VirtualBoxで言うNAT Network ); localhost:10022をゲストのポート22に転送する

2.3.6
-nic user,hostfwd=tcp::10022-:22
上と等価、QEMU 2.12以降で使える

2.3.11
-serial telnet::5555,server,nowait
シリアルコンソール (com0) を使う場合に telnet localhost 5555 で接続できる

2.3.11
-monitor telnet::5556,server,nowait

telnet localhost 5556 でQEMU monitorに接続できる

2.3.11
-serial mon:telnet::5555,server,nowait

telnet localhost 5555 でシリアルコンソールとQEMU monitorの両方に接続できる; Ctrl-a h のヘルプ参照

2.3.11
-serial mon:stdio
ターミナルにシリアルコンソールとQEMU monitorを表示する; Ctrl-a h のヘルプ参照

2.3.11
-S
gdbserverへのコネクションがあるまでマシンの実行を止める

2.3.11
-gdb tcp::1234
ポート1234でgdbserverをlistenさせる

2.3.11
-s

-gdb tcp::1234 と等価

2.3.11
-enable-kvm
(Linuxのみ)KVM有効化

2.3.11
-no-reboot

reboot コマンドで再起動せずにQEMUを終了する

2.3.11
-daemonize
QEMUをデーモン化する。ターミナルを終了しても動き続けるので長時間動かす場合に便利。

2.3.11
-rtc base=utc
時刻補正(これがないとtimezoneをAsia/Tokyoにしたときに9時間ずれる)

Linux固有のオプション(-kernel など)も追記予定