Armadilloフォーラム

ルートファイルシステムイメージのビルド  で作成したイメージの書き込みについて

masa.yamaguchi

2025年7月16日 13時05分

==========
製品型番:Aramadillo-610
ABOSバージョン:3.20.3-at.8
カーネルバージョン: 5.10.233
その他:ATDE9を使用
==========

<参考URL>
https://manual.atmark-techno.com/armadillo-610/armadillo-610_product_manual_ja/ch06.html#sct.build-alpine-rootfs

上記では、Armadillo-610 インストールディスクイメージ + ABOSの独自修正 + コンテナアプリ 
一式が入ったSWUイメージが作成できるという認識で宜しいでしょうか。

その場合、上記SWUは、RESTAPI(POST "/api/swu/install/url")を使用して、インストールできますでしょうか。
(インストールにあたっての制限も併せてご教示ください(大きいSWUはインストール不可など))

コメント

at_satoshi.ohta

2025年7月16日 14時46分

太田です。

> 上記では、Armadillo-610 インストールディスクイメージ + ABOSの独自修正 + コンテナアプリ 
一式が入ったSWUイメージが作成できるという認識で宜しいでしょうか。

いえ、baseos-600-[VERSION].tar.zst はあくまでルートファイルシステムである ABOS を含むアーカイブファイルであるため、「5. インストール」の swupdate による方法の例では ABOS のみが更新されます。

製品マニュアルの例の desc ファイルのコマンドの末尾にコンテナイメージの tar アーカイブを SWU イメージに含めるコマンドを追記すれば、同じ SWU イメージに独自修正した ABOS + コンテナアプリを含めることは可能です。
例:my_project.tarはコンテナイメージの tar アーカイブ

[ATDE ~/build-rootfs-[VERSION]]$ vi OS_update.desc
swdesc_tar --version base_os [VERSION] --preserve-attributes baseos-600-[VERSION].tar.zst
swdesc_embed_container --version my_project 1 my_project.tar

> その場合、上記SWUは、RESTAPI(POST "/api/swu/install/url")を使用して、インストールできますでしょうか。
(インストールにあたっての制限も併せてご教示ください(大きいSWUはインストール不可など))

少なくとも Armadillo にインストール出来る範囲内の大きさの SWU イメージであればインストールできるはずです。

どうぞよろしくお願いいたします。

太田 様

masa.yamaguchiです。

ご回答ありがとうございます。
ご提示いただいた内容で検討いたします。

at_satoshi.ohta

2025年7月17日 7時48分

太田です。

説明が不足していたので追記します。
swdesc_embed_container <コンテナイメージの tar アーカイブ> はあくまでコンテナイメージのみですので、swdesc_files コマンドでコンテナにマウントするファイルも SWU ファイルに含める必要があります。

例えば、ABOSDE で作成したプロジェクトの desc ファイルが参考になるかもしれません。
以下は python プロジェクトの例です。

atmark@atde9:~/my_project$ cat swu/app.desc
swdesc_option component=my_project
swdesc_option version=1
:(省略)
 
swdesc_files --extra-os swu/app
swdesc_command "rm -rf /var/app/rollback/volumes/my_project"
swdesc_files --dest "my_project" "swu/dest"
swdesc_embed_container "swu/my_project.tar"

分かりづらいですが、swudesc_files に --extra-os をつけた場合は rootfs の / にコピーされます。

swdesc_files --extra-os swu/app

この場合は、ATDE 上に swu/app/etc/atmark/example.conf があった場合は、 Armadillo の ABOS 上の /etc/atmark/example.conf にコピーされます。

swdesc_files --dest "my_project" "swu/dest"

こちらは --extra-os がついていないので、Armadillo の ABOS 上のユーザーデータディレクトリ /var/app/rollback/volumes に my_project ディレクトリが作成されて、/var/app/rollback/volumes/my_project に ATDE 上の swu/dest 以下のファイルがコピーされます。

どうぞよろしくお願いいたします。