RaspberryPiのrootfsを読み込み専用にする
これまで使ってきたRaspberryPiのmicro SDカードが壊れたことはないけど、電源をいきなり抜くこともあるのでいつか壊れるかもしれない。
今使っているRaspberry Pi ZeroはBME280センサを使って部屋の温度・湿度を可視化することに特化して使っている。
そこで、電源をいきなり抜いても大丈夫なようにrootfsを読み込み専用にしてしまい、SDカードへの書き込みが発生しないようにした。
対応方法
上記のSetupに沿ってコマンドを実行すれば完了。
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mmcblk0p2 30G 1.7G 27G 6% /mnt/root-ro
tmpfs 217M 360K 217M 1% /mnt/root-rw
tmpfs 217M 0 217M 0% /mnt/boot-rw
/dev/mmcblk0p1 44M 30M 14M 69% /mnt/boot-ro
/mnt/boot-ro 44M 30M 14M 69% /mnt/boot-ro2
overlay 217M 360K 217M 1% /
overlay 217M 0 217M 0% /boot
読み込み専用にした後はファイル書き込みをしても再起動後に消えてしまう。
書き込みをする場合は、一時的に書き込み権限を付与して再マウントするか、/boot/config.txtのinitramfs initrd.gzを削除して再起動する。
別途、Raspberry Pi 2で試した際にmkinitramfsコマンドが見つからずエラーになったが、initramfs-toolsをインストールすることで対応できた。
mkinitramfs -o /boot/initrd.gz
bash: mkinitramfs: command not found
apt install initramfs-tools