RaspberryPi_ReadOnlyFS
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
&size(24){RaspberryPiのOSをOverlayを使用してReadOnly FSに...
*概要 [#ue2cae2a]
overlayfs を使用して SD カードをRead Only 化することで、s...
ただし、Log 等ファイルへの書き出しはRAMDISK 上に行われる...
長時間動作させる用途では、Log出力を抑止するような処理も必...
RO とRW の切り替えはあらかじめ用意しておくスクリプトで行...
*手順 [#k3d0fdc0]
rootに移行する
$ cd /home/pi
$ sudo bash
まずはカーネルのバージョンを確認~
# uname -r
バージョンにv7が含まれているかどうかが重要。~
含まれていなければ以下の記述で7を削除して編集を行う。
initrdを作る(v7含む場合)~
# update-initramfs -c -k $(uname -r)
# cd /boot
# mv initrd.img-$(uname -r) initrd7.img
initrdを作る(v7含まない場合)~
# update-initramfs -c -k $(uname -r)
# cd /boot
# mv initrd.img-$(uname -r) initrd.img
必要なパッケージをダウンロード
# apt-get install git rsync gawk busybox bindfs
swapを無効にする
# dphys-swapfile swapoff
# dphys-swapfile uninstall
# update-rc.d dphys-swapfile disable
# systemctl disable dphys-swapfile
ReadOnlyFS化するキットをダウンロードして配置する
# git clone https://github.com/josepsanzcamp/root-ro.git
# rsync -va root-ro/etc/initramfs-tools/* /etc/initramfs...
initrdのramfsを作る
# mkinitramfs -o /boot/initrd.gz
ramfsを使用して起動する様に設定を追加する
# echo initramfs initrd.gz >> /boot/config.txt
# reboot
*RWモードへの切り替えスクリプト [#x9d57bf4]
#!/bin/sh
# switch to RW
if [ -e /mnt/boot-ro/config.txt ]; then
sudo mount -o remount,rw /dev/mmcblk0p1
sudo grep -v initramfs /mnt/boot-ro/config.txt >/tmp...
sudo cp /tmp/config.txt /mnt/boot-ro/config.txt
sudo reboot
else
echo Already write enabled
fi
*ROモードへの切り替えスクリプト [#t70bd790]
#!/bin/sh
# switch to RO
if [ -e /mnt/boot-ro/config.txt ]; then
echo Already write protected
else
sudo grep -v initramfs /boot/config.txt >/tmp/config...
sudo echo initramfs initrd.gz >> /tmp/config.txt
sudo cp /tmp/config.txt /boot/config.txt
sudo reboot
fi
*注意事項 [#lb536534]
- カーネルアップデートが行われると、この手順をやり直す必...
終了行:
&size(24){RaspberryPiのOSをOverlayを使用してReadOnly FSに...
*概要 [#ue2cae2a]
overlayfs を使用して SD カードをRead Only 化することで、s...
ただし、Log 等ファイルへの書き出しはRAMDISK 上に行われる...
長時間動作させる用途では、Log出力を抑止するような処理も必...
RO とRW の切り替えはあらかじめ用意しておくスクリプトで行...
*手順 [#k3d0fdc0]
rootに移行する
$ cd /home/pi
$ sudo bash
まずはカーネルのバージョンを確認~
# uname -r
バージョンにv7が含まれているかどうかが重要。~
含まれていなければ以下の記述で7を削除して編集を行う。
initrdを作る(v7含む場合)~
# update-initramfs -c -k $(uname -r)
# cd /boot
# mv initrd.img-$(uname -r) initrd7.img
initrdを作る(v7含まない場合)~
# update-initramfs -c -k $(uname -r)
# cd /boot
# mv initrd.img-$(uname -r) initrd.img
必要なパッケージをダウンロード
# apt-get install git rsync gawk busybox bindfs
swapを無効にする
# dphys-swapfile swapoff
# dphys-swapfile uninstall
# update-rc.d dphys-swapfile disable
# systemctl disable dphys-swapfile
ReadOnlyFS化するキットをダウンロードして配置する
# git clone https://github.com/josepsanzcamp/root-ro.git
# rsync -va root-ro/etc/initramfs-tools/* /etc/initramfs...
initrdのramfsを作る
# mkinitramfs -o /boot/initrd.gz
ramfsを使用して起動する様に設定を追加する
# echo initramfs initrd.gz >> /boot/config.txt
# reboot
*RWモードへの切り替えスクリプト [#x9d57bf4]
#!/bin/sh
# switch to RW
if [ -e /mnt/boot-ro/config.txt ]; then
sudo mount -o remount,rw /dev/mmcblk0p1
sudo grep -v initramfs /mnt/boot-ro/config.txt >/tmp...
sudo cp /tmp/config.txt /mnt/boot-ro/config.txt
sudo reboot
else
echo Already write enabled
fi
*ROモードへの切り替えスクリプト [#t70bd790]
#!/bin/sh
# switch to RO
if [ -e /mnt/boot-ro/config.txt ]; then
echo Already write protected
else
sudo grep -v initramfs /boot/config.txt >/tmp/config...
sudo echo initramfs initrd.gz >> /tmp/config.txt
sudo cp /tmp/config.txt /boot/config.txt
sudo reboot
fi
*注意事項 [#lb536534]
- カーネルアップデートが行われると、この手順をやり直す必...
ページ名: