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>
を加えてうまくいきました。