エッジ機器のファームウェアアップデート方法

エッジ機器ごとのファームウェアアップデート方法について説明します。

NECエッジゲートウェイのファームウェアアップデート方法

NECエッジゲートウェイのファームウェアアップデート方法について説明します。

なお、NECエッジゲートウェイのファームウェアアップデートには下記のファイルが必要です。

  • NECエッジゲートウェイのファームウェア(ファイル名:edgeFW.(バージョン名}.bin)
  • ファームウェアのチェックサムファイル(ファイル名:fwchecksum.txt)
  • パッケージ作成用スクリプト(ファイル名:create_bsum.sh)

ファームウェアイメージファイル、チェックサム、パッケージ作成スクリプトについては提供元から入手してください。

事前準備

NECエッジゲートウェイのファームウェアアップデートを行う前に、下記の準備を行います。

  1. EDMマネージャ上の任意のフォルダに下記のファイルを配置します。全て同じフォルダ直下に配置してください。
    • NECエッジゲートウェイのファームウェア
    • ファームウェアのチェックサムファイル
    • パッケージ作成用スクリプト
  2. パッケージ作成用スクリプトを実行し、ファームウェアアップデート用のパッケージファイルを作成します。

    # ./create_bsum.sh edgeFW.(バージョン名}.bin
    start to verify...OK
    
  3. フォルダ直下に edgeFW.(バージョン名}.bin.bsum という名前のファイルがあることを確認します。

    # ls
    create_bsum.sh  edgeFW.(バージョン名}.bin  edgeFW.(バージョン名}.bsum
    
  4. CONNEXIVE Edge Device Management のWeb GUIを起動し、アップデート対象のエッジ機器のエッジ詳細画面で、「システム」‐「FW バージョン」に表示される値を記録しておきます。

ファームウェアアップデート用のパッケージ登録

事前準備で作成したパッケージファイル(edgeFW.(バージョン名}.bin.bsum)を使用して、ファームウェアアップデート用のパッケージを登録します。

下記の表を参照し、各項目を指定後、「追加」ボタンを押下します。

配布パッケージ登録-登録確認-メッセージで「OK」ボタンを押下します。

項目名 説明
パッケージ名 パッケージ名を指定します。重複不可です。最大256文字です。
パッケージ種別 パッケージ種別を指定します。 「ファームウェア」を指定します。
説明 パッケージの説明を指定します。最大1023文字です。
項目名 説明
ダウンロード先ディレクトリ パッケージの格納先ディレクトリパスをフルパスで指定します。「/mnt/mmcblk0p7」を指定します。
配布完了後にダウンロードしたファイル/ディレクトリを削除する コマンド実行後に配布したファイルを削除するかどうかを指定します。チェックを外します。
配布ファイル/ディレクトリパス 配布対象ファイル/フォルダのパスをフルパスで指定します。事前準備で作成したパッケージファイル(edgeFW.(バージョン名}.bin.bsum)をフルパスで指定します。
項目名 説明
コマンド ファイルを対象のエッジ機器にダウンロードする前に実行するコマンドラインを指定します。「/usr/bin/sudo」を指定します。
コマンドオプション コマンドのオプションを指定します。「/opt/nec/pf/fwtool/rm_firmware.sh」を指定します。
作業ディレクトリ 指定不要です。
戻り値(正常終了) 指定不要です。
標準出力 指定不要です。
項目名 説明
コマンド ファイルを対象のエッジ機器にダウンロードした後に実行するコマンドラインを指定します。「/usr/bin/sudo」を指定します。
オプション コマンドのオプションを指定します。「/opt/nec/pf/fwtool/update_firmware.sh」を指定します。
作業ディレクトリ 指定不要です。
終了条件 指定不要です。
標準出力 指定不要です。
コマンド待ち合わせ 指定不要です。

ファームウェアアップデート用のタスク登録・実行

ファームウェアアップデート用のパッケージ登録で作成したパッケージとアップデート対象のエッジ機器を指定して、ファームウェアアップデート用のタスクを登録・実行します。

