宇宙ドーナツ研究会

セキュリティ系お勉強メモ

カーネルデバッグ

デバッガの種類

kgdb

デバッグ準備など

ここが詳しい。
Linux のデバッグ手法をマスターする

簡単に書くと、
- カーネルにkgdbを組み込む
– make oldconfig, make xconfig で kernel hacking の kgdb を指定して、make
- その後、いろいろやる

vmlinux と vmlinuz

  • vmlinux
    カーネルのオブジェクトファイルをリンクして、elf化したもの。
    デバッグ用シンボルとか付いてる。
    このままでは、読み込めない。
    あくまで、vmlinuz 生成のための中間ファイル。

  • vmlinuz
    ブート時に実際に読み込まれるファイル。 vmlinux に、各アーキテクチャが読み込む際に必要な情報を付けて、zlib 形式で圧縮したもの。

ここを参照
http://unix.stackexchange.com/questions/5518/what-is-the-difference-between-the-following-kernel-makefile-terms-vmlinux-vml

静的リンク/動的リンク

  • 静的リンク
    オブジェクトファイルのリンク時に、プログラム呼び出しを解決して、1つのファイルに纏めてしまう方法。

  • 動的リンク
    リンク時には、プログラム呼び出しを解決しない。
    呼び出しのたびに、対象のプログラムをロードする。