하드웨어
가장 정확한 시간을 설정 하는 방법은 타임서버로부터 시간을 가져 오는 방식 입니다.
네트워크로 정확한 시간을 제공하는 타임서버에 접속해 현재 시간을 받아 오는 식이지요.
예전에는 rdate 를 썼으나 지금은 거의 ntpdate 를 쓰는 것 같습니다.
사용법
------------------------------------------------------------------------------------
[root@falinux /]$ export env TZ=GMT-09:00:00
[root@falinux /]$ ntpdate ntp1.epidc.co.kr
13 Jun 11:35:58 ntpdate[1165]: adjust time server 211.115.194.21 offset -0.041779 sec
[root@falinux /]$ date
Wed Jun 13 11:36:01 GMT 2012
[root@falinux /]$
-------------------------------------------------------------------------------------
맨위 export 하는 것은 타임서버로 부터 받아오는 시간은 한국 기준 시간이 아니므로,
한국 기준 시간으로 변경 하기위해 9시간이라는 offset 값을 넣어 주는 것 입니다.
물론 임베디드리눅스가 아닌 일반 리눅스라면 다른 방법이 있긴 합니다.
그다음 시간을 가져 오는 명령 입니다.
여기서 접속된 ntp1.epidc.co.kr 가 타임 서버 이며,이는 한국 서버 입니다.
타임 서버의 종류는 많이 있으니 인터넷에서 검색 해보면 쉽게 찾을 수 있습니다.
타겟 보드에서 rtc 가 지원 된다면 이 시간 값을 rtc 에 저장 해서 사용 합니다.
rtc 가 달린 타겟보드에 시간을 어떻게 설정 할까요?
일단 현재 시간을 확인해 봅니다.
-------------------------------------------------------------------------------------
[root@falinux ~]$ date
Fri Jan 14 19:51:59 UTC 2000
-------------------------------------------------------------------------------------
엉뚱한 시간이 들어가 있는게 확인 되었습니다.
시간 설정 방법은
먼저 시간을 설정 한 다음 그 값을 rtc 에 써 넣는 방법이다.
시간 수정
위에서 설명한 내용대로 하면 됩니다.
물론 아래와 같이 수동으로 직접 시간을 변경 햏 주어도 됩니다.
-------------------------------------------------------------------------------------
[root@falinux ~]$ date -s "052314262012"
Wed May 23 14:26:00 UTC 2012
-------------------------------------------------------------------------------------
"05 23 14 26 2012" -> 월일시분년
시간 rtc 에 저장
-------------------------------------------------------------------------------------
[root@falinux ~]$ hwclock –w
-------------------------------------------------------------------------------------
이제 확인하기
-------------------------------------------------------------------------------------
[root@falinux ~]$ date
Wed May 23 14:47:10 UTC 2012
[root@falinux ~]$ hwclock
Wed May 23 14:47:14 2012 0.000000 seconds
[root@falinux ~]$
-------------------------------------------------------------------------------------
date 는 시스템 시간이고, hwclk 는 rtc 시간이다. 둘이 같음을 볼 수 있다.
전원을 다시 인가해서 저장된 시간이 잘 있는지 확인해 봅시다.