linux硬件時間的調整

DELL的機器,裝了Debian Sarge。啓動後時間用的是UTC。使用hwclock調整硬件時間出錯,

錯誤信息:select() to /dev/rtc to wait for clock tick timed out

 


解決:
首先使用date設置正確的時間(如果你的時間設置也不對的話,首先得調整時區).
調整後,使用date命令查看是否正確:
shell$date
Fri Apr 21 18:47:09 CST 2006
首先查看一下硬件時鐘:
shell#hwclock –show
然後使用hwclock將硬件時間調整爲與系統時間一致:
shell#hwclock –directisa –systohc
這時間再查看一下硬件時鐘是否已經調整過來了?
shell#hwclock –show
Fri 21 Apr 2006 06:47:25 PM CST -0.764909 seconds
請注意–directisa參數,如果出現文中開頭的錯誤信息,則必須加上此參數,表示直接以I/O指令存取硬件時間而不通過/dev/rtc設備來存取。
如果您的硬件時間是正確的,要將系統時鐘調整的與硬件時鐘一致,則只需要將–systohc換成–hctosys即可。
hwclock的參數詳解:
語法:hwclock [–adjust][–debug][–directisa][–hctosys][–show][–systohc][–test] [–utc][–version][–set –date=<日期與時間>]
參數:
–adjust  hwclock每次更改硬件時鐘時,都會記錄在/etc/adjtime文件中。使用–adjust參數,可使hwclock根據先前的記錄來估算硬件時鐘的偏差,並用來校正目前的硬件時鐘。
–debug  顯示hwclock執行時詳細的信息。
–directisa  hwclock預設從/dev/rtc設備來存取硬件時鐘。若無法存取時,可用此參數直接以I/O指令來存取硬件時鐘。
–hctosys  將系統時鐘調整爲與目前的硬件時鐘一致。
–set –date=<日期與時間>  設定硬件時鐘。
–show  顯示硬件時鐘的時間與日期。
–systohc  將硬件時鐘調整爲與目前的系統時鐘一致。
–test  僅測試程序,而不會實際更改硬件時鐘。
–utc  若要使用格林威治時間,請加入此參數,hwclock會執行轉換的工作。
–version  顯示版本信息。
或許每次都要加上–directisa比較麻煩,因此可以用以下方法作一些改變:
shell#cd /sbin
shell#mv hwclock hwclock.ori
shell#cat > hwclock <
#!/bin/bash
/sbin/hwclock.ori –directisa $@
EOF
shell#chmod +x hwclock

reference:

http://www.freebug.org/blog/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章