今回の記事ではMOXのUC-2200AシリーズをMIL3→MIL4にアップグレードする手順を説明します。
さ、FAを楽しもう!

前書き
いつも私の技術ブログとYouTubeチャンネルをご覧いただき、心より感謝申し上げます。また、いまFullさん(full@桜 八重 (@fulhause) / X)と共に毎週水曜日の夜にお届けしている「高橋クリス」ラジオ番組を運営しています。
技術は独り占めせず、届けるもの
私たちは工場の生産技術や制御に関する技術情報を、ブログや動画などで無料公開しています。「知識は誰でもアクセスできるべき」という信念のもと、現場で役立つ具体的なノウハウやトラブル事例などを発信してきました。すべて無料で続けているのは、「知らなかったせいで困る人」を少しでも減らしたいからです。
また、もしあなたの現場で…
- 「このPLCとデバイスの組み合わせ、ちゃんと動くのかな?」
- 「EtherCAT通信でうまくいかない部分を検証してほしい」
- 「新しいリモートI/Oを試したいけど社内に検証環境がない」
など、困っている構成や試してみたいアイデアがあれば、ぜひお知らせください。機器の貸出や構成の共有が可能であれば、検証し、記事や動画で発信します(ご希望に応じて匿名対応も可能です)。
支援のかたち
現在、私達の活動はほぼ無償で続けており、記事や動画の制作には、時間と検証環境の整備が必要です。この活動を継続的にコンテンツを提供するためには、皆様の温かいご支援が大変重要です。
メンバーシップ(ラジオの応援)
Fullさんとのラジオをより充実させるための支援プランです。
https://note.com/fulhause/membership/join
Amazonギフトリスト
コンテンツ制作に必要な機材・書籍をリストにしています。
https://www.amazon.co.jp/hz/wishlist/ls/H7W3RRD7C5QG?ref_=wl_share
Patreon(ブログ・動画活動への応援)
月額での小さなご支援が、記事の執筆・検証環境の充実につながります。
https://www.patreon.com/user?u=84249391
Paypal
小さな支援が大きな力になります。
https://paypal.me/soup01threes?country.x=JP&locale.x=ja_JP
知ってたら助かること、届けたいだけです
あなたの応援が、知識の共有をもっと自由で持続可能なものにしてくれます。これからもどうぞよろしくお願いします。
soup01threes*gmail.com
技術はひとりじゃもったいない。
Moxa Industrial Linux ?
Moxa Industrial Linux(MIL) は、産業用途向けプロジェクトの立ち上げを迅速化するために Moxa が開発した、高性能な産業用 Linux ディストリビューションです。標準 Debian をベースとしているため、アプリケーション開発や移行がしやすく、さらに Moxa ハードウェア向けに最適化されていることで、高い性能と長期的なシステム運用を実現します。
また、MIL Secure プラットフォームは IEC 62443-4-2 Security Level 2 および EN 18031(RED-DA)の無線サイバーセキュリティ要件に対応しております。
さらに、MIL にはセキュリティパッチとバグ修正を含む 10 年間のサポートが標準で付属しています。これは Debian 標準の 5 年サポートの 2 倍に相当し、追加費用なしで利用可能です。そのため、システム全体の保有コストを大きく抑えることができます。加えて、Moxa は The Linux Foundation® と Civil Infrastructure Platform(CIP)プロジェクトのメンバーとして、より安全で信頼性が高く、持続可能なプロジェクト運用を支えています。

10年間の長期サポート
Moxa Industrial Linux は、システム全体を何度もアップグレードすることなく、同一のカーネルバージョンと Debian ユーザースペースを長期間維持できるよう設計されています。さらに、10年にわたるライフサイクル全体を通して提供される Moxa Industrial Linux のサポートサービスには、以下のようなセキュリティ更新およびバグ修正が含まれます。
- 重要なセキュリティパッチ
- 優先度の高いバグ修正

