1. 개요

이 문서는 이지보드에 인터넷을 이용하여 보드의 시간을 설정하는 방법에 대하여 설명한 문서이다. RTC가 없는 상태의 보드에서 시간은 매우 고질적인 문제인데 이를 해결하기 위한 문서이다.

2. 사전 조건

이 문서의 수행 과정은 다음과 같은 환경이 설정되었다는 것을 가정하여 기술한 것이다.

arm용 툴체인이 설치되어 있는 리눅스 크로스 컴파일 환경 ( falinux.com에서 다운로드한 rpm 버전을 사용 )
플레쉬가 루트 화일 시스템으로 설치되어 있는 이지보드
nfs 화일 시스템을 이용한 화일 전달 구성
inet 데몬이 동작하는 상태
이지보드의 lo 인터페이스가 잡혀 있는가 확인 - ifconfig 명령을 이용하여 lo 인터페이스가 127.0.0.1 이 설정 확인 - /etc/hosts 화일에 127.0.0.1 -> localhost 설정 확인
보드에서 인터넷으로 연결이 가능한 상태

3. 책임

이 문서는 단지 프로그램 방법에 대한 설명이기 때문에 컴파일이나 실행 방법에 대한 자세한 예제를 보여 주는 것이 아니다. 그러므로 각각의 환경에 대해서 다르게 설정하여야 하는 부분이나 환경에 따른 진행 문제에 대하여 책임이 없음을 밝혀둔다. 또한 질문에 대한 답변 책임도 없음을 알린다.

4. time 서버

인터넷 상에는 시간을 맞추기 위한 서버들이 있다. 이 서버는 기준 시간을 항상 제공하는 데 대부분의 시간 동기를 위하여 이 서버들을 사용한다. NTP (Network Time Protocol) 는 컴퓨터의 표준시각 설정문제를 해결하기 위한 프로토콜이다. 표준시각을 유지하고 NTP 신호를 제공하는 서버를 타임 서버라고 부른다. 표준시각정보를 받아 표준시각을 유지하는 타임 서버를 NTP Primary Time Server 혹은 Stratum 1 서버라 부른다. Stratum 1 서버에서 표준시각을 제공받아 표준시각을 유지하는 타임 서버를 NTP Secondary Time Server 혹은 Stratum 2 서버라 부른다.
따라서 NTP 는 다분히 계급적인 (hierarchical) 프로토콜이다. NTP 를 이용하면 컴퓨터의 시각을 1 ms ~ 30 ms 이내의 정확도로 유지할 수 있다.


우리나라에서 타임 서버(NTP Server)가 많다.

Stratum 1 서버로는

데이콤 (gps.bora.net),
코넷 (ntp.kornet.net),
GNGIDC,
부산대학교 (ntp1.cs.pusan.ac.kr / ntp2.cs.pusan.ac.kr),
한국 표준과학 연구원 시간.주파수 연구실 (time.kriss.re.kr),

가 있다.

Stratum 2 서버로는

PSINet Korea (time.nuri.net),
GNGIDC (ntp1.gngidc.net / ntp2.gngidc.net),
이대부속 초등학교 (ntp.ewha.net / ticktock.ewha.net)

가 있다.

여기서 이용하려는 것은 time.bora.net 이다.
이 주소는 164.124.101.31 이다.








5. 명령행에서 수행

부팅하고 나서 로그인 한 후에 rdate -s 164.124.101.31 이렇게 명령을 주면 된다.

6. 부팅 스크립트에서 동작하게 만들기

일단

cd /etc/rc.d/init.d/

명령을 수행한다.

이곳에 다음과 같은 time 이라는 스크립트 화일을 만든다.


#! /bin/sh
#
# Source function library.
. /etc/rc.d/init.d/functions
[ -f /usr/sbin/rdate ] || exit 0
# See how we were called.
case "$1" in
     start)
         echo -n "Starting RDATE services: "
         rdate -s 164.124.101.31
         ;;
     stop)
         ;;
     status)
         ;;
     restart|reload)
         ;;
     *)
         echo "Usage: inet {start|stop|status|restart|reload}"
         exit 1
esac
exit 0





레벨 3 에서 동작하게 끔 링크를 건다.

cd /etc/rc.d/rc3d
ln -s ../init.d/time S30time


6. 확인

재 부팅 했을때

Starting RDATE services

라고 나온 후

date

화명령을 수행 했을때 정확한 시간이 나오면 된다.

위 문장을 크론 데몬의 환경 화일에 연결해도 된다.


태그: *장비설정 *EZ-보드