ラズパイのROM化に向け、前回はカーネルにaufsを組み込んだ。今回はfsprotectをインストールする。
1. fsprotectのインストール
次のコマンドでfsprotectをインストールする。
1 2 | $ sudo apt-get update $ sudo apt-get install fsprotect |
2. initramfsイメージ
次のコマンドでinitramfsイメージを作る。
1 2 | $ sudo update-initramfs -c -k `uname -r` update-initramfs: Generating /boot/initrd.img-4.4.14-aufs+ |
「/boot/config.txt」を編集して、initramfsイメージファイルを追記する。
ファイルを開くコマンド。
1 | $ sudo nano /boot/config.txt |
編集ファイルに追記する内容は次のとおり。initramfsイメージを指定する。
1 | initramfs initrd.img-4.4.14-aufs+ |
3. fsprotectを有効化
「/boot/cmdline.txt」を編集する。そのコマンドは次のとおり。
1 | $ sudo nano /boot/cmdline.txt |
行末に「fsprotect」を追加する。
1 | dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait fsprotect |
4. ROM化を確認する
ラズパイを再起動する。
1 | $ sudo reboot |
「df -h」でファイルシステムを確認し、「none」が確認できたらROM化成功。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | $ df -h ファイルシス サイズ 使用 残り 使用% マウント位置 udev 10M 0 10M 0% /dev tmpfs 87M 4.5M 83M 6% /run /dev/mmcblk0p2 7.2G 4.2G 2.8G 61% /fsprotect/system none 512M 356K 512M 1% /fsprotect/tmp none 512M 356K 512M 1% / tmpfs 218M 0 218M 0% /dev/shm tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 218M 0 218M 0% /sys/fs/cgroup tmpfs 218M 72K 218M 1% /var/log tmpfs 218M 0 218M 0% /var/tmp tmpfs 218M 4.0K 218M 1% /tmp /dev/mmcblk0p1 60M 30M 31M 50% /boot tmpfs 44M 0 44M 0% /run/user/1000 |
新規に「test.txt」を作成する。ディレクトリの内容を確認すると、確かにファイルが存在する。
1 2 3 4 | $ cd ~/ $ touch test.txt $ $ ls -l test.txt -rw-r--r-- 1 pi pi 0 7月 2 20:09 test.txt |
fsprotectを導入したラズパイでは、更新ファイルがRAMディスクに保存されるため、再起動後には抹消される。
再起動した後、test.txtを確認してみる。
再起動
1 | $ sudo reboot |
ディレクトリを確認。
1 2 | $ ls -l test.txt ls: test.txt にアクセスできません: そのようなファイルやディレクトリはありません |
確かに、test.txtが消失した。
以上、ラズパイのROM化に成功。
実は、この段階でラズパイのROM化は完全ではない。というのは、SDカードの2つのパーティションのうち、「/」はライトアクセスが禁止されている。だが「/boot」は依然として読み書きが可能である。
/bootはラズパイの起動時にアクセスされる。だが、起動後はアクセスされないパーティションである。よって、起動後に電源をブッチしても/bootが破壊される確率は極めて低いと考えられる。
5. ROM化を解除するには
新規にソフトウェアをインストールするなど、ROM化を解除して従来どおりに読み書き出来るようにしたい場合は、「/boot/cmdline.txt」を編集し、行末の「fsprotect」を削除して再起動する。
☝ 目次
☜ 第12回: ラズパイをROM化する その1(カスタムカーネルのインストール)
第14回: Coming Soon… ☞
2016-07-02 作成
2016-07-04 更新