最適化された Debian パフォーマンス
MIL は、Debian が持つ実績ある安定性、高いパフォーマンス、豊富なパッケージ群に、Moxa 独自のハードウェア・ソフトウェア最適化技術を融合しています。この垂直統合により、一般的な OS ディストリビューションと比べて、システム性能および CPU 性能をさらに高め、オープンソースの柔軟性と産業用途に求められる高い信頼性・性能を両立します。

信頼性の高いネットワーク
MIL には、Moxa Connection Manager(MCM)ツールに、フェイルオーバー機能付きのネットワーク接続キープアライブ機能が標準搭載されています。
プロファイル間フェイルオーバー
ネットワークインターフェースに対して複数のプロファイルを作成すると、MCM はプロファイルの優先順位設定に従って自動的にフェイルオーバーを行います。

インターフェース間のフェイルオーバー/フェイルバック
複数のバックアップ用インターフェース(Ethernet、Wi-Fi、セルラー)を設定しておくと、接続に問題が発生した際に、MCM がインターフェースの優先順位設定に従って自動的にフェイルオーバーを実行します。さらに、接続が復旧すると自動的にフェイルバックします。

自動フェイルバック機能付きデュアルファイルシステム
MIL には自動システムフェイルバック機能が備わっており、重要なアップデート中の停電や、重要ソフトウェアへの不正な変更によって Secure Boot が失敗し、システムが起動できなくなった場合でも、直近の安全な正常動作状態へシステムを復元します。

堅牢なファイルシステム
Moxa Industrial Linux に統合された堅牢なファイルシステムは、ファームウェアのアップグレード/ダウングレード時に、以下のような追加保護を提供します。
- ファームウェアのアップグレード/ダウングレード中に停電が発生した場合でも、システム動作を確実に維持
- システムに組み込まれた、高速かつ安全な工場出荷時設定へのリセット機能
仕組み
レイヤー構造
統合レイヤー(Merged Layer):ユーザーが参照する表示レイヤー。下位レイヤーと上位レイヤーを統合した内容が見えます。
上位レイヤー(Upper Layer):新しく作成されたファイルや、変更されたファイルが保存される領域です。
下位レイヤー(Lower Layer):工場出荷時のデフォルトファイルが保存される読み取り専用領域です。

ファイルシステム区分
- 読み書き可能ファイルシステム
- 読み取り専用ファイルシステム
障害発生時の動作
- 停電発生
- 上位レイヤーでファイル破損を検出
- 起動時に自動で破損を修復
柔軟で安全なソフトウェア更新
Secure APT updates
MIL は、APT を利用した安全な OTA(Over-the-Air)パッケージ更新に対応しています。パッケージの取得元は、Moxa および Debian の GPG 署名によって検証され、真正性と完全性が確保されます。

MSU による効率的な更新
MSU は、オンラインおよびオフラインの更新パック、完全なリリースノート、パッケージバージョン差分の要約を含む、統一された更新ワークフローを提供します。さらに、デジタル署名の検証機能と自動復旧メカニズムを内蔵しており、遠隔地への導入環境でも安全かつ信頼性の高い更新を実現します。

インタフェース
MOXAのUC-2200AシリーズにはEthernetインタフェースが2つあります。

今回の記事ではLAN2を使用します。

SSH ログイン
MOXAのUC-2200AシリーズをSSH経由でLOGINします。DefaultのLogin情報では:
- username:moxa
- default password:moxa
そして下記のコマンドでMOXAのUC-2200AシリーズをSSHからLoginします。
ssh moxa@192.168.4.127 |
|---|
Done!自分の手元にあるUC-2200AがMIL3ですね。
Upgrade From MIL3→MIL4
次はMOXAのUC-2200AをMIL3→MIL4にアップグレードします。
Download MIL4 Images
下記のLinkからMOXA UC-2200AのMIL4イメージFILEをDownloadしてください。


