Vine Linux 3.2 では cpufreq が更新され,speedstep-smi モジュールの組み込みが可能となった。カーネルを再構築することで ThinkPad T22 のスピードステップが利用できるようになる。
■ ■ ■
このサイトのサーバは ThinkPad T22 で,チップセットは 440BX + PIIx4M となっている (ThinkPad T22(2647-9EJ) - 製品仕様)。このチップセットの場合,CPU をスピードステップで動作させるには speedstep-smi モジュールの組み込みが必要である(SpeedStep and cpufreq.)。Vine Linux 3.1 では,このモジュールの組み込みができなかったが,Vine Linux 3.2 では可能となった。ただし,カーネルの再構築が必要になる。
以下は実際にカーネルを再構築してスピードステップの動作を確認したメモである。基本的なやり方は Vine Linux 3.1 の場合と同じである (nlog(n): Vine 3.1 でカーネルの再構築)。
まず,近くのミラーサイトからカーネルのソース kernel-2.4.31-0vl1.8.src.rpm をダウンロードする。
次に mkkpkg コマンドでカーネルの再構築を行う。CPU の指定は特にせず,i386 用にコンパイルしてよい。カーネルの名前は kernel-2.4.31-0vl1.8.1 とした (最後に .1 をつけただけ)。
# mkkpkg kernel-2.4.31-0vl1.8.src.rpm
...
Input your kernel Revision [SRPM = 0vl1.8]: 0vl1.8.1
Do you want to edit kernel-2.4.31-0vl1.8.spec? [y/n] n
Do you want to build SRPM? (If no, only RPMs are built) [y/n] y
Processor type and features ---> (選択)
CPU Frequency scaling ---> (選択)
[*] CPU Frequency scaling (スペースキーで * をつける)
[*] CPU frequency table helpers (NEW) (スペースキーで * をつける)
--- CPUFreq processor drivers
<M> Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface) (「M」キーで M をつける)
上のように menuconfig で Intel SpeedStep on 440BX chipset のモジュール設定が終わったら保存して終了し,次に進む。
Ready for Action?
[Push enter to continue] (Enter キーを押す)
Started: Fri Sep 23 19:54:24 2005
Building...
Finished: Fri Sep 23 20:02:48 2005
[Push enter] (Enter キーを押す)
Created:
/root/rpm/RPMS/i386/kernel-2.4.31-0vl1.8.1.i386.rpm
/root/rpm/RPMS/i386/kernel-doc-2.4.31-0vl1.8.1.i386.rpm
/root/rpm/RPMS/i386/kernel-headers-2.4.31-0vl1.8.1.i386.rpm
/root/rpm/RPMS/i386/kernel-source-2.4.31-0vl1.8.1.i386.rpm
/root/rpm/SRPMS/kernel-2.4.31-0vl1.8.1.src.rpm
How do you want kernel-mkkpkg.log in /tmp?
m)move to /root r)remove *)leave in /tmp :
Do you want to clean up BUILD tree and files in SOURCES? [y/n] y
1時間程度でビルドが終了した。
mkinitrd でイメージを作成し(nlog(n): Vine Linux 3.1 のカーネルのアップグレード),lilo を設定して再起動を行う。OS が起動したらモジュールを組み込む。
# modprobe speedstep-smi
動作確認のために,dmsg を覗く。
# dmesg | tail
speedstep-smi: signature:0x47534943, command:0x008200b2, event:0x00c000b3, perf_level:0x07d00000.
speedstep-smi: could not detect low and high frequencies by SMI call.
cpufreq: change to 4 MHz succeded
cpufreq: change to 700 MHz succeded
speedstep-smi: workaround worked.
cpufreq: currently at low speed setting - 700 MHz
最後に /proc/cpufreq を見ると,powersave ポリシーで 700 MHz で動作していることが確認できる。
# cat /proc/cpufreq
minimum CPU frequency - maximum CPU frequency - policy
CPU 0 700000 kHz ( 70 %) - 1000000 kHz (100 %) - powersave
長い道のり([1], [2], [3], [4])の末,ようやく念願がかなった。Project Vine ありがとう!
2005年11月8日追記:
OS 起動時にモジュールをロードするように設定を行いました (nlog(n): speedstep-smi を OS 起動時にロードする)。
2006年1月22日追記:
kernel-2.4.31-0vl1.12 では,speedstep-smi.o をモジュールではなく,ビルトインして再構築したので,OS起動時のロードは不要になりました(nlog(n): speedstep-smi をビルトインしてカーネルを再構築)。
2006年2月20日追記:
スピードステップが動作するかはBIOSの設定も関連しているようです(nlog(n): スピードステップの動作はBIOSが関連)。
Posted by n at 2005-09-23 22:04 | Edit | Comments (4) | Trackback(0)
おめでおとうです(^O^)/
Posted by: tetsu at September 24, 2005 23:38嬉しいです(泣)!
Posted by: n at September 25, 2005 01:20Movable Typeの再構築が遅い事から始まりお疲れ様でした。
Posted by: ち印 at September 25, 2005 12:14お付き合いいただき,ありがとうございました。
Posted by: n at September 25, 2005 22:03