サポート/お問い合わせ

「Write.img」まで解凍されずに再起動して、ファームウェア更新が失敗する原因について教えてください。

ファームウェア更新が失敗する理由はメモリ不足です。
/tmp ディレクトリは tmpfs ファイルシステムになっているため/tmp ディレクトリ以下にファイルを作成すると、「作成したファイルサイズ+α」のメモリを消費します。

また, お客様が作成されたアプリケーションや追加インストールしたアプリケーションが POSIX セマフォや POSIX メッセージ・キュー、POSIX 共有メモリを使用している場合、当該アプリケーションが終了時にそれらを明示的に削除していなければ、それらの分だけメモリが消費されたままになります。

System V セマフォ/System V メッセージ・キュー、 System V 共有メモリについても同様です。

GX のファームウェア更新の手順の概要は下記のようになります。
/tmp 以下に write.img ファイルを展開しますが、このとき write.img を保存できるだけの空きメモリがないと、その時点でファームウェア更新が異常終了します。

1. firm コマンドでファームウェア更新を実行する
2. firm コマンドがシステムの停止処理を開始し, 順次システム・サービスを停止する
→ 順次システム・サービスを停止することで, メモリの空き容量を確保する
3. システムの停止スクリプト内でファームウェアファイルを展開し,
フラッシュメモリの所定の位置に所定のバイナリ・ファイルを書き込む

「手順 2.」の段階でお客様が作成/追加インストールしたアプリケーションが

(1) 終了しなかった
(2) /tmp ディレクトリ以下に作成したファイルを削除しなかった
(3) 作成した POSIX セマフォや POSIX メッセージ・キュー、POSIX 共有メモリ
を削除しなかった
(4) 作成した System V セマフォや System V メッセージ・キュー、System V 共有メモリ
を削除しなかった

のケースが起きた場合, 十分な空きメモリが確保できずに /tmp 以下への write.img ファイルの展開に失敗し、ファームウエア更新が異常終了します。

「2. firm コマンドがシステムの停止処理を開始し, 順次システム・サービスを停止する」には、下記のサービスの停止も含まれます。

* syslog サービス
* ssh サービス

そのため、firmコマンドの失敗の確認にはシステム・ログは使用できません。
また、SSH ログインを行って, firm コマンドによるファームウェア更新を開始した場合、「3. ファームウェアファイルを展開し, フラッシュメモリの所定の位置に所定のバイナリ・ファイルを書き込む」前に SSH 接続が解除されます。

firmコマンドが成功したかどうかを判断するには、お客様独自のファームウェア・ファイルの作成時に
お客様独自のバージョン番号を設定いただき、システムの再起動後にそのバージョン番号が更新されたか否かで判断していただく必要があります。

サポート/お問い合わせ

お問い合わせ

製品購入にあたってのお問い合わせ
sales-suncomm@sun-denshi.co.jp
製品の仕様やサポート・サービスに関するお問い合わせ
support-suncomm@sun-denshi.co.jp

製品/サービス お問い合わせフォーム

お電話・FAXでのお問い合わせ

お電話及びFAXによるお問い合わせにつきましては、以下の番号までお願い致します。 なお、お電話によるお問い合わせにつきましては、下記受付時間内にてお願い致します。

TEL:052-756-5987FAX:052-756-5999
受付時間 平日 10:00~12:00 13:00~16:00まで(土日祝日、弊社休業日を除く)

IoT/M2Mならサン電子
ページTOPへ

会員ユーザー専用ページ ログイン

パスワードを忘れた方新規登録ページ