【FC3】カーネルのリビルド
Category : サーバ管理日記
Published by M-naka on 2004/11/19
いつものことですが……。
 新生Omoikane(実家用HDDレコーダ)も例によってMPPE(Microsoft Point-to-Point Encryption)対応のPPTP-VPNサーバ機能を持たせる。

 カーネル2.6系だとIPSec-VPNにはデフォルトで対応だから、よく考えるとPPTP-VPNのためにカーネルパッチを当てる、ってのは不思議な気がするよ。まぁしゃーないけど。どう考えてもIPSecの方がニーズありそうだしな。最近はPPTPサーバ機能搭載のブロードバンドルータもあるし。

 そんなわけでカーネルの再構築を行った。

 いつもどおりここからMPPE対応パッチをダウンロード。ってカーネル2.6系は1個しかパッチないし。つーかAmatsuに当てたパッチと同じだし(=更新されてない)。真面目にニーズがないのかも。

 で、/usr/srcディレクトリに移動し、カーネルソースツリーを開けてみようとしたのだが……、ソースがない。あれ?

 んー、確かに、Fedora Core 3のインストール時にカーネルソースのインストール選択項目はなかった(2にはあった)。インストーラからではインストールされんのか。FTPサイトからカーネルソースのRPMパッケージ(kernel-source)を落とそうと探したがRPMパッケージもない。あれれ?

Fedora Core 3のインストールノートを読んでみると、

> Fedora Core 3 no longer includes the kernel-source package. Users that require access to the kernel sources can find them in the kernel .src.rpm file.

 あー。

 というわけでカーネルソースのsrc.rpmパッケージ(RPMソースね)を探してきてインストール。すると、/usr/src/redhat/BUILD/以下にカーネルソースツリーが作成される。いちいちここまで移動するのは面倒なので、

#cd /usr/src
#ln -s redhat/BUILD linux

で、/usr/src/linuxからカーネルソースツリーが見えるようにする。

 これでやっとカーネルの再構築ができる。/usr/src/linuxに移動し、

#make mrproper
#make oldconfig
#zcat /usr/src/<カーネルパッチ> | patch -p1
#make menuconfig < PPP周りとMPPEをモジュール化指定
#make
#make install
#make modules
#make modules_install

で完了。後、/boot/grub/menu.lstでデフォルト起動をカスタムカーネルに指定。

 ちなみに/lib/modules/2.6.9-1.667以下にインストール時に使われたと思われる.configファイルがあったので、最初にこれを元にカーネルの再構築をしてみたが、どうもバグ持ちらしく、パワーマネジメント関連ファイルのビルド時にエラーを起こしてカーネルのリビルド自体が停止してしまった。そのためのmake mrproperとmake oldconfig。もっとも、要らないドライバは切ったし、必要なドライバは入れるように設定しなおしたけど。

 年末年始の帰省時にOmoikaneを実家に輸送し、稼動を開始させる予定。暫くはOmoikaneのHDDレコーダ化で遊べそうだ。