Armadilloフォーラム

ABOS 自動ロールバック機能確認方法について

rikuya-h

2025年9月5日 17時54分

おせわになっております。

現在Armadillo G4にて検証・開発中ですが、
自動ロールバック機能の動作を確認したく考えております。
https://manual.atmark-techno.com/armadillo-iot-g4/armadillo-iotg-g4_pro…
上記マニュアルには

・rootfs にブートに必要なファイルが存在しない場合(/boot/Image, /boot/armadillo.dtb)
3回起動を試して「bootcount」サービスが1度も起動できなかった場合は、次の起動時にロールバックします。
 
・bootcount 機能は uboot の「upgrade_available」変数で管理されています。 bootcount 機能を利用しないようにするには、「u-boot の環境変数の設定」 を参照して変数を消します。
 
・ユーザーのスクリプトなどから、「abos-ctrl rollback」コマンドを実行した場合。

とありますが、手動実行による abos-ctrl rollback は試して実効性を確認しています。
ただ、自動ロールバックの動作も確認したく...

どのような検証方法・手順で実施すれば実効性を確認できますでしょうか?
ご教示頂けますと幸いです。

コメント

at_dominique.m…

2025年9月8日 10時22分

rikuya-hさん

お世話になっています、
マルティネです。

> 自動ロールバック機能の動作を確認したく考えております。
> https://manual.atmark-techno.com/armadillo-iot-g4/armadillo-iotg-g4_pro…

分かりにくくて申し訳ございません。
以前のバージョンでは、自動ロールバックが常に有効になっていて、リンクしていただいた説明通りに何回か起動が失敗するとロールバックが発生していました。
こちらの仕組みでは意図しない状態でもロールバックが発生していたので、改善を行って仕組みが代わりましたが、
新しいマニュアルを確認したところ、リンクしていただいた説明が削除されて、代わりの説明が見当たらないので、
これから追加させていただきます…

問い合わせありがとうございます。

> どのような検証方法・手順で実施すれば実効性を確認できますでしょうか?

今のデフォルト状態では、自動ロールバックが発生できるのは(SWUイメージによる)アップデートのインストール直後だけです。
初期状態以外で、特別な操作を行ってなかったら「abos-ctrl status」を実行すると、「rollback-status: OK: available, no auto-rollback」となっていると思います。
こちらの設定ですと、インストールするアップデートに問題なければロールバックは発生しにくいです。
例えば、アプリケーションを更新して、再起動するところに3回連続起動終わる前に電源を抜く(等の起動できない状態を真似する)場合にロールバックは発生しますが、その次の起動でしたら起動をいくら失敗させてもロールバックしません。

こちらのデフォルト状態では、ロールバック機能は存在しますが、あまり意識しなくていいと考えています。
何かの理由であえて古いバージョンに戻りたい場合は「abos-ctrl rollback --allow-downgrade --reboot」コマンドで古いバージョンを明示的に起動できます。

逆に、積極的に自動ロールバックを使いたい場合は「abos-ctrl rollback-clone」コマンドを実行すると予備パーティションを現状に更新して自動ロールバックを有効化しますので、この状態で3回起動できない場合等でロールバックします。
こちらのコマンドの使い方の想定は、起動時に self-test を行って問題なければ実行するスクリプトかコンテナの healthcheck です。

使い方はマニュアルに明確してないのも大きいですが、self-test の内容をよく考えないといけませんので、よく検討してから使ってください。

よろしくお願いします