だいこんの日々2

軸足をtwitterとfacebookに移しつつも、技術的な話はここに書いていきます。

Linux カーネル再構築 1

Linux 2.2 系安定版カーネルの最新版 2.2.23 が11月30日に出た。

自宅の公開サーバのカーネルが、2.2.21 で止まっているのだが、これには理由がある。
2.2.22 からコンパイルが通らなくなってしまったのだ。
仕事で忙しく、理由を追及する暇もなく、そのままになっていた。
セキュリティを生業としていた人間とは思えない状態(^▽^;
で、連休が暇だったので理由を追及してみることにした。

カーネルの config は以前のバージョンから引き継いで使っているのだが、2.2.21 で使用していた config を使用すると 2.2.22〜2.2.23 ではコンパイルが通らない。
もうちょっと細かく言うと「EXPORT_SYMTAB_not_defined」と出て、途中でコンパイルエラーになってしまう。
config の差を確認しながら何度もカーネルの構築をしていくと Character devices -> I2C support の設定によってコンパイルエラーが出るらしいところまではわかった。

ちなみに、Debian GNU/Linux でのカーネルのコンパイル&パッケージの作成方法は以下の通り。

# make menuconfig

# make-kpkg clean

# make-kpkg buildpackage

簡単ですね。

続きは明日。