Armadilloフォーラム

armadillo-640のoverlayFS適用時のファイル内容の変更

jaksama

2019年5月21日 10時52分

井上と申します。

下記の記事を参考にして、テキストファイルの内容を変更した後リブートしても
変更が保持されることを試みています。

https://users.atmark-techno.com/forum/armadillo/3790

具体的な動作としてはarmadillo-640搭載の機器を現地に設置後に現地の条件に
合わせて設定ファイルを書き換え、停電等の後でリブートしても現地設定の内容で
動作させたいと思っております。

上記記事を参考に試行錯誤で変更できているように思っているのですが、手順として
整理するため質問させていただきます。

たとえば /root/hoge/settei.txt を変えたいとします。
起動時の状態は /overlay/system/root/hoge/settei.txt にあって、
# mount -o rw,remount /overlay/system
として書き込み可能にして、ファイルの中身をnanoで書き変えました。

その後の操作として
# touch /overlay/system/root/hoge/settei.txt
であってますでしょうか。

リブートした結果は書き換わっているようですが、試行錯誤の結果なので
手順として整理しきれていない可能性があります。
ご指摘いただけましたら幸いです。

また、例えば hogeデレクトリ丸ごと更新は可能でしょうか。
さらに、上記の
# mount -o rw,remount /overlay/system
の操作後、overlayFSの機能は継続しているのでしょうか。

以上、ご教示いただけましたら幸いです。

コメント

溝渕です。

> たとえば /root/hoge/settei.txt を変えたいとします。
> 起動時の状態は /overlay/system/root/hoge/settei.txt にあって、
> # mount -o rw,remount /overlay/system
> として書き込み可能にして、ファイルの中身をnanoで書き変えました。

上記で、eMMCに書き込みできています。
# キャッシュされている可能性はあります。

> その後の操作として
> # touch /overlay/system/root/hoge/settei.txt
> であってますでしょうか。

touchする必要は無いかと思います。eMMCへの書き出しをする場合はsyncコマ
ンドを実行してください。

> リブートした結果は書き換わっているようですが、試行錯誤の結果なので
> 手順として整理しきれていない可能性があります。
> ご指摘いただけましたら幸いです。

書き込みを行うという目的は達成可能ですが、OverlayFSでeMMCをROM化しファ
イルシステムを保護することはできなくなります。

eMMCのファイルシステム保護を最重要とするのであれば、再起動後にも保存し
たいファイル(またはディレクト)はルートファイルシステム以外にすべきです。

以下のように、eMMCのGPPを利用するか、
https://manual.atmark-techno.com/armadillo-640/armadillo-640_product_ma…

SDカードや、USBメモリを利用する方法が考えられます。

> また、例えば hogeデレクトリ丸ごと更新は可能でしょうか。

可能と思います。

> # mount -o rw,remount /overlay/system
> の操作後、overlayFSの機能は継続しているのでしょうか。

OverlayFSの機能は継続していますが、eMMCがROM化されていません。その為、
ファイルシステムが保護された状態ではありません。

溝渕様

お世話になっております。
ご教示ありがとうございました。

再起動後も保存される領域の有無も知りたいところでした。
GPPの利用も検討したいと思います。

井上

> 溝渕です。
>
> > たとえば /root/hoge/settei.txt を変えたいとします。
> > 起動時の状態は /overlay/system/root/hoge/settei.txt にあって、
> > # mount -o rw,remount /overlay/system
> > として書き込み可能にして、ファイルの中身をnanoで書き変えました。
>
> 上記で、eMMCに書き込みできています。
> # キャッシュされている可能性はあります。
>
> > その後の操作として
> > # touch /overlay/system/root/hoge/settei.txt
> > であってますでしょうか。
>
> touchする必要は無いかと思います。eMMCへの書き出しをする場合はsyncコマ
> ンドを実行してください。
>
> > リブートした結果は書き換わっているようですが、試行錯誤の結果なので
> > 手順として整理しきれていない可能性があります。
> > ご指摘いただけましたら幸いです。
>
> 書き込みを行うという目的は達成可能ですが、OverlayFSでeMMCをROM化しファ
> イルシステムを保護することはできなくなります。
>
> eMMCのファイルシステム保護を最重要とするのであれば、再起動後にも保存し
> たいファイル(またはディレクト)はルートファイルシステム以外にすべきです。
>
> 以下のように、eMMCのGPPを利用するか、
> https://manual.atmark-techno.com/armadillo-640/armadillo-640_product_ma…
>
> SDカードや、USBメモリを利用する方法が考えられます。
>
> > また、例えば hogeデレクトリ丸ごと更新は可能でしょうか。
>
> 可能と思います。
>
>
> > # mount -o rw,remount /overlay/system
> > の操作後、overlayFSの機能は継続しているのでしょうか。
>
> OverlayFSの機能は継続していますが、eMMCがROM化されていません。その為、
> ファイルシステムが保護された状態ではありません。
>

中村です。

横から失礼します。

> 以下のように、eMMCのGPPを利用するか、
> https://manual.atmark-techno.com/armadillo-640/armadillo-640_product_ma…

squashfsは使ったことがないのですけど、
https://ja.wikipedia.org/wiki/SquashFS
などの説明では、
「圧縮された読み込み専用ファイルシステムである」
と書いてあります。
今回のような個別の設定保存用途にこれを使用できますか?

マニュアルにこの使用例が記載されるようになる前に、
このフォーラムでGPPのことを教えていただき、
パーティションを作成せずにmkfsだけして使っています。
https://users.atmark-techno.com/forum/armadillo/3660#comment-6409

--
なかむら

> 圧縮された読み込み専用ファイルシステムである

ファイルシステム自体は読み込み専用なので、書き込みを行う場合は全領域を
書き替えることになります。

> 今回のような個別の設定保存用途にこれを使用できますか?

usecase次第で向き/不向きはありますが、利用可能と思います。

頻繁に又は直感的に書き込みを行いたいのであれば、中村様のおっしゃる通り
ext等のファイルシステムを構築するのが良いかと思います。

溝渕様
中村様

コメント・ご議論ありがとうございます。
書き換え頻度は少ないですが、シンプルな(直観的な)方法もよいと思っております。
中村様ご提案の方法も候補に入れて検討してみます。

井上

> > 圧縮された読み込み専用ファイルシステムである
>
> ファイルシステム自体は読み込み専用なので、書き込みを行う場合は全領域を
> 書き替えることになります。
>
>
> > 今回のような個別の設定保存用途にこれを使用できますか?
>
> usecase次第で向き/不向きはありますが、利用可能と思います。
>
> 頻繁に又は直感的に書き込みを行いたいのであれば、中村様のおっしゃる通り
> ext等のファイルシステムを構築するのが良いかと思います。
>