Automatic Installation From a USB or SD
ブートローダーメニューから手動でシステムイメージをインストールするだけでなく、OS上で sudo mx-bootloader-mgmt image_auto_installコマンドを実行することで、イメージのインストールを開始することもできます。
この処理を開始すると、Armベースのコンピュータは、接続されているUSDまたはSDに指定されたシステムイメージを自動で書き込みます。新しいイメージは、次回のシステム起動時から使用できます。
SD CARDセットアップ
USBとSDカードでサポートされているファイルシステムは、それぞれFAT32とext4です。
私が使用したのは32GBのBUFFALO Micro SD CARDです。

Linux PC Micro SD CARDをext4化
今回自分が使用したのはラスパイです。Micro SD CARD が /dev/sda だと仮定する前提で説明します。
アンマウント
下記のコマンドでMicro SD CARDをアンマウントします。
sudo umount /dev/sda1 2>/dev/null |
|---|
既存パーティションを全部消す
sudo parted /dev/sda –script mklabel msdos
|
|---|
ext4 でフォーマットする
sudo mkfs.ext4 -F -L MOXA /dev/sda1 |
|---|
SD CARD確認
lsblk -f /dev/sda
|
|---|
イメージとハッシュを入れる
mkdir -p ~/moxa_sd
|
|---|
コピー結果を確認する
ここはすごく大事です。イメージFILEはちゃんとUSBにコピーしたかをチェックします。もし同じサイズでなければNGをPRINTしします。
recomputer@reComputer-R110x:~$ sudo cmp -s Downloads/IMG_UC-1200A-UC-2200A_MIL4_V1.0.0_Build_25123007.img /media/recomputer/MOXA/IMG_UC-1200A-UC-2200A_MIL4_V1.0.0_Build_25123007.img && echo OK || echo NG
|
|---|
MICRO SDカードの挿入
次はMOXAのUC-2200A本体に先ほど用意したMICRO SD カードを挿入します。

UC-2200A 側で確認
次はUC-2200A側を作業しましょう。
Partition確認
下図のコマンドでMOXA UC-2200AにMountしたデバイスのPartitionを確認します。
moxa@moxa-tbehb1094864:~$ sudo mx-interface–mgmt partition |
|---|
SD=SD CARD、USB=USBですが、SD_p1はSD CARDがPartition1つしかないことを示しています。もし複数のPartitionならSD_p1・SD_p2のように表示されます。また、現在IS_MOUNTEDでは”N”で表示され、つまりSDカードは認識されていますが、まだマウントしていません。

マウント
次は下記のコマンドでSDカードを自動マウントします。
moxa@moxa-tbehb1094864:~$ sudo mx-interface-mgmt disk SD set_automount true |
|---|
もう一回MOXA UC-2200AにMountしたデバイスのPartitionを確認し、SD_p1にもマウントされました。
moxa@moxa-tbehb1094864:~$ sudo mx-interface–mgmt partition |
|---|

外部デバイスの自動Boot設定
下記のコメントでMOXAのUC-2200AをSD CARDから起動するように設定します。
- -d SD:d Optionは外部デバイスの設定、今回はSD=SD CARD
- -f XXXX.img、外部デバイスに格納されているイメージFILE名
moxa@moxa-tbehb1094864:~$ sudo mx-bootloader-mgmt image_auto_install -d SD -f IMG_UC-1200A-UC-2200A_MIL4_V1.0.0_Build_25123007.img |
|---|
Done!
Warning: configuration has been set
|
|---|
最終確認
SD CARDにはMOXAからDownloadした以下のFILEをちゃんと格納されたかを確認してください。
- .img
- .img.sha512sum.bin.img
- .img.sha512sum.bin.signed

再起動
最後は下記のコマンドでMOXAのUC-2200Aを再起動します。
moxa@moxa-tbehb1094864:~$ sudo reboot |
|---|
結果
MOXAのUC-2200AのRDY LEDだけはしばらくオレンジ点灯し続け、大体そのMIL3→MIL4のアップグレードに大体5分くらいかかります。

Done!SSHからLoginしたらMOXAのUC-2200AがMIL4にアップグレードされました。
