« 起動時のサービス設定 | メイン | debian etch(testing)をインストールしてすぐに消去したときのメモ。 »

kernel recompilation。

ディストリビューターから配布されている、カーネルパッケージを用いてカーネルを再構築する手順。
ソースパッケージ名は、バージョンが低ければ、kernel-image、高ければlinux-image。
以下では、linux-image-2.6.15について。

0.必要なパッケージの用意(無駄なものも含まれている可能性アリ)。
sudo apt-get install build-essential bin86 kernel-package
sudo apt-get install libqt3-headers libqt3-mt-dev make
sudo apt-get install gawk

1.カーネルソースをapt-get。
sudo apt-get install linux-source-2.6.15
/usr/src/に、linux-source-2.6.15.tar.bz2が保存される。

2.移動して解凍。
cd /usr/src/
sudo tar -xvjf linux-source-2.6.15.tar.bz2

3.シンボリックリンクを張る。
sudo ln -s /usr/src/linux-source-2.6.15 /usr/src/linux

4.もしPC-MM2-5NEユーザーならば、radeonドライバを使用するためにefficeonパッチを当てる(2.6.15〜16用)
/usr/src/linuxにて。
sudo patch -p1 < efficeon-patch.txt

5.現行kernelの、configをパクってくる。
sudo cp /boot/config-2.6.15-26-386 .config

6.configを、構築するkernelに合わせる。
sudo make oldconfig

7.GUIでconfigを設定
sudo make xconfig

特に、CPUの種類の選択に注意。
In "Processor type and features":
-Processor family Choose the model of your processor.

この項目もチェック
-High Memory Support
--off -if you have less than 1 GB of RAM

<2.6.15あたりのverに限り>
In Device Drivers
- USB support - USB Network Adapters
uncheck "USB ZD1211 based wireless device support"
(*このチェックを外さないと、エラーがでて、途中で止まる)

5.コンパイル
sudo make-kpkg clean
sudo make-kpkg -initrd --revision=custom01 kernel_image
/usr/src/に、debパッケージができあがる。

6.パッケージのインストール
sudo dpkg -i kernel-image-2.6.15.7-ubuntu1_custom01_i386.deb

これで、kernelのインストールまでは終了する。
ただし、このままでは、Usplash(grubの後に、読み込んだモジュール等を表示するアレ)が表示されないので、以下のように細工。
/etc/mkinitramfs/modulesに、以下の4行を書き込む。
capability
vesafb
fbcon
unix
その後、以下のようにタイプ。
sudo dpkg-reconfigure <自分が構築したkernelパッケージの名前>


なお、prism54ドライバを使用する無線LANは、再構築したkernelだと何故だか認識されない。
http://prism54.org/から、1.0.4.3.armをダウンロード。isl3890にリネームし、/lib/firmwareに置いて再起動すると解決。