가장 정확한 시간을 설정 하는 방법은 타임서버로부터 시간을 가져 오는 방식 입니다.

네트워크로 정확한 시간을 제공하는 타임서버에 접속해 현재 시간을 받아 오는 식이지요.


예전에는 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 시간이다. 둘이 같음을 볼 수 있다.

전원을 다시 인가해서 저장된  시간이 잘 있는지 확인해 봅시다.