x86ボードでのLinuxデバッグ環境解説
Linuxをシステムに組み込んだ時に思わぬ問題に遭遇することはよくあります。
オープンソースなのでコミュニティの助けがありますが、基本的には自力でデバッグし、問題を解決しなければなりません。
25年以上に渡る現場での経験をもとに、問題解決という観点から今回のテーマでけでなく、今後もいろいろなテーマについて現実的で具体的な解決手法を紹介できればと思います。
組込みLinuxというとarmやmipsなどのCPUが連想されますが、産業用機器ではx86CPUボードを組込みに利用するケースもまだまだあると思います。
最初の解説記事として「x86ボードでのLinuxデバッグ環境解説」というテーマで、全4回に分けて解説していきたいと思います。
実際の開発中に我々が遭遇した問題である「ddのbs=4k動作」を例としてLinuxカーネルのデバッグ環境について解説します。
【第1回】ddのbs=4k動作のデバッグ
カーネルのリビルドを行わずdebianのデフォルトカーネルで使える機能でデバッグする方法について解説します。
【第2回】kgdbによるデバッグ
カーネルにkgdbを組み込んでgdbでソースコードデバッグについて解説します。
【第3回】minimal rootfs
最小限のrootfsを作成して、最低限のプロセスのみでカーネルのデバッグについて解説します。
【第4回】ブートローダー
デバッグに利用できるGRUBとUEFIの機能について解説します。