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
簡単ですね。
続きは明日。