印刷用表示へ切り替え 通常表示へ切り替え 更新履歴を表示 更新履歴を隠す
Linux カーネルの再構築でスピードステップに対応

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)
Trackbacks

  • 「手違いで複数トラックバックを送ってしまった!」という場合でも気にしないでください (重複分はこちらで勝手に削除させていただきます)
  • タイムアウトエラーは,こちらのサーバの処理能力不足が原因です (詳細は トラックバック送信時のエラー をご覧ください)
  • トラックバックする記事には,この記事へのリンクを含めてください(詳細は 迷惑トラックバック対策 をご覧ください)
Comments

おめでおとうです(^O^)/

Posted by: tetsu at September 24, 2005 23:38

嬉しいです(泣)!

Posted by: n at September 25, 2005 01:20

Movable Typeの再構築が遅い事から始まりお疲れ様でした。

Posted by: ち印 at September 25, 2005 12:14

お付き合いいただき,ありがとうございました。

Posted by: n at September 25, 2005 22:03
Post a comment
  • 電子メールアドレスは必須ですが,表示されません (気になる場合は「メールアドレスのような」文字列でもOKです)
  • URL を入力した場合はリンクが張られます
  • コメント欄内ではタグは使えません
  • コメント欄内に URL を記入した場合は自動的にリンクに変換されます
  • コメント欄内の改行はそのまま改行となります
  • 「Confirmation Code」に表示されている数字を入力してください (迷惑コメント対策です)


(必須, 表示されます)


(必須, 表示されません)


(任意, リンクされます)


Confirmation Code (必須)


Remember info (R)?