x1-debian-builderでタイムゾーンがJSTにならない

中村です。

x1-debian-builderでタイムゾーンがJSTにならず、UTCになってしまいます。

ためした環境は次のとおりですが、他のバージョンでも同じだと思います。
- atde7-i386-20190701
- x1-debian-builder-v2.1.1.tar.gz
- Armadillo-IoT G3L

G3Lのマニュアルには記載はないのですが、
G3のマニュアルの「6.5.1. RTCに時刻を設定する」の
下の方の枠の中に次の記載があります。
「Armadillo-IoTのタイムゾーンはデフォルトでUTCに設定されています」
https://manual.atmark-techno.com/armadillo-iot-g3/armadillo-iotg-g3_product_manual_ja-2.2.0/ch06.html#sct.rtc-set-with-hwclock

ところが、x1-debian-builderの各fixupスクリプトは、
UTCではなくJST(Asia/Tokyo)に設定しようとしているのですが、
これが正しく動作していません。

#Setup timezone
echo "Asia/Tokyo" > /etc/timezone
dpkg-reconfigure -f noninteractive tzdata

次の2つの方法のどちらでもJSTにすることができました。

方法1 - Armadillo-640用のat-debian-builderと同じ方法

#Setup timezone
ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
dpkg-reconfigure -f noninteractive tzdata

方法2 - /etc/localtimeを事前に削除

#Setup timezone
rm -f /etc/localtime
echo "Asia/Tokyo" > /etc/timezone
dpkg-reconfigure -f noninteractive tzdata

/etc/localtimeが存在する状態で/etc/timezoneを書き換えた場合、
/etc/timezoneよりも/etc/localtimeが優先されるようで、
/etc/timezoneは元に戻ってしまいます。
(/etc/localtimeと同じ設定に変更されてしまう)

/etc/localtimeがなければ/etc/timezoneの設定が使われ、
/etc/timezoneと同じになるように/etc/localtimeが作られるようです。

// x1-debian-builderとat-debian-builderの両方に
// G3,G3L,X1,640(とdegu)の設定があるのですけど、
// timezone以外も微妙に違っているんですよね。
// どちらかに統一していただきたいです。

--
なかむら

製品: 
Armadillo-IoT G3
Armadillo-IoT G3L
Armadillo-X1

大塩です。

> 中村です。
>
> x1-debian-builderでタイムゾーンがJSTにならず、UTCになってしまいます。
>
> ためした環境は次のとおりですが、他のバージョンでも同じだと思います。
> - atde7-i386-20190701
> - x1-debian-builder-v2.1.1.tar.gz
> - Armadillo-IoT G3L
>
> G3Lのマニュアルには記載はないのですが、
> G3のマニュアルの「6.5.1. RTCに時刻を設定する」の
> 下の方の枠の中に次の記載があります。
> 「Armadillo-IoTのタイムゾーンはデフォルトでUTCに設定されています」
> https://manual.atmark-techno.com/armadillo-iot-g3/armadillo-iotg-g3_product_manual_ja-2.2.0/ch06.html#sct.rtc-set-with-hwclock
>
> ところが、x1-debian-builderの各fixupスクリプトは、
> UTCではなくJST(Asia/Tokyo)に設定しようとしているのですが、
> これが正しく動作していません。
>

> #Setup timezone
> echo "Asia/Tokyo" > /etc/timezone
> dpkg-reconfigure -f noninteractive tzdata
> 

>
> 次の2つの方法のどちらでもJSTにすることができました。
>
> 方法1 - Armadillo-640用のat-debian-builderと同じ方法
>

> #Setup timezone
> ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
> dpkg-reconfigure -f noninteractive tzdata
> 

>
> 方法2 - /etc/localtimeを事前に削除
>

> #Setup timezone
> rm -f /etc/localtime
> echo "Asia/Tokyo" > /etc/timezone
> dpkg-reconfigure -f noninteractive tzdata
> 

>
> /etc/localtimeが存在する状態で/etc/timezoneを書き換えた場合、
> /etc/timezoneよりも/etc/localtimeが優先されるようで、
> /etc/timezoneは元に戻ってしまいます。
> (/etc/localtimeと同じ設定に変更されてしまう)
>
> /etc/localtimeがなければ/etc/timezoneの設定が使われ、
> /etc/timezoneと同じになるように/etc/localtimeが作られるようです。
>
> // x1-debian-builderとat-debian-builderの両方に
> // G3,G3L,X1,640(とdegu)の設定があるのですけど、
> // timezone以外も微妙に違っているんですよね。
> // どちらかに統一していただきたいです。
>
> --
> なかむら
>

上記、仰る通りデフォルトがUTCなのかJSTなのか、わかりにくい表記であるかと思います。

大変申し訳ありません。

G3,G3L,X1のデフォルトタイムゾーンはUTCとわかるよう、
今後の製品アップデートにて対応致します。

中村です。

大塩さん、
確認ありがとうございます。

> G3,G3L,X1のデフォルトタイムゾーンはUTCとわかるよう、
> 今後の製品アップデートにて対応致します。

G3,G3L,X1のメーカ出荷の仕様としては、
マニュアル記載のUTCというのが正しく、
x1-debian-builderのfixupのタイムゾーン設定処理
> > #Setup timezone
> > echo "Asia/Tokyo" > /etc/timezone
> > dpkg-reconfigure -f noninteractive tzdata
は、(それが正常に動作しているかどうかは別として)
この処理が存在することが間違いということですね。

--
なかむら