ブログ

Armadillo Base OS:SWUpdateによるルートファイルシステムアップデート前後でのファイル保持について

at_takuma.fukuda
2022年1月30日 16時40分

従来のArmadillo製品において、当社のマニュアルに従ってルートファイルシステムの書き換えを行った場合、
ルートファイルシステム上のすべてのファイルが書き換えられていました。

SWUpdateを使ってArmadillo Base OSのルートファイルシステムを書き換える場合は、
一部のファイルは保持されるようになっております。

どのファイルを保持するかは、「/etc/swupdate_preserve_files」に定義されています。
このファイルに記載されたファイルやディレクトリが、SWUpdateによる書き換え実行後も保持されます。
2022/2/6現在、デフォルトでのswupdate_preserve_filesの内容は以下の通りです。

[armadillo:~]$: vi /etc/swupdate_preserve_files
 
### Files listed here will be copied over when rootfs is updated
### You can freely add or remove files from the list, removed
### entries will not be added back as long as the below line is
### kept intact. Do not remove or change!
PRESERVE_FILES_VERSION 2
 
# file can be prefixed with POST to be copied after rootfs is
# extracted, e.g.
#POST /boot
# would preserve the installed kernel without rebuilding a custom
# image if uncommented (destination is removed before copy)
 
# v1 list: base files, swupdate, ssh and network config
/etc/atmark
/etc/fstab
/etc/motd
/etc/conf.d/overlayfs
/etc/swupdate_preserve_files
 
/etc/hwrevision
/etc/swupdate.cfg
/etc/swupdate.pem
/etc/swupdate.aes-key
/etc/runlevels/default/swupdate-hawkbit
/etc/conf.d/swupdate-hawkbit
/etc/runlevels/default/swupdate-url
/etc/conf.d/swupdate-url
/etc/swupdate.watch
 
/etc/runlevels/default/sshd
/etc/ssh
/root/.ssh
/home/atmark/.ssh
 
/etc/hostname
/etc/network
/etc/resolv.conf
/etc/NetworkManager/system-connections
 
# v2 list: dtb symlink, ca-certificates, local.d
/boot/armadillo.dtb
/usr/local/share/ca-certificates
/etc/local.d
/etc/runlevels/default/local
POST /boot/

例えば、「/etc/atmark」や「/etc/NetworkManager/system-connections」「/etc/ssh」などが定義されております。
そのため、SWUpdateを使ってルートファイルシステムの書き換えを行っても、これらの設定やファイルは初期化されませんのでお気を付け下さい。

逆に、ルートファイルシステムの書き換えを行っても保持しておきたいファイルがある場合は、このファイルに追記することで保持させることが出来ます。
SWUpdateによるファイルや設定を更新させる、あるいは保持させる場合、
このファイルを都度編集しておくことをお勧めいたします。