---
title: 2.3 アプリケーションをファームウェア更新後も残す
description: "## 2.3 アプリケーションをファームウェア更新後も残す > ![note](…"
url: "https://manual.amnimo.com/docs/firmware-dev/2-3-dev/"
updated: "2026-11-09"
category: デベロッパーズマニュアル / 第2章　エッジゲートウェイのファームウェア
---

# 2.3 アプリケーションをファームウェア更新後も残す

## 2.3 アプリケーションをファームウェア更新後も残す

> ![note](https://manual.amnimo.com/wp-content/uploads/2026/11/note.png) **補足**: 本ページは Web 版で新しく追加した内容で、現在、開発部門で内容を検証しています。記載の手順で問題が生じた場合は、お問い合わせ窓口までご連絡ください。

**対象機種**: AX30 / AX11 / AX21 / AG10 / AG20 / AR10 / AR20

エッジゲートウェイに追加したアプリケーション、systemd のユニットファイル、フックスクリプト、apt でインストールしたパッケージが、ファームウェアを更新した後も残るかどうかは、置いた場所とファームウェアの操作によって決まります。本節では、操作ごとに何が残るかと、残すための方法を説明します。

> ![warning](https://manual.amnimo.com/wp-content/uploads/2026/11/warning.png) **注意**: ファームウェアの全体更新（`firmware area update`）では、rootfs 領域が初期化されます。rootfs 領域に置いたファイル（`/usr`、`/etc`、`/lib/systemd/system` など）と、ユーザーが独自にインストールしたパッケージは削除されます（『エッジゲートウェイシリーズ CLIユーザーズマニュアル』の『2.4.8 ファームウェアのパッケージを更新する』の「全体更新・差分更新について」）。
>
>
>
> 本書の『[3.1 フック処理の活用](/docs/utilization-dev/3-1-dev/#31-%E3%83%95%E3%83%83%E3%82%AF%E5%87%A6%E7%90%86%E3%81%AE%E6%B4%BB%E7%94%A8)』『[3.2 systemdを利用したサービス管理](/docs/utilization-dev/3-2-dev/#32-systemd%E3%82%92%E5%88%A9%E7%94%A8%E3%81%97%E3%81%9F%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E7%AE%A1%E7%90%86)』『[3.3 パッケージの作成をする](/docs/utilization-dev/3-3-dev/#33-%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%E3%81%AE%E4%BD%9C%E6%88%90%E3%82%92%E3%81%99%E3%82%8B)』『[3.11 Linuxカーネルのビルド方法](/docs/utilization-dev/3-11-dev/#311-linux%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%E3%81%AE%E3%83%93%E3%83%AB%E3%83%89%E6%96%B9%E6%B3%95)』の手順は、rootfs 領域にファイルを置きます。全体更新の後も使う場合は、本節の方法で残してください。

### 2.3.1 ファームウェアの操作と各領域

各領域のデバイスとマウントポイントは、『[2.1.1 ファイルシステム構成について](/docs/firmware-dev/2-1-dev/#211-%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E6%A7%8B%E6%88%90%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6)』を参照してください。

| 領域 | 主なマウントポイント | 全体更新 （`firmware area update`） | 差分更新 （`firmware package upgrade`） | エリア同期 （`firmware area sync`） |
| --- | --- | --- | --- | --- |
| 設定保存領域 | `/mnt/config/area0` `/mnt/config/area1` | 対象外（アムニモ設定情報は保持されます） | 対象外 | 対象外 |
| rootfs 領域 | `/` | **初期化**（ユーザーが追加したファイルとパッケージは削除されます） | 対象のパッケージだけを apt で更新します | コピー先のエリアの内容を削除して、コピーします |
| userfs 領域 | `/opt/local` | 対象外 | 対象外 | コピー先のエリアの内容を削除して、コピーします |
| 共有領域 | `/mnt/share`（`/var/log`、`/opt/common`） | 対象外 | 対象外 | 対象外 |
| SSD | `/media/ssd` など | 対象外 | 対象外 | 対象外 |

- 全体更新と差分更新の違いは、『エッジゲートウェイシリーズ CLIユーザーズマニュアル』の『2.4.8 ファームウェアのパッケージを更新する』を参照してください。
- エリア同期のコピーの対象は、rootfs 領域と userfs 領域です（『エッジゲートウェイシリーズ CLIユーザーズマニュアル』の『2.4.5 ファームウェアの冗長エリアを同期する』）。
- userfs 領域があるのは、amnimo G シリーズと amnimo R シリーズ（V1.3.2 以前）だけです。amnimo X シリーズと amnimo R シリーズ（V1.4.0 以降）には userfs 領域がありません。
- rootfs 領域と userfs 領域は、エリア0 とエリア1 で別のパーティションです（例: amnimo G シリーズの userfs 領域は、エリア0 が `/dev/mmcblk0p3`、エリア1 が `/dev/mmcblk0p4`）。片方のエリアに置いたファイルは、もう一方のエリアで起動したときには見えません。

### 2.3.2 残す方法を選ぶ

| 方法 | 向いているもの | 対象機種 | 参照 |
| --- | --- | --- | --- |
| archive.list に登録し、アムニモ設定情報と一緒に保存する | スクリプト、設定ファイル、ユニットファイル、小さな実行ファイル | 全機種 | [2.3.3](#233-archivelist-に登録して残す) |
| userfs 領域（`/opt/local`）に置く | 大きな実行ファイルやデータ | amnimo G シリーズ、amnimo R シリーズ（V1.3.2 以前） | [2.3.4](#234-userfs-領域に置く) |
| ファームウェアイメージに含める（amfwgen） | apt でインストールしたパッケージを含む環境一式。複数台へ同じ環境を展開する場合 | `amfwgen` が対応する機種（[2.3.5](#235-パッケージを残す) を参照） | [2.2](/docs/firmware-dev/2-2-dev/#22-%E3%82%A8%E3%83%83%E3%82%B8%E3%82%B2%E3%83%BC%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A4%E3%81%AE%E3%83%95%E3%82%A1%E3%83%BC%E3%83%A0%E3%82%A6%E3%82%A7%E3%82%A2%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B) |
| 全体更新の後にインストールし直す | deb パッケージ | 全機種 | [2.3.5](#235-パッケージを残す) |

### 2.3.3 archive.list に登録して残す

`/etc/amnimo/archive.list` に記載したファイルとディレクトリは、アムニモ設定情報を保存する（amsh の `config file save`）ときに、アムニモ設定情報と一緒に圧縮して設定保存領域に書き込まれます。設定保存領域の内容は、起動するたびに rootfs 領域へ書き戻されます。設定保存領域は全体更新の対象外なので、全体更新の後も、保存したファイルが書き戻されます。

仕組みと上限サイズは、『[2.1.3 追加ファイルの冗長領域への保存](/docs/firmware-dev/2-1-dev/#213-%E8%BF%BD%E5%8A%A0%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E5%86%97%E9%95%B7%E9%A0%98%E5%9F%9F%E3%81%B8%E3%81%AE%E4%BF%9D%E5%AD%98)』も参照してください。

#### 登録の手順

1. archive.list の末尾に、残したいファイルのパスを 1 行に 1 つずつ追記します。ディレクトリも指定できます。
   **実行環境**: エッジゲートウェイ
   ```
   admin@amnimo:~$ sudo vi /etc/amnimo/archive.list
   ```
   次は、『[はじめてのアプリ開発](/docs/getting-started-dev/getting-started-dev/#%E3%81%AF%E3%81%98%E3%82%81%E3%81%A6%E3%81%AE%E3%82%A2%E3%83%97%E3%83%AA%E9%96%8B%E7%99%BA)』で作成した実行ファイル、ユニットファイル、自動起動の設定（シンボリックリンク）を残す場合に追記する行です。
   ```
   /usr/local/sbin/amnimo-sample-app
   /etc/systemd/system/amnimo-sample-app.service
   /etc/systemd/system/multi-user.target.wants/amnimo-sample-app.service
   ```
2. amsh でアムニモ設定情報を保存します。
   **実行モード**: 管理者モード（`amnimo#`）
   **実行環境**: エッジゲートウェイ
   ```
   amnimo# config file save
   ```
3. 保存されたサイズを確認します。`startup-config.dat` は、アムニモ設定情報と archive.list に記載したファイルを圧縮したものです。
   **実行環境**: エッジゲートウェイ
   ```
   admin@amnimo:~$ ls -l /mnt/config/area0/startup-config.dat
   ```

#### 注意・補足

> ![warning](https://manual.amnimo.com/wp-content/uploads/2026/11/warning.png) **注意**:
>
>
>
> - archive.list に記載したファイルを変更した後は、必ず `config file save` で保存してください。起動するたびに、最後に保存した内容で rootfs 領域のファイルが書き戻されるため、保存せずに再起動すると変更が失われます。
> - 設定を初期化すると（工場出荷時設定に戻す操作を含む）、archive.list に記載したファイルは rootfs 領域から削除されます。
> - 圧縮後の合計が規定サイズ（amnimo G シリーズと amnimo R シリーズは 4MB、amnimo X シリーズは 2MB）を超えないようにしてください。archive.list には、出荷時から証明書や SSH の鍵などが登録されています。
> - 空白を含むパスは記載できません。存在しないパスは無視されます。
> - archive.list に記載したファイルは、複数台へ展開するためのファームウェアイメージからは除外できます（『[2.2.2 ファームウェアイメージの作成](/docs/firmware-dev/2-2-dev/#222-%E3%83%95%E3%82%A1%E3%83%BC%E3%83%A0%E3%82%A6%E3%82%A7%E3%82%A2%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8%E3%81%AE%E4%BD%9C%E6%88%90)』の `--exclude`）。

> ![note](https://manual.amnimo.com/wp-content/uploads/2026/11/note.png) **補足**: Linux のシェルから保存する場合は、`sudo amcfg save` を実行します（『エッジゲートウェイシリーズ CLIユーザーズマニュアル』の『11.1 アムニモ設定情報を制御する』）。

### 2.3.4 userfs 領域に置く

**対象機種**: AG10 / AG20 / AR10 / AR20（AR10 / AR20 は V1.3.2 以前）

userfs 領域（`/opt/local`）は全体更新の対象外です。大きな実行ファイルやデータは、userfs 領域に置くと全体更新の後も残ります。

- `/opt/local` の所有者は root です。ファイルを置くには sudo が必要です。
- ユニットファイルやフックスクリプトなど、決まった場所（rootfs 領域）に置く必要があるファイルは、[2.3.3](#233-archivelist-に登録して残す) の方法で残してください。
- userfs 領域はエリアごとに別のパーティションです。両方のエリアに同じ内容を置く場合は、エリア同期（`firmware area sync`）を実行します。エリア同期では、コピー先のエリアの rootfs 領域と userfs 領域の内容が削除されます。

### 2.3.5 パッケージを残す

apt や dpkg でインストールしたパッケージは rootfs 領域に入るため、全体更新で削除されます。次のどちらかで対応してください。

- **全体更新の後にインストールし直す**: インストールするパッケージと手順をスクリプトにまとめておき、全体更新の後に実行します。deb ファイルは userfs 領域や SSD など、全体更新の対象外の場所に保管します。
- **ファームウェアイメージに含める**: パッケージをインストールした環境から、amfwgen でファームウェアイメージを作成します（『[2.2 エッジゲートウェイのファームウェアイメージを作成する](/docs/firmware-dev/2-2-dev/#22-%E3%82%A8%E3%83%83%E3%82%B8%E3%82%B2%E3%83%BC%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A4%E3%81%AE%E3%83%95%E3%82%A1%E3%83%BC%E3%83%A0%E3%82%A6%E3%82%A7%E3%82%A2%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B)』）。弊社が公開する新しいファームウェアで全体更新すると、イメージに含めたパッケージも削除されます。新しいファームウェアに更新した環境で、イメージを作り直してください。

> ![note](https://manual.amnimo.com/wp-content/uploads/2026/11/note.png) **補足**: AG10 の FW 3.8.1 で `amfwgen --help` を実行すると、`--model` の候補として AG10、AG20、AR10 が表示されます。

> ![warning](https://manual.amnimo.com/wp-content/uploads/2026/11/warning.png) **注意**: パッケージをインストールする前に、`sudo apt -s install パッケージ名` で、削除されるパッケージ（`The following packages will be REMOVED:`）がないことを確認してください。アムニモのパッケージが削除されると、エッジゲートウェイが正常に起動しなくなる恐れがあります（『[3.3.3 パッケージのインストール／アンインストール](/docs/utilization-dev/3-3-dev/#333-%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%82%A2%E3%83%B3%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB)』）。

##### 関連項目

- [2.1 エッジゲートウェイのファイルシステム構成と冗長化](/docs/firmware-dev/2-1-dev/#21-%E3%82%A8%E3%83%83%E3%82%B8%E3%82%B2%E3%83%BC%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A4%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E6%A7%8B%E6%88%90%E3%81%A8%E5%86%97%E9%95%B7%E5%8C%96)
- [2.2 エッジゲートウェイのファームウェアイメージを作成する](/docs/firmware-dev/2-2-dev/#22-%E3%82%A8%E3%83%83%E3%82%B8%E3%82%B2%E3%83%BC%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A4%E3%81%AE%E3%83%95%E3%82%A1%E3%83%BC%E3%83%A0%E3%82%A6%E3%82%A7%E3%82%A2%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B)
- [5.2 正常に起動しない場合の対処](/docs/troubleshooting-dev/5-2-dev/#52-%E6%AD%A3%E5%B8%B8%E3%81%AB%E8%B5%B7%E5%8B%95%E3%81%97%E3%81%AA%E3%81%84%E5%A0%B4%E5%90%88%E3%81%AE%E5%AF%BE%E5%87%A6)
