Armadillo Base OSセミナー
株式会社アットマークテクノ
www.atmark-techno.com

目次
第１部：Armadillo Base OSについて
第２部：Armadilloの準備
第３部：アプリケーションの作成
第４部：ソフトウェアアップデート設定
第５部：インストールディスクの作成
第６部：参考情報© Atmark Techno, Inc.

p.2

第１部：Armadillo Base OSについて

第１部の内容

・IoT機器を運用する為に考える事・Armadillo Base OSの概要
・コンテナについて© Atmark Techno, Inc.

p.4

IoT機器向けのOSとは？
IoT機器にはDebian/Ubuntu由来の汎用ディストリビューションが多い
IoT機器から見た汎用ディストリビューション
・デスクトップ用途やサーバ用途に便利に作られている⇒IoT機器としては不要なものが多い（脆弱性の懸念）

・OSのサイズが大きすぎる⇒安さが求められるIoT機器はストレージ容量が限られる

・アップデート機能やリカバリ機能が無い⇒IoT機器が脆弱性に対応していく為には必須

・OSのサポート期間が決まっている(5年程度)⇒IoT機器は5年では運用期間が短すぎる

長期に渡って運用するIoT機器向けのOSには向いていない？
© Atmark Techno, Inc.

p.5

脆弱性対策は？
脆弱性対策を怠ると・・・・
・脆弱性を狙った攻撃を受ける
・DDoS攻撃を仕掛ける端末として利用される・情報を抜き取られる/改竄される攻撃から守る為には…
脆弱性への対応が必要（＝アップデート）

常に最新の状態が望ましいが、アップデートには課題が多い
・リモートアップデートの機能が無く手作業
・アップデートが失敗すると現地での作業が必要
・容易に立ち入ることが出来ない場所にある
・アップデートファイルが大きすぎる(通信断、アップデートに時間がかかる)© Atmark Techno, Inc.

つまり、・リモート/ローカルアップデート
・失敗時のリカバリ・最小単位のアップデートが出来る事が望ましい
p.6

IoT機器を安定運用する為には？
できれば他に任せたい事
自分でやらないといけない事
PoC段階では検討されない事

実運用に必要な内容

PoCでの実施内容

運用PoCで実施

ソフトウェアハードウェア© Atmark Techno, Inc.

p.7

IoT機器向けの新OS
長期安定運用とセキュリティ対策が可能な
IoT機器向けのOSとしてを新たに開発しました© Atmark Techno, Inc.

p.8

IoT機器特化の「Armadillo Base OS」
アップデート機能を標準搭載•••

イメージ二重化でロールバック可能(アップデート失敗でもリカバリー)
差分更新機能で最小データ転送
多様なアップデート手段(ネットワーク/USB/SD)

Server

モダンなソフトウェア環境

Docker Hub・アプリ開発に集中できる(OS部分は最適化済み)
・Docker Hubのコンテナを利用可能
・(A6E)ゲートウェイコンテナを使ってIoTアプリも簡単に実現
・(G4/X2)GUIアプリはFlutterで開発

updateソフトウェア
アップデートネットワークマネージャー

コンテナ
エンジン

長期で安定運用するために••••OSの長期メンテナンス
突然の電源断でも壊れにくい
堅牢なファイルシステム
プログラム領域のリードオンリー化
運用ログの記録

多面的なセキュリティ機能
Linuxベースのコンテナ型OSHardware© Atmark Techno, Inc.

•••••

OSコンパクト化で脆弱性を限定
コンテナ構造でサンドボックス化
セキュアブートで改ざん防止
セキュアエレメントで個体認証
OP-TEEのセキュアな実行環境
p.9

ソフトウェアアップデート機能
ソフトウェアアップデートはリモート/ローカルそれぞれでアップデートが可能（詳細は第4部で解説）■アップデート対象
ファイル単体からOSのみ、コンテナ単位やコンテナの差分アップデートも可能
eMMC(xxGB ストレージ)■アップデート方法
app

高機能な
リモートアップデート

filedB

簡易型のリモートアップデート

file

hawkBitサーバー

diff''
diff’

Web
サーバー

コンテナ
0

file

ローカルでのアップデート

SD

x.xGB

log

firm

50MB

200MB
GPU

コンテナ
1

VPU

コンテナ
nNPU

OS

300MB x2

Bootloader

32MB x2

