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 の内容をよく考えないといけませんので、よく検討してから使ってください。
よろしくお願いします