カーネル(OSの中心部分)の再構築してみた。

目的は
あまりに古いPC(Celeron 500 Mhz,メモリ398 MB)を
カーネルの軽量化、高速化、最適化、
PCカードを使用する際に弊害となる4k stackの制限を外すため。





FreeBSDで昔、サウンドカードを認識させるために
カーネル再構築をした事があったので、
苦もなくできた。

ただ、カーネル2.4系と2.6系で
実行コマンドが変わっているし、
参考にしたページは工夫してコンパイルに必要な時間を
減らすことをしていたが、
しなくてもいい事なのでいらない手順を省いた。
(メンタルの病のせいでややこしい事が分からないんです^^;)

結局、READMEとmake helpコマンドの結果を読んで解決したけど^^;
参考サイト:
mlandさんのカーネル再構築方法


カーネルソースのダウンロード



カーネルソース2.6.21-1.3194

カーネルソースのインストール


rpmからソースコードを抽出。

# rpm -ivh kernel-2.6.19-1.2911.fc6.src.rpm
# cd /usr/src/redhat/SPECS
# rpmbuild -bp --target i686 kernel-2.6.spec

(i686 の箇所は CPU の種類に合わせて設定してください)


カーネル再構築



# cd ../BUILD
# cd kernel-2.6.19/linux-2.6.19.i686


以前のコンパイルの削除


最初に以前のコンパイル結果をクリーン。

# make clean

もちろん、初めてカーネルをコンパイルする場合は、
必要ないはずだけど念のため。

設定の反映


Fedoraの標準の設定が.configに保存されているので、

# make oldconfig

として設定を取り込む。

メニューでカーネルの部品を選択



# make menuconfig

を実行して、
メニューが現れたら、
必要なデバイス、モジュールを選ぶ。

特に、設定したパラメータは
CPUのタイプをCeleronに、
マルチプロセッサの項目を外し、
4k stackの制限を外した。
他にも設定したかも。

カーネルのインストール


そして、コンパイル、インストール。

# make all modules_install install


あーFreeBSDより簡単。
だって、項目選ぶだけだもん。
FreeBSDだとテキストファイルをチクチク
いじらないといけないし。

もちろん、
初めてカーネル再構築する方は
かなり難易度が高いはず。



CPUの設定をマルチプロセッサ対応から、
シングルプロセッサ、Celeron用に最適化したので
だいぶ高速になった気がする。

気のせいかな?