下記の表を参照し、各項目を指定後、「追加」ボタンをクリックします。

配布タスク登録-登録確認-メッセージで「OK」ボタンをクリックします。

項目名 説明
タスク名 配布タスク名を指定します。重複不可です。最大256文字です。
タスク種別 配布タスク種別を指定します。put:put型の配布タスクとして登録します。
get:get型の配布タスクとして登録します。
説明 配布タスクの説明を指定します。最大1023文字です。
項目名 説明
実行タイミング 配布タスクを登録後、手動実行するか、即時実行するかを指定します。
同時実行数 配布タスクの宛先同時実行数を指定します。最大値は1000です。タスク種別が「put」の場合のみ指定可能です。
配布タイムアウト時間 配布タスクの配布タイムアウト時間を秒単位で指定します。最大値は86400です。タスク種別が「put」の場合のみ指定可能です。
タスク実行タイムアウト時間 タスクの実行タイムアウト時間を指定します
進捗状況 エッジ機器でのタスク実行の進捗状況を通知するかを指定します。通知する 通知しない
タスク同時実行時の制御 エッジ機器でタスク実行に後続のタスクが通知された場合の制御を指定しますエラーにする 先行タスクの終了を待つ
項目名 説明
配布パッケージ 配布するパッケージを指定します。ファームウェアアップデート用のパッケージ登録で作成したパッケージを指定します。
項目名 説明
配布先 配布タスクの宛先を指定します。アップデート対象のエッジ機器を指定します。タスク種別が「put」の場合のみ指定可能です。

実行タイミングで「手動実行」を選択した場合は、ファームウェアアップデートを実行する際にタスク開始)を参照してタスクを開始してください。

タスク種別で「get」を選択した場合は、タスク開始後にCONNEXIVE Edge Device Management イメージファイル内の「document\ja\command\dist_cmd_top.html」‐「配布タスク実行」を参照してタスクを実行してください。

ファームウェアアップデート結果の確認

ファームウェアアップデート用のタスク登録・実行で実行したファームウェアアップデート用のタスクの結果を確認します。

  1. 該当タスクのタスク結果画面を表示し、アップデート対象のエッジ機器の最新ステータスが「完了」となっていることを確認します。

    項目名 説明
    エッジID エッジID
    エッジ名 エッジ名
    最新ステータス タスクの最新ステータス
    進捗状況 エッジ機器上でのタスク実行状況
    ステータス更新日時 配布結果ステータスの更新日時
  2. ファームウェアアップデート後、初めて構成情報を収集した際に、アップデート対象のエッジ機器のエッジ詳細画面で、「システム」‐「FW バージョン」に表示される値を確認します。事前準備で記録したファームウェアバージョンから変更されていれば、アップデートは正常終了となります。

NEC AI Acceleratorのファームウェアアップデート方法

NEC AI Acceleratorのファームウェアアップデート方法について説明します。

なお、NEC AI Acceleratorのファームウェアアップデートには下記のファイルが必要です。

  • NEC AI Acceleratorのブートローダ(ファイル名:uboot.tar.gz)
  • ブートローダのハッシュファイル(ファイル名:uboot.tar.gz.hash)
  • NEC AI Acceleratorのファームウェア(ファイル名:update.tar)
  • ファームウェアのハッシュファイル(ファイル名:update.tar.hash)
  • ブートローダ、ファームウェアのアップデート用スクリプト(ファイル名:osupdate.sh)

ブートローダ、ファームウェア、ハッシュファイルについては提供元から入手してください。

事前準備

NEC AI Acceleratorのファームウェアアップデートを行う前に、NEC AI AcceleratorとEDMマネージャで事前準備を行います。

NEC AI Acceleratorでの事前準備

