グラタン用にrtc-rs5c372.cを修正して、2.6.17でも正しく時刻が取得できるようになりました。つまりは、修正前のバージョンはやっぱり正しく時刻が読めていなかったということです。ntpdateが速攻で時刻を合わせてしまうので判らなかったんですね。
さて、修正したものの、/dev/rtcは最早、miscデバイスの配下ではなくなっています。これは2.6.17でRTCサブシステムを一新した関係です。このためhwclockが正しく動作しなくなっています。これを回避する正しい解は、恐らくudevに移行することです。sysfsには正しくrtc0のエントリが作成されていますから、udevに移行すればこの問題は解消するはずです。ただし、となると、非udevなデバイスドライバ、例えば、leddrvやbuzdrvをどうにかしないと塩梅悪そうですし、何より、ブートシーケンスに関わる大きな修正をするってことは、また、悪くすれば、分解と修復の繰り返しをしなければならないということで、かなりやる気を出さないといけません。ということで、ちょっと思案のしどころです。
逃げとしては、
- hwclockのことは忘れる
- /dev/rtcを(10,135)から(254,0)など、実際に割り当てられているデバイス番号に変更する。
- 旧来のrs5c372aドライバを使い、新しいRTCフレームワークは使わない。
コメント