makeoptions DEBUG="-g"
options DEBUG
options KGDB
options "KGDBRATE=38400"# remote debugging baud rate
options "KGDBDEV=0x800001"
bootを途中で止めたい時は、
options "KGDBINIT=1"
もコメントアウトしましょう。debugからアクセスされるまで、serialを認識したと ころでbootがとまります。device driverを認識させる時は必須でしょう。
あとはふつうにカーネルをコンパイルします。 config , make depend, makeですね。 コンパイルが完了すると、bsdとbsd.gdbというファイルができます。 bsdをAのルート / にコピーして下さい。
% gdb -k bsd.gdb
としてgdbを上げます。emacs上で上げてももちろんOK。
AとBがシリアルでつながってることを確認して、gdbのプロンプト上で、
(gdb) set sl-baudrate 38400
(gdb) target remote /dev/tty00
とすれば、kernelのdebugの始まりです。
あとは普通のgdbと同様にして使えます。breakしてprintしてcontinueして…。
がんばって虫をとろう。