[Suzaku:00394] Re: ntpdateコマン

Yasushi SHOJI email@hidden
2005年 8月 22日 (月) 00:29:11 JST


At Sun, 21 Aug 2005 23:15:54 +0900,
Toshi wrote:
> 
> こちらの環境は"Suzaku-S"で、上にご紹介頂いた環境とは異なりますが、
> user/下のファイル群で"configure"を使ってmakeするコマンド関連は 殆どコンパイルできません。
> 無理やり configure->make としても ”CC=gcc” クロスコンパイルとなってくれないようです。

これ suzakuが今つかっている distの bugですね。こんなパッチで compileで
きます。(debian sidですが)

diff --git a/user/Makefile b/user/Makefile
--- a/user/Makefile
+++ b/user/Makefile
@@ -181,7 +181,7 @@ dir_$(CONFIG_USER_NET_TOOLS_MII_TOOL)   
 dir_$(CONFIG_USER_NET_TOOLS_MII_TOOL_FEC)   += net-tools
 dir_$(CONFIG_USER_NETSTAT_NAT_NETSTAT_NAT)  += netstat-nat
 dir_$(CONFIG_USER_NTPD_NTPD)                += ntp
-dir_$(CONFIG_USER_NTPD_NTPDATE)             += ntp
+dir_$(CONFIG_USER_NTPD_NTPDATE)             += ntp/ntpdate
 dir_$(CONFIG_USER_NTPD_NTPQ)                += ntp
 dir_$(CONFIG_USER_NULL_NULL)                += null
 dir_$(CONFIG_USER_NWSH_SH)                  += nwsh

ただ、time serverと systemの時間が離れすぎていると時間の設定がうまくい
かない bugがあるようです。こんな codeでとりあえず suzakuの現在時間をず
らしてあげると ntpdateで時間合せをすることができます。

#include <sys/time.h>
#include <time.h>
#include <errno.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>

int main(int argc, char *argv[])
{
        int ret;
        struct timeval tv;

        if (argc != 2)
                return -1;

        memset(&tv, 0, sizeof(tv));
        tv.tv_sec = atoi(argv[1]);
        ret = settimeofday(&tv, NULL);
        if (ret) {
                int my_errno = errno;
                perror("settimeofday");
                printf("errno: %d\n", my_errno);
        }
        
        return 0;
}

> configureする際にターゲットを指定するのでは思いましたが、該当するファイルの中をのぞいて
> 見ても"CPU=MicroBlaze"に相当する選択肢は含まれいないように思えます。
> (メジャーなpowerpcは、選択肢には含まれているようですが・・・)

upstreamで開発中 toolchainでは config.guessにuclinuxが入りそうです。そ
れまで microblazeは configure系のものは難しいかもしれません。distの中
のものは、configureで出力されたものを手直ししています。
--
         yashi



suzaku メーリングリストの案内