linux-2.6.17-glantank公開しました

  • 投稿日:
  • by
  • カテゴリ:

カーネルイメージ(他)、パッチおよび、fandrvを公開しました。
既に、書いてあるように、RTC(RS5C372A)のドライバは、グラタン由来のものから、2.6.17で統合されたものへと変更しました。ただし、そのままでは動作しなかったので、グラタンで動作するように修正してあります。また、(10,135)の/dev/rtcは利用できなくなります。これが問題となる場合には(hwclockコマンドくらいしか困る事例を思いつかない。実際ほとんど問題はないと思われる。なお、起動時のシステムクロックの初期化は、/dev/rtcを経由せずに行なわれるので、/dev/rtcが何であっても問題はない。)、/dev/MAKEDEVのrtcのエントリを書き換えて、適切なデバイス番号のデバイスファイルを作るか、udevへの移行をお勧めします。

RTCデバイスのデバイスIDは、次のようにして調べることが出来ます。

$ grep rtc /proc/devices | awk '{print $1;}'
254
$
ここに表示されている254(これはうちのグラタンでの例。組み込まれているドライバの数などで変わる可能性がある。)がIDです。 /dev/MAKEDEVの1126行目あたりにrtcのエントリがあるので、ここを次のように変更します。
    rtc)
        major=`Major mouse 10` || continue
        makedev rtc c $major 135 $mouse
        makedev rtc c 254 0 $mouse
        ;;
あとは、
# cd /dev
# mv rtc rtc.old
# ./MAKEDEV rtc
とでもしてやれば、とりあえず、hwclockなどのコマンドも利用できるようになります。
# hwclock --show
Tue Jun 20 16:17:36 2006 -1.035412 seconds
のように、正しく日時が読み出せればOKです。

この方法は、現在稼動しているシステムに対して、最小のインパクトで/dev/rtc問題を解決します。但し、手で/dev/rtcを作り直す方法は、組み込まれるドライバの組み合わせが変われば、RTCデバイスの番号が変わりうるので、完全な解になっていません。ブートするたびに、/dev/rtcを作り直すか、udevに移行するのがベストであると思います。