Armadilloフォーラム

swupdateを用いたSW更新試験の効率的な実施について

tmygt

2024年9月11日 8時49分

swupdateを自社のアプリケーションから呼び出すようにしており、この機能の試験を検討しています。
swupdateでは古いSWUファイルをインストールできないため、複数回更新の試験をする場合に、更新回数に応じてバージョンを変更したSWUファイルを用意しなければならず、手間がかかると考えています。例えば下記のようなことは実現できないでしょうか?

- 古いSWUで強制的に上書きする
- 書き込み済みのバージョン番号のみ、古いものに変更する

ご確認よろしくお願い致します。

コメント

at_dominique.m…

2024年9月11日 9時43分

tmygtさん

> swupdateを自社のアプリケーションから呼び出すようにしており、この機能の試験を検討しています。
> swupdateでは古いSWUファイルをインストールできないため、複数回更新の試験をする場合に、更新回数に応じてバージョンを変更したSWUファイルを用意しなければならず、手間がかかると考えています。例えば下記のようなことは実現できないでしょうか?
>
> - 古いSWUで強制的に上書きする
> - 書き込み済みのバージョン番号のみ、古いものに変更する

すみません、swupdate の機能としてはどちらも簡単にできません。

対応としては二つの方法を考えれます:
- そもそもバージョンを更新したくないというより、手動でバージョンをあげるのは手間のが問題と認識していますが、SWU ファイルをビルドする度に自動的にバージョンをあげれば問題ないと思いますがいかがでしょうか。
swdesc_option version=... でかかれたファイルであれば mkswu --update-version file.desc でバージョンを更新することはできますので、mkswu で swu をビルドする直前に実行していただければい自動更新は可能です。VSCode の開発フローではそうしています。
(複数のバージョンを管理する場合は、内容を複数の desc ファイルで管理していただいて mkswu file1.desc file2.dec で一つの swu にまとめることはできます)

- どうしても同じバージョンを再インストールしたい場合は Armadillo の /etc/sw-versions からそのバージョンを削除すれば再びインストールできます。

よろしくお願いします。

tmygt

2024年9月11日 10時11分

マルティネさん

回答ありがとうございます。

> - そもそもバージョンを更新したくないというより、手動でバージョンをあげるのは手間のが問題と認識していますが、SWU ファイルをビルドする度に自動的にバージョンをあげれば問題ないと思いますがいかがでしょうか。

説明が不足していたので補足します。試験時に大量のSWUを生成/管理するのが手間だと考えています。
提案いただいた方法だと生成のコストが下がりそうですが、大量のSWUを管理する手間が残るので避けたいです。

> - どうしても同じバージョンを再インストールしたい場合は Armadillo の /etc/sw-versions からそのバージョンを削除すれば再びインストールできます。

こちらが良いかと思いました。バージョンの削除について質問です。
sw-versions は下記のような状態です。

armadillo:~# cat /etc/sw-versions
base_os 3.19.1-at.1
boot 2020.4-at22
extra_os.initial_setup 2
extra_os.setup_encryption 1
hoge 0.0.5-dev.15
extra_os.hoge 0.0.5-dev.15

1. 削除とは (1) 行全体を削除することでしょうか? (2) バージョン記述を古いバージョンに書き換えることでしょうか?
2. base_os, boot, extra_os.initial_setup, extra_os.setup_encryption の行も編集して問題ないでしょうか

at_dominique.m…

2024年9月11日 12時28分

tmygtさん

> 説明が不足していたので補足します。試験時に大量のSWUを生成/管理するのが手間だと考えています。
> 提案いただいた方法だと生成のコストが下がりそうですが、大量のSWUを管理する手間が残るので避けたいです。

なるほど、開発の段階ではなくいずれの SWU を何かの順番に入れ替えて試験をする時ですね。
失礼しました。

> 1. 削除とは (1) 行全体を削除することでしょうか? (2) バージョン記述を古いバージョンに書き換えることでしょうか?

書き換えたいバージョン記述の行だけを削除してください。

> 2. base_os, boot, extra_os.initial_setup, extra_os.setup_encryption の行も編集して問題ないでしょうか

削除しても大きい問題になりませんが、Armadillo Base OS のダウングレード防止をなくしたり、必要以上にブートローダーを書き換えることになりますので残すことを推奨しています。

よろしくお願いします

tmygt

2024年9月11日 16時01分

マルティネさん

回答ありがとうございます。
教えていただいた方法を試してみます。