ブログ

Armadillo-X1/IoT(G3/G3L):overlayfs有効時にeMMCにファイルを保存する

at_kazutaka.bito
2021年6月28日 9時49分

Armadillo-X1/IoT(G3/G3L)では、突然の電源断などによるeMMC上のソフトウェアの破壊を防ぐ方法として、
overlayfsを使ったルートファイルシステムの保護機能(※)が使用できます。
※)
Armadillo-IoT ゲートウェイ G3製品マニュアル
22.2. ルートファイルシステムへの書き込みと電源断からの保護機能


ただし、overlayfsを有効にした状態では、ファイルはRAM上に生成されるため、
rebootなどにより再起動すると、再起動前のログやデータは残りません。
ここでは、overlayfs有効時に、再起動前のログやデータをeMMC上に残す方法として、
ルートファイルシステムとは別の領域(パーティション3(※注意事項※))にファイルを保存します。

※注意事項※
eMMCのパーティション3は、node-eye使用時のリカバリーイメージ用の領域(※)です。
よって、本ブログの方法は、node-eye使用時は使用できません。
※)
Armadillo-IoT ゲートウェイ G3製品マニュアル
表3.10 eMMC メモリマップ (型番: AGX314* の場合)


例えば、syslog(/var/log/syslog*)をeMMCのパーティション3に保存する場合は、下記のように実行します。

root@armadillo:~# mount /dev/mmcblk2p3 /mnt
root@armadillo:~# cp /var/log/syslog* /mnt
root@armadillo:~# umount /mnt


補足)
eMMCのパーティション3を常にマウントしておくと、突然の電源断によるファイルシステムの破壊の可能性があります。
定期的、もしくは、reboot前にファイルを保存するときのみ、
上記コマンドのように、eMMCのパーティション3をマウント→ファイル保存→アンマウントすることで
突然の電源断によるファイルシステムの破壊の確率を低減することができます。