fileUSB
署名済みイメージ差分アップデートも可能「署名されたイメージ」を検証して書き込む (改ざん防止)© Atmark Techno, Inc.

U-Bootp.10

ロールバック機能
ロールバック機能は自動(または手動)でアップデート前のバージョンに戻って起動する仕組み
Armadillo Base OSはコンテナ / OS領域 /Bootloader領域は二面化により1回分のバックアップが存在し、ロールバック機能によりリカバリが可能

アップデート中の電源断などで正常起動できない場合に自動で前のバージョンにロールバック

eMMC(10GB ストレージ)app

更新

9.2GBコンテナ
コンテナ 00更新
OS

ロールバック可能

ロールバック可能

50MB

200MB

VPU

コンテナ
0コンテナ
1コンテナ
nOS

Base OSBase OS

firm

GPU

配信
サーバー

log

NPU

OS

300MB x2

Bootloader

32MB x2

更新

Bootloader
Bootloader-A U-Boot

U-Boot

ロールバック可能© Atmark Techno, Inc.

U-Bootp.11

様々なセキュリティ対策
アップデート機能の標準化（脆弱性の回避）

コンテナ構造(サンドボックス化)

image

eMMC(xxGB ストレージ)

SIGN

SD

log

firm

50MB

200MB

appxGBソフトウェアへの署名（不正ソフトの書込み禁止）

暗号化ストレージ(プログラム/データ保護)

ノーマルワールドGPU

コンテナ構造（明示的なアクセス権限）

VPU

コンテナ
0コンテナ
1コンテナ
nNPU

セキュアワールド

app

secure app

Linux

OP-TEE

OP-TEE

ソフトウェアアップデート
コンテナエンジン

OS300MB x2

セキュアブート(改ざん防止)Bootloader

32MB x2

OP-TEE(セキュア空間のアプリ)

ネットワークマネージャー
Linux 5.10

約200MB(圧縮配信時:約100MB)

U-Boot
CERT

コンパクト化 (脆弱性の限定)

NXP SE050© Atmark Techno, Inc.

SecureElement

セキュアエレメント(デバイス真正性の証明)
p.12

コンテナについて

コンテナとはコンテナとはカーネルの機能を使用して、ファイルやユーザー、プロセス、ネットワークなどをコンテナ単位で管理する仕組みです。

コンテナの特徴・コンテナ内の開発環境はユーザーで選択可能⇒DebianやUbuntuといった環境も選択可能

コンテナ(＝アプリケーション開発領域)・コンテナはコンテナ外部に対してアクセス制限あり⇒権限を与えない限り、外部へアクセス不可・コンテナ内の依存関係はコンテナ内でクローズされる⇒コンテナ(アプリ)として持ち出して他の機器に使えるアップデートにも使用可能・コンテナを使用する事による処理遅延はほぼ無い⇒プロセスは通常のLinuxと同じ© Atmark Techno, Inc.

船(＝Armadillo Base OS)
コンテナの簡単なイメージ

p.14

コンテナ(アプリ)開発イメージ①コンテナを作る際、コンテナイメージという動作環境テンプレートを使用します。
（Docker Hubについては第3部で説明）②ここでは例としてdebian:bullseyeのコンテナイメージをArmadilloにダウンロードします。
③そのコンテナイメージでコンテナを作成するとコンテナ内はdebian:bullseyeの環境になります。
(debianのコマンド、パッケージなど使用可能)④コンテナ内に従来通りアプリケーションを開発します。
⑤コンテナ(アプリ)が完成したらコンテナイメージとして保存します。
(開発済みのコンテナとしてアップデートなどで他の機器にも展開可能)© Atmark Techno, Inc.

Docker Hub
コンテナイメージ
debian:bullseye

コンテナイメージ
ubuntu:23.04

podman pullでダウンロードeMMC(app領域)
コンテナイメージ
debian:bullseye

コンテナイメージ
user_app:v1.0.0

コンテナ作成イメージ保存コンテナ（debian:bullseye環境）
追加したインストール
パッケージ
追加した
スクリプト等

アプリ開発時に追加
p.15

第１部まとめ▪ IoT機器を運用する為に考える事
・長期運用とセキュリティに対応▪ Armadillo Base OSの特徴
・アップデート/ロールバック機能
・長期安定運用・セキュリティ対策▪コンテナについて・コンテナの概要
・コンテナ(アプリ)開発のイメージ© Atmark Techno, Inc.

p.16