y.nakamura
2017年1月25日 23時34分
中村です。
無意識に(いつもの癖で) shutdown -h now とやったら、、
systemd-shutdown[1]: Powering off. imx2-wdt 30280000.wdog: Device shutdown: Expect reboot! reboot: Power down
という表示がでて、IoT-G3の自身の電源がOFFになりました。
LANのLEDも消えています。
128秒以上経過しても勝手に起動することもありません。
が、SW1を押すと再起動してくれました。
haltで停止させた場合は、次のような表示で、
128秒くらい経過すると勝手に(WDTで)再起動します。
systemd-shutdown[1]: Halting system. imx2-wdt 30280000.wdog: Device shutdown: Expect reboot! reboot: System halted
マニュアルやフォーラムの投稿によると、
Armadillo-IoT G3ではhaltしたあと放置すると128秒後に
自動再起動してしまうという制約があるということでしたが、
shutdonw -h now を使うことで(U-Bootにパッチをあてて
WDTを無効化する方法以外で)、この制約はなくなった
(回避できる)ということで、いいのでしょうか?
このあたりの話です。
7.3.19. ウォッチドッグタイマー
http://manual.atmark-techno.com/armadillo-iot-g3/armadillo-iotg-g3_prod…
大野さんのフォーラム投稿
https://armadillo.atmark-techno.com/forum/armadillo/2147
(フォーラムや更新情報の見落としがあるかもしれませんが・・・)
--
なかむら
コメント
y.nakamura
中村です。
古関さん、
詳しい説明、ありがとうございました。
> poweroff(shutdown -h now)とhaltよる挙動差となります。
...
> poweroffの仕様について製品マニュアルに記載されていないため
poweroff(shutdown -h now)のコマンドとしての説明は
現在のマニュアルには記載はないですけど、
CPUの電源OFFの仕組みの説明としては、
↓これのことと思います。
14.1. i.MX 7Dual 自身による制御
http://manual.atmark-techno.com/armadillo-iot-g3/armadillo-iotg-g3_prod…
> 今後の製品アップデートでマニュアルに記載させて頂きます。
よろしくお願いいたします。
--
なかむら
at_koseki
古関です。
> poweroff(shutdown -h now)のコマンドとしての説明は
> 現在のマニュアルには記載はないですけど、
> CPUの電源OFFの仕組みの説明としては、
> ↓これのことと思います。
> 14.1. i.MX 7Dual 自身による制御
> http://manual.atmark-techno.com/armadillo-iot-g3/armadillo-iotg-g3_prod…; ch14.html#sct.control-by-gpio
はい。ご指摘の通りです。
上記、GPIOによる電源OFFはこのpoweroff仕様に対応したLinuxカーネルではエラーになります。
(LinuxカーネルがこのGPIOをにぎっているため、gpio-sysfsのexportでエラーになる)
マニュアルとの不整合が起きています。申し訳ありません。
こちらもあわせて修正させて頂きます。
i.MX 7Dual 自身で電源を切るには、poweroffコマンドを実行してください。
poweroffコマンドを実行すると、eMMC等のストレージのアンマウント、
Linuxカーネルの終了後このGPIOを使用してi.MX7 Dualの電源をOFFを行います。
overlayFSを有効にする等の対応を行わずに、マニュアル記載の手順でGPIOによる電源OFFを行うと、
eMMC等のストレージに構築されているルートファイルシステムの破壊につながる可能性があります。
(ext4ですのであまり破壊は起きにくいとは思うのですが)
よろしくおねがいします。
y.nakamura
中村です。
追加の説明・解説、ありがとうございます。
> 上記、GPIOによる電源OFFはこのpoweroff仕様に対応したLinuxカーネルではエラーになります。
> (LinuxカーネルがこのGPIOをにぎっているため、gpio-sysfsのexportでエラーになる)
どのカーネルだったのか確認もしていないのですが、
だいぶ前にこれを試そうとしたときにexortで失敗して、
そのまま原因調べもせずに、作業放置になってました。
これが原因だったようですね。
> overlayFSを有効にする等の対応を行わずに、マニュアル記載の手順でGPIOによる電源OFFを行うと、
> eMMC等のストレージに構築されているルートファイルシステムの破壊につながる可能性があります。
はい、これ、動作中の電源ブチ切りと同じなので、
書こうかなぁと思いながらも書かずにいました。
--
なかむら
at_koseki
2017年4月20日 12時54分
古関です。
回答が遅くなってしまい申し訳ありません。
poweroff(shutdown -h now)とhaltよる挙動差となります。
poweroffコマンドやshutdown -h nowを実行すると、Linuxカーネルの終了後、i.MX7 Dual(CPU)の電源をOFFします。
その後、SW1を押すとi.MX7 Dual(CPU)の電源がONになりLinuxカーネルが起動します。
※ Linuxカーネル v3.14-x1-at7、ボード情報 v2.0以降で対応
haltコマンドはLinuxカーネルの終了は行いますが、i.MX7 Dual(CPU)の電源はOFFしません。
ウォッチドックタイマのキック(クリア)はLinuxカーネルにて定期的に行いますが、
haltをすると、Linuxカーネルが終了、i.MX7 Dual(CPU)の電源がONの状態となり、
ウォッチドックタイマのキック(クリア)ができず、ウォッチドックリセットがかかってしまい、結果リブートが起きます。
i.MX7 Dual(CPU)の仕様で、ウォッチドックタイマは一度動かすと止めることができないため、
Linuxカーネルの動作中はウォッチドックリセット時間は10秒で動作しているところを、
halt実行時には128秒(設定可能な最大値)に再設定します。
※ ウォッチドックの停止はできないが、設定変更は可能
poweroffとhaltの仕様は、Armadillo-IoT G3、Armadillo-IoT G3L、Armadillo-X1で共通です。
poweroffの仕様について製品マニュアルに記載されていないため
今後の製品アップデートでマニュアルに記載させて頂きます。
よろしくおねがいします。