WebOS Goodies

WebOS の未来を模索する、ゲームプログラマあがりの Web 開発者のブログ。

WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。
Subscribe       

VMware で Linux を動かした際の時刻のずれを解消する

今日は、VMware の時刻遅れ対策を考えてみました。その成果を確かめていたんで、投稿が夜になってしまいましたよ(笑)。

少し前に気づいていたのですが、VMware 上で Linux を動かしていると、どんどん時刻が遅れていきます。ひどい時は、1日で半日分以上遅れます。これは尋常ではありません。NTP で時刻同期とか、それ以前の問題です。

これでは使い物にならないのでなんとかならないかと思っていたところ、カーネルコンパイルなどで負荷をかけ続けておくと時刻のずれが少ないことに気づきました。

もしやということで、APM を OFF にしてカーネルを再コンパイルしてみることにしました。インストール後、初のカーネルコンパイルなので、その手順を書いておこうと思います。

※より有効な解決方法が見つかりましたので、こちらの記事でご紹介しています。

カーネルコンフィギュレーションの変更

カーネルソースのディレクトリに移動し、menuconfig を実行します。

cd /usr/src/linux
make menuconfig

変更するのは以下のオプションです。とりあえずすべての PowerManagement 機能を無効にしておきます。

Power management options (ACPI, APM) --->
        ACPI (Advanced Configuration and Power Interface) Support --->
            [ ] ACPI Support
        APM (Advanced Power Management) BIOS Support --->
            < > APM (Advanced Power Management) BIOS Support
        CPU Frequency scaling --->
            [ ] CPU Frequency scaling

上記の設定をしたら、menuconfig を抜けてカーネルコンフィギュレーションを保存します。

カーネルのコンパイル

カーネルをコンパイルします。最初に "make clean" を実行して古い中間ファイルを削除するのが無難です。

make ckean
make && make modules_install

古いカーネルをバックアップした後に、新しいカーネルをコピーします。

mount /boot
cp /boot/kernel-2.6.14-gentoo-r5 /boot/kernel-old
cp /boot/config-2.6.14-gentoo-r5 /boot/config-old
cp arch/i386/boot/bzImage /boot/kernel-2.6.14-gentoo-r5
cp .config /boot/config-2.6.14-gentoo-r5

バックアップしたカーネルを起動できるように、"/boot/grub/grub.conf" に設定を追加します。以下の記述を最後に追加すれば OK です。

title Gentoo Linux (backup)
root (hd0,0)
kernel /boot/kernel-old root=/dev/sda3

そして、再起動。

shutdown -r now

うまく起動すれば OK です。もし起動しなかった場合は、バックアップしておいた古いカーネルで起動しましょう。モジュールをバックアップしていないので保障はありませんが、たぶん起動できるでしょう(^^;。VMware ならUSB 機器を除いてハードウェアが変わることはないので、必要な機能はなるべくカーネルに含めてしまったほうがよいと思います。

成果

試しに、この状態で時計合わせして会社に行き、帰ってきたとき(14時間後くらいでしょうか)の時刻は 8 分前後進んでいました。この程度なら NTP などで修正できる範囲かな・・・(´ー`;。だいぶ改善されたのは間違いありません。

時刻がずれる原因ははっきりとは分かりませんが、Linux はハードウェアクロックとは別に時刻管理をしており、そのあたりの処理が原因かもしれません。できれば VMware 側でなんとかしてほしいところです。

関連記事

この記事にコメントする

Recommendations
Books
「Closure Library」の入門書です。
詳しくはこちらの記事をどうぞ!
Categories
Recent Articles