カーネル(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からソースコードを抽出。
(i686 の箇所は CPU の種類に合わせて設定してください)
最初に以前のコンパイル結果をクリーン。
もちろん、初めてカーネルをコンパイルする場合は、
必要ないはずだけど念のため。
Fedoraの標準の設定が.configに保存されているので、
として設定を取り込む。
を実行して、
メニューが現れたら、
必要なデバイス、モジュールを選ぶ。
特に、設定したパラメータは
CPUのタイプをCeleronに、
マルチプロセッサの項目を外し、
4k stackの制限を外した。
他にも設定したかも。
そして、コンパイル、インストール。
あーFreeBSDより簡単。
だって、項目選ぶだけだもん。
FreeBSDだとテキストファイルをチクチク
いじらないといけないし。
もちろん、
初めてカーネル再構築する方は
かなり難易度が高いはず。
CPUの設定をマルチプロセッサ対応から、
シングルプロセッサ、Celeron用に最適化したので
だいぶ高速になった気がする。
気のせいかな?
目的は
あまりに古い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用に最適化したので
だいぶ高速になった気がする。
気のせいかな?
コメント