OverlayFSへの書き込みを調べる

Seeed K.K.の松岡です。
知らぬ間に日本向けSenseCAP M1ゲートウェイが販売開始していました。Helium LongFi互換らしい。Helium Explorerを見ると、アメリカ、ヨーロッパ、中国にたくさん設置されていますね。このGUI、かっこいい。

先回、reTerminalでeMMC書き込みを止める方法を紹介しました。考慮すべきことに「どんな書き込みがあるのかを十分調べて」と書きました。
今回は、この「どんな書き込みがあるかを調べる方法」を紹介します。

f:id:matsujirushix:20220402151739p:plain

どうやって書き込みを調べるのか?

ルートファイルシステムを保護設定すると、ルートファイルシステムにOverlayFSを使用します。OverlayFSへの書き込みはRAMのtmpfsに書き込まれます。

f:id:matsujirushix:20220305145317p:plain:w600

このtmpfsを横から覗き見ることができればどんな書き込みがあるか把握できます。しかし、あれこれ試行錯誤したものの中身を見ることができませんでした。むぅ、力量不足。(方法をご存じの方はご連絡いただけるとうれしいです。)

やり方を変えて、OferlayFSへの書き込みをRAMのtmpfsから、USBメモリのext4に変更したところ、書き込んだデータを横から覗き見ることができました。わーい。

ルートファイルシステムを保護する(書き込みはUSBメモリへ)

USBメモリにext4を用意

USBメモリにパーティションを作成して、ext4でフォーマットします。

reTerminalにUSBメモリを差してlsblkで確認すると、sdaで認識しています。

f:id:matsujirushix:20220402104645p:plain:w300

まず、パーティションを作成します。sudo fdisk /dev/sdaを実行してください。

f:id:matsujirushix:20220402105433p:plain:w500

lsblkで確認すると、sda1が追加されたのがわかります。

f:id:matsujirushix:20220402105601p:plain:w300

次に、パーティションをext4でフォーマットします。sudo mkfs.ext4 /dev/sda1を実行してください。

f:id:matsujirushix:20220402114752p:plain:w500

フォーマットが終わった後、USBメモリを抜き差しすると自動的にマウントされて中身にアクセスすることができます。

f:id:matsujirushix:20220402115058p:plain:w600

そして、ファイルシステムのUUIDを調べておきます。ls -l /dev/disk/by-uuidを実行してください。

f:id:matsujirushix:20220402115710p:plain:w600

OverlayFSのtmpfs(RAM)をext4(USBメモリ)に変更

/usr/bin/raspi-configを編集します。sudo vi /usr/bin/raspi-configを実行して、enable_overlayfs()のmount -t tmpfs tmpfs /upperをコメント、sleep 10mount -t ext4 UUID="efb7c6b8-8ec7-472f-94e1-a0c5835ca892" /upperを追加してください。UUIDの値は、さきほど調べたUUIDに置き換えてください。

USBメモリが認識されるのに少し時間がかかるようです。 sleep 10を加えないとmountでエラーになります。

#mount -t tmpfs tmpfs /upper
sleep 10
mount -t ext4 UUID="efb7c6b8-8ec7-472f-94e1-a0c5835ca892" /upper

f:id:matsujirushix:20220402133258p:plain:w500

ルートファイルシステムを保護する

こちらの「ルートファイルシステムを保護する」を実施してください。

再起動後、USBメモリのext4を見ると、ルートファイルシステムに書き込んだデータがあるのがわかります。

f:id:matsujirushix:20220402134832p:plain:w600

(余談)スワップファイル

ざっと眺めてみると、100Mbytesも使用しているファイルがっ。
スワップファイルですね。無効になっていても、ファイルは存在しているようです。

f:id:matsujirushix:20220402135724p:plain:w500

サービスを無効化することで、ファイルが生成されないようになりました。

f:id:matsujirushix:20220402144824p:plain:w700

f:id:matsujirushix:20220402145850p:plain:w500

参考リンク

変更履歴

日付 変更者 変更内容
2022/4/4 松岡 作成
2022/4/8 松岡 画像クリック時に拡大表示されない不具合を改修