« ITmediaと@ITが合併 | メイン | ゲーム開発者残酷物語 »

Kernel再構築のメモ

このマシンに入れたRedHat LinuxのKernelの再構築をしてみている(現在make module中)
久しぶりのカーネル再構築なので(ライブで)メモしておく。

1. kernel-sourceパッケージのインストール。

# rpm -Uvh kernel-source-2.4.20-28.7.rpm


2. kernelの入手と解凍など

# cd /usr/src
# wget http://www.jp.kernel.org/pub/linux/kernel/v2.4/linux-2.4.28.tar.gz
# tar zxf linux-2.4.28.tar.gz
# rm linux-2.4
# ln -s linux-2.4.28 linux-2.4
# cd linux-2.4


3. configのコピー

# cp ../linux-2.4.20-28.7/configs/kernel-2.4.20-i686-smp.config ./.config
# make oldconfig


4. makeなどなど

# make dep
# make clean
# make
# make modules
# make install
# make modules_install

grub.confなども書き変わると思われ。
と、書いていたら、make modulesで失敗

エラーは

dn_neigh.c:584: `THIS_MODULE' undeclared here (not in a function)
dn_neigh.c:584: initializer element is not constant
dn_neigh.c:584: (near initialization for `dn_neigh_seq_fops.owner')
make[2]: *** [dn_neigh.o] エラー 1
make[2]: 出ます ディレクトリ `/usr/src/linux-2.4.28/net/decnet'
make[1]: *** [_modsubdir_decnet] エラー 2
make[1]: 出ます ディレクトリ `/usr/src/linux-2.4.28/net'
make: *** [_mod_net] エラー 2


これ。どうやら、これが解決策。
dn_neigh.c

#include <linux/module.h>

を加えてうまくいきました。