lm_sensorsで温度チェック

以前のサーバでやっていたようにマザーボードやCPUの温度やファンの回転数を取りたいと思います。Vine Linux4.2ではlm_sensorsを使って各数値を取得していました。今回も同じようにしたいなと。

こちらを参考にさせていただきました。CentOS5.3を利用しているところも一緒で大変参考になりました。

↑のページにあるように、yumで入れたlm_sensorsでは値が取得できませんでした。

マザーボードGA-GC330UDの「iTE IT8718」に対応したカーネルが2.6.19とのことで、確認すると、

# uname -r
2.6.18-164.el5

ということで現在のカーネルでは無理ということ。カーネルをコンパイルして2.6.19にすることも可能とは思うけど、それだけのために手動でカーネルコンパイルするのはどうも気が引ける。
ということで、上記サイトで紹介されていたように、カーネル2.6.18で動作する「iTE IT8718」のドライバをインストールしてみました。

実行したコマンドは

yum install rpm-build
yum install kernel-devel
wget http://it87-kmod-el5.googlecode.com/files/it87-kmod-2.10.1-1.el5.src.rpm
rpm -ivh it87-kmod-2.10.1-1.el5.src.rpm
cd /usr/src/redhat/SPECS/
yum install kernel-xen-devel
yum install kernel-PAE-devel
rpmbuild -bb –target=i686 it87-kmod.spec
cd ../RPMS/
rpm -ivh kmod-it87-2.10.1-1.2.6.18_164.el5.i686.rpm
# ls -lrt /lib/modules/2.6.18-164.el5/extra/it87/
-rw-r–r– 1 root root 162105 10月 15 13:16 it87.ko

一連のコマンドで詰まったところが、rpmbuildで–target=i686を指定するところ。これをつけないと、確かkernel-devel.i386 が見つからないというエラーになったと思う。このあたりは、こちらを参考にさせていただきました。

以上を行った後に、sensorsコマンドを実行すると無事?数値が表示されました。

# sensors
it8718-isa-0290
Adapter: ISA adapter
in0: +1.14 V (min = +0.00 V, max = +4.08 V)
in1: +1.86 V (min = +0.00 V, max = +4.08 V)
in2: +3.39 V (min = +0.00 V, max = +4.08 V)
in3: +4.08 V (min = +0.00 V, max = +4.08 V) ALARM
in4: +2.99 V (min = +0.00 V, max = +4.08 V)
in5: +0.06 V (min = +0.00 V, max = +4.08 V)
in6: +0.02 V (min = +0.00 V, max = +4.08 V)
in7: +4.08 V (min = +0.00 V, max = +4.08 V) ALARM
in8: +3.14 V
fan1: 3461 RPM (min = 0 RPM)
fan2: 1030 RPM (min = 0 RPM)
fan3: 0 RPM (min = 0 RPM)
temp1: -55°C (low = +127°C, high = +127°C) sensor = thermistor
temp2: -2°C (low = +127°C, high = +127°C) sensor = thermistor
temp3: +33°C (low = +127°C, high = +127°C) sensor = diode