カーネル開発は初めてで、QEMU と gdb を使用して Linux カーネルを実行/デバッグする方法を知りたいです。私は実際にRobert Loveの本を読んでいますが、残念ながら、カーネルを実行またはデバッグするための適切なツールをインストールする方法について読者の助けにはなりません. /2011/02/kernel-development-debugging-using-eclipse/ . カーネル上で開発するための IDE として Eclipse を使用していますが、最初に QEMU/gdb で動作するようにしたいと考えていました。だから私がこれまでにしたことは次のとおりです。
1) カーネルをコンパイルするには:
make defconfig (then setting the CONFIG_DEBUG_INFO=y in the .config)
make -j4
2) コンパイルが終了したら、次を使用して Qemu を実行します。
qemu-system-x86_64 -s -S /dev/zero -kernel /arch/x86/boot/bzImage
「停止」状態でカーネルを起動する
3) したがって、gdb を使用する必要があるため、次のコマンドを試します。
gdb ./vmlinux
これは正しく実行されますが...どうしたらよいかわかりません...ポート1234(Qemuが使用するデフォルトポート)でリモートデバッグを使用する必要があることはわかっています.vmlinuxをシンボルテーブルファイルとして使用しますデバッグ。
私の質問は次のとおりです。Qemu でカーネルを実行し、デバッガーをそれに接続して、それらを連携させて、カーネル開発で私の人生を楽にするためにはどうすればよいでしょうか。