NEC AI Acceleratorのファームウェアアップデートを行う前に、NEC AI Acceleratorで下記の準備を行います。

  1. NEC AI Accelerator上の /etc/nec/pf/ice/core/conf/core_config.json で下記の(★)のように、配布物をダウンロードする際に許可するディレクトリのリストに「/update」を追加します。

    {
        "version": "2.0.0",
        "edge_id": "<Edgeを識別する一意なIDを指定する>",
        "default_logger": "SYSLOG",
        "modifiable_home_dir": "",
        "heartbeat": {
            ・・・
        },
        "native_app": {
            ・・・
        },
        "download": {
            "white_dirs": [
                "/tmp",
                "/update"     (★)
            ],
            "http": {
                ・・・
            },
    
  2. /updateフォルダに権限を付与します。

    # chmod 777 /update
    
  3. IoT Connectivity Engine のサービスを再起動します。

    # systemctl stop ice-core
    # systemctl start ice-core
    

EDMマネージャでの事前準備

NEC AI Acceleratorのファームウェアアップデートを行う前に、EDMマネージャで下記の準備を行います。

  1. 配布パッケージ実行(ブートローダ)用スクリプトを作成します。下記の内容をテキストファイルで作成し、ファイルの拡張子を「.sh」として保存してください。以降の手順では「update_bootloader.sh」という名前で作成したものとして説明します。

    #!/bin/sh
    
    # move file
    mv ./osupdate.sh ./uboot.tar.gz ./uboot.tar.gz.hash /tmp/
    cd /tmp
    
    # update bootloader
    bash osupdate.sh -u
    if [ $? -ne 0 ]; then
      exit 1
    fi
    
    exit 0
    
  2. 配布パッケージ実行(ファームウェア)用スクリプトを作成します。下記の内容をテキストファイルで作成し、ファイルの拡張子を「.sh」として保存してください。以降の手順では「update_fw.sh」という名前で作成したものとして説明します。

    #!/bin/sh
    
    # move file
    mv ./osupdate.sh ./update.tar ./update.tar.hash /tmp/
    cd /tmp
    
    # update os
    bash osupdate.sh -auto
    if [ $? -ne 0 ]; then
      exit 1
    fi
    
    reboot
    
    exit 0
    
  3. EDMマネージャ上の任意のフォルダにNEC AI Acceleratorのファームウェアアップデート用のファイルを配置します。下記の構成で配置してください。

    • フォルダ1

      NEC AI Acceleratorのブートローダ(ファイル名:uboot.tar.gz)

      ブートローダのハッシュファイル(ファイル名:uboot.tar.gz.hash)

      ブートローダ、ファームウェアのアップデート用スクリプト(ファイル名:osupdate.sh)

      配布パッケージ実行(ブートローダ)用スクリプト(ファイル名:update_bootloader.sh)

    • フォルダ2

      NEC AI Acceleratorのファームウェア(ファイル名:update.tar)

      ファームウェアのハッシュファイル(ファイル名:update.tar.hash)

      ブートローダ、ファームウェアのアップデート用スクリプト(ファイル名:osupdate.sh)

      配布パッケージ実行(ファームウェア)用スクリプト(ファイル名:update_fw.sh)

ブートローダのアップデート

NEC AI Acceleratorのブートローダをアップデートします。

ブートローダとファームウェアのどちらもアップデートする場合は、必ず先にブートローダをアップデートしてください。

ブートローダアップデート用のパッケージ登録

ブートローダアップデート用の配布パッケージを登録します。

パッケージ登録画面で、下記の表を参照し、各項目を指定後、「追加」ボタンを押下します。

配布パッケージ登録-登録確認-メッセージで「OK」ボタンを押下します。

項目名 説明
パッケージ名 パッケージ名を指定します。重複不可です。最大256文字です。
パッケージ種別 パッケージ種別を指定します。 「ソフトウェア」を指定します。
説明 パッケージの説明を指定します。最大1023文字です。
項目名 説明
ダウンロード先ディレクトリ パッケージの格納先ディレクトリパスをフルパスで指定します。「/tmp」を指定します。
配布完了後にダウンロードしたファイル/ディレクトリを削除する コマンド実行後に配布したファイルを削除するかどうかを指定します。チェックを外します。
配布ファイル/ディレクトリパス 配布対象ファイル/フォルダのパスをフルパスで指定します。EDMマネージャでの事前準備で配置したフォルダ1をフルパスで指定します。
項目名 説明
コマンド 指定不要です。
コマンドオプション 指定不要です。
作業ディレクトリ 指定不要です。
戻り値(正常終了) 指定不要です。
標準出力 指定不要です。
項目名 説明
コマンド ファイルを対象のエッジ機器にダウンロードした後に実行するコマンドラインを指定します。「/usr/bin/sudo」を指定します。
オプション コマンドのオプションを指定します。「/bin/sh ./update_bootloader.sh」を指定します。
作業ディレクトリ 指定不要です。
終了条件 指定不要です。
標準出力 指定不要です。
コマンド待ち合わせ 指定不要です。

ブートローダアップデート用のタスク登録・実行

ブートローダアップデート用のパッケージ登録で作成したパッケージとアップデート対象のエッジ機器を指定して、ブートローダアップデート用のタスクを登録・実行します。

下記の表を参照し、各項目を指定後、「追加」ボタンをクリックします。

配布タスク登録-登録確認-メッセージで「OK」ボタンをクリックします。

項目名 説明
タスク名 配布タスク名を指定します。重複不可です。最大256文字です。
タスク種別 配布タスク種別を指定します。put:put型の配布タスクとして登録します。
get:get型の配布タスクとして登録します。
説明 配布タスクの説明を指定します。最大1023文字です。
項目名 説明
実行タイミング 配布タスクを登録後、手動実行するか、即時実行するかを指定します。
同時実行数 配布タスクの宛先同時実行数を指定します。最大値は1000です。 タスク種別が「put」の場合のみ指定可能です。
配布タイムアウト時間 配布タスクの配布タイムアウト時間を秒単位で指定します。最大値は86400です。 タスク種別が「put」の場合のみ指定可能です。
タスク実行タイムアウト時間 タスクの実行タイムアウト時間を指定します
進捗状況 エッジ機器でのタスク実行の進捗状況を通知するかを指定します。通知する 通知しない
タスク同時実行時の制御 エッジ機器でタスク実行に後続のタスクが通知された場合の制御を指定しますエラーにする 先行タスクの終了を待つ
項目名 説明
配布パッケージ 配布するパッケージを指定します。ブートローダアップデート用のパッケージ登録で作成したパッケージを指定します。
項目名 説明
配布先 配布タスクの宛先を指定します。アップデート対象のエッジ機器を指定します。 タスク種別が「put」の場合のみ指定可能です。

実行タイミングで「手動実行」を選択した場合は、ファームウェアアップデートを実行する際にタスク開始を参照してタスクを開始してください。

タスク種別で「get」を選択した場合は、タスク開始後にCONNEXIVE Edge Device Management イメージファイル内の「document\ja\command\dist_cmd_top.html」‐「配布タスク実行」を参照してタスクを実行してください。

ブートローダアップデート結果の確認

ブートローダアップデート用のタスク登録・実行で実行したブートローダアップデート用のタスクの結果を確認します。

  1. 該当タスクのタスク結果画面を表示し、アップデート対象のエッジ機器の最新ステータスが「完了」となっていることを確認します。

    項目名 説明
    エッジID エッジID
    エッジ名 エッジ名
    最新ステータス タスクの最新ステータス
    進捗状況 エッジ機器上でのタスク実行状況
    ステータス更新日時 配布結果ステータスの更新日時

ファームウェアのアップデート

NEC AI Acceleratorのファームウェアをアップデートします。

ブートローダとファームウェアのどちらもアップデートする場合は、必ず先にブートローダをアップデートしてください。

ファームウェアアップデート用のパッケージ登録

ファームウェアアップデート用の配布パッケージを登録します。

パッケージ登録画面で、下記の表を参照し、各項目を指定後、「追加」ボタンを押下します。

配布パッケージ登録-登録確認-メッセージで「OK」ボタンを押下します。

項目名 説明
パッケージ名 パッケージ名を指定します。重複不可です。最大256文字です。
パッケージ種別 パッケージ種別を指定します。 「ファームウェア」を指定します。
説明 パッケージの説明を指定します。最大1023文字です。
項目名 説明
ダウンロード先ディレクトリ パッケージの格納先ディレクトリパスをフルパスで指定します。「/update」を指定します。
配布完了後にダウンロードしたファイル/ディレクトリを削除する コマンド実行後に配布したファイルを削除するかどうかを指定します。チェックを外します。
配布ファイル/ディレクトリパス 配布対象ファイル/フォルダのパスをフルパスで指定します。EDMマネージャでの事前準備で配置したフォルダ2をフルパスで指定します。
項目名 説明
コマンド 指定不要です。
コマンドオプション 指定不要です。
作業ディレクトリ 指定不要です。
戻り値(正常終了) 指定不要です。
標準出力 指定不要です。
項目名 説明
コマンド ファイルを対象のエッジ機器にダウンロードした後に実行するコマンドラインを指定します。「/usr/bin/sudo」を指定します。
オプション コマンドのオプションを指定します。「/bin/sh ./update_fw.sh」を指定します。
作業ディレクトリ 指定不要です。
終了条件 指定不要です。
標準出力 指定不要です。
コマンド待ち合わせ 指定不要です。

ファームウェアアップデート用のタスク登録・実行

ファームウェアアップデート用のパッケージ登録で作成したパッケージとアップデート対象のエッジ機器を指定して、ファームウェアアップデート用のタスクを登録・実行します。

下記の表を参照し、各項目を指定後、「追加」ボタンをクリックします。

配布タスク登録-登録確認-メッセージで「OK」ボタンをクリックします。

項目名 説明
タスク名 配布タスク名を指定します。重複不可です。最大256文字です。
タスク種別 配布タスク種別を指定します。put:put型の配布タスクとして登録します。
get:get型の配布タスクとして登録します。
説明 配布タスクの説明を指定します。最大1023文字です。
項目名 説明
実行タイミング 配布タスクを登録後、手動実行するか、即時実行するかを指定します。
同時実行数 配布タスクの宛先同時実行数を指定します。最大値は1000です。 タスク種別が「put」の場合のみ指定可能です。
配布タイムアウト時間 配布タスクの配布タイムアウト時間を秒単位で指定します。最大値は86400です。 タスク種別が「put」の場合のみ指定可能です。
タスク実行タイムアウト時間 タスクの実行タイムアウト時間を指定します
進捗状況 エッジ機器でのタスク実行の進捗状況を通知するかを指定します。通知する 通知しない
タスク同時実行時の制御 エッジ機器でタスク実行に後続のタスクが通知された場合の制御を指定しますエラーにする 先行タスクの終了を待つ
項目名 説明
配布パッケージ 配布するパッケージを指定します。ファームウェアアップデート用のパッケージ登録で作成したパッケージを指定します。
項目名 説明
配布先 配布タスクの宛先を指定します。アップデート対象のエッジ機器を指定します。 タスク種別が「put」の場合のみ指定可能です。

実行タイミングで「手動実行」を選択した場合は、ファームウェアアップデートを実行する際にタスク開始を参照してタスクを開始してください。

タスク種別で「get」を選択した場合は、タスク開始後にCONNEXIVE Edge Device Management イメージファイル内の「document\ja\command\dist_cmd_top.html」‐「配布タスク実行」を参照してタスクを実行してください。

ファームウェアアップデート結果の確認

ファームウェアアップデート用のタスク登録・実行で実行したファームウェアアップデート用のタスクの結果を確認します。

  1. 該当タスクのタスク結果画面を表示し、アップデート対象のエッジ機器の最新ステータスが「完了」となっていることを確認します。

    項目名 説明
    エッジID エッジID
    エッジ名 エッジ名
    最新ステータス タスクの最新ステータス
    進捗状況 エッジ機器上でのタスク実行状況
    ステータス更新日時 配布結果ステータスの更新日時