#####################################
Raspbian Stretch Lite で構築できることを確認しています#####################################
GitHubに公開されている
Read-only Root-FS with overlayfs for Raspian
というものでRead-Only環境を構築するためのメモ。
ただ、通常の設定では固定IPが使えないという状況。
他にも制限はあるのかもしれない…。
とりあえず、焼いた直後のRaspbianでは使えるようなので一旦公開。
といっても、本家サイトで公開されている手順通りに進めるだけ。
swapの停止
$ sudo systemctl disable dphys-swapfile
$ sudo dphys-swapfile uninstall
パッケージのインストール
$ sudo apt-get install git rsync gawk busybox bindfs
リポジトリのクローンニング
$ sudo git clone https://github.com/josepsanzcamp/root-ro.git
システムのセットアップ
※/var/tmp 配下でファイルが生成されるので、
容量制限アリでtmpfsをマウントしてる場合は解除してから実行するのが吉
$ sudo rsync -va root-ro/etc/initramfs-tools/* /etc/initramfs-tools/
$ sudo mkinitramfs -o /boot/initrd.gz
$ sudo bash -c 'echo initramfs initrd.gz >> /boot/config.txt'
モード切替スクリプト ※動作未検証 要はremountするだけ
$ sudo vi /usr/local/bin/mode-readwrite.sh
#!/bin/bash if [ $(id -u) -ne 0 ]; then echo "Must be run as root." echo "Try 'sudo $0'" exit 1 fi # / mount -o remount,rw /mnt/root-ro # /boot mount -o remount,rw /mnt/boot-ro
$ sudo vi /usr/local/bin/mode-readonly.sh
#!/bin/bash if [ $(id -u) -ne 0 ]; then echo "Must be run as root." echo "Try 'sudo $0'" exit 1 fi # / mount -o remount,ro /mnt/root-ro # /boot mount -o remount,ro /mnt/boot-ro
$ sudo chmod 755 /usr/local/bin/mode-*.sh
リブート
$ sudo reboot