Kernelコンパイル2戦目

色々調べた結果、Kernel2.4.23以降ならばドライバ標準で対応しているらしい
サイトまわってKernelアップデートの方法を探る…
以下 メモ書き
とりあえずこのあたりからKernelソースをげっつしてくる
新しい方がいいような気がするので、2.4.25をげっつ

$ su –
password:
# cd /usr/src
# wget ftp://ftp.kernel.org/pub/linux/kernel/v2.4/linux-2.4.25.tar.gz

けっこう大きい…
とりあえず解凍してディレクトリ移動

# tar zxvf ./linux-2.4.25.tar.gz
# cd linux-2.4.25

Linuxインストール時にKernelソースもインストールしていたので 古い.configファイルをコピーしてくる

# cp /usr/src/linux-2.4.18-14/configs/kernel-2.4.18-i686.config .config

既存のKernel設定で新しい.configファイルを作成

# make oldconfig

よく分かんないけどシンボルクリックリンクを変更しないとダメらしい

# rm -f /usr/src/linux
# ln -s /usr/src/linux-2.4.21 /usr/src/linux

カーネル最適化を行う

# make menuconfig

…らしいけどよく解らないのでドライバが組み込まれているかどうかだけ確認した
依存関係確認

# make dep

ゴミを削除

# make clean

カーネルイメージを作成

# make bzImage

カーネルモジュールをコンパイルする

# make modules

モジュールインストール

# make modules_install

/lib/modules/<カーネルのバージョン番号> にインストールされるぽい
んで インストール!

# make install

うちではブートローダにGRUBというやつを使っている(らしい)ので /etc/grub.confにちゃんと設定されているかどうか確認
んで 再起動

# sync
# shutdown -r now

何の問題もなく 再起動完了…うまく行ってよかった~(嬉
とりあえずDMAが使えるかどうか確認

$ su –
Password:
# /sbin/hdpram -d1 /dev/hda
/dev/hda:
setting using_dma to 1 (on)
using_dma = 1 (on)

おお 使えるぽい
32bit転送やらマルチバイト転送をつけると早くなるらしいのでついでにやってみる

# /sbin/hdpram -d1 -m1 -c1 /dev/hda
/dev/hda:
setting 32-bit IO_support flag to 1
setting multcount to 1
setting using_dma to 1 (on)
multcount = 1 (on)
IO_support = 1 (32-bit)
using_dma = 1 (on)

む いけた
速度測定をしてみる

# /sbin/hdparm -t /dev/hda
/dev/hda:
Timing buffered disk reads: 64 MB in 1.59 seconds = 40.25 MB/sec

おー 40MB/s!
ONにする前は4MB/sだったから10倍ですか 恐ろしい…
Linux起動時に設定されるように書いておく

# vi /etc/rc.d/rc.local
/sbin/hdpram -d1 -m1 -c1 /dev/hda

これでおわりっと