2018/04/14

RaspberryPi を Read-Only で運用


#####################################

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

0 件のコメント:

コメントを投稿

フォロワー