ブログ

Armadillo Base OS で違う面のファイルにアクセスする方法

at_shiita.ishigaki
2022年6月15日 9時04分

Armadillo Base OS は OS ・ブートローダー・コンテナ部分が二面化されており、SWUpdate によるアップデートやロールバックが行われたときに、自動的に今まで使用していた面と違う面に切り替わります。
違う面のファイルにアクセスするには、abos-ctrl mount-old コマンドを使用します。
以下に abos-ctrl mount-old コマンドを使用する例として、hogeというファイルを作成し、ロールバック後に前の面にあるhogeというファイルを現在の面に持ってきます。

[armadillo ~]# abos-ctrl status #現在使用している面を確認
Currently booted on /dev/mmcblk2p2
rollback-status: optimal
[armadillo ~]# touch hoge
[armadillo ~]# persist_file hoge #再起動後にファイルが消えないように永続化
[armadillo ~]# abos-ctrl rollback #再起動後にロールバックを行う
Currently booted on /dev/mmcblk2p2
Switched to /dev/mmcblk2p1 successfully.
Reboot to apply change.
[armadillo ~]# reboot
 
[armadillo ~]# abos-ctrl status #ロールバックが行われて違う面になっていることを確認
Currently booted on /dev/mmcblk2p1
WARNING: Currently running on non-latest version (expected /dev/mmcblk2p2 installed on Mon Jun 13 17:21:04 JST 2022)
rollback-status: rolled back
[armadillo ~]# abos-ctrl mount-old #前の面を/targetにマウントする
Currently booted on /dev/mmcblk2p1
Mounted /dev/mmcblk2p2 to /target successfully.
Unmount it with 'umount -R /target' when done
 
[armadillo ~]# ls /target/ #前の面のrootfsがマウントされていることを確認
bin   dev  home  live        mnt  proc  run   sys     tmp  var
boot  etc  lib   lost+found  opt  root  sbin  target  usr
[armadillo ~]# ls /target/root/hoge #前の面で作成したhogeファイルがあることを確認
/target/root/hoge
[armadillo ~]# cp /target/root/hoge . #前の面にあるhogeファイルを現在の面にコピー
[armadillo ~]# ls hoge
hoge
[armadillo ~]# umount -R /target #前の面をアンマウント