リードオンリー化(2)

ルートフォルダの整理

# rm /restoresymtable
# rm /null
# mkdir /fsprotect

init.dスクリプトの追加

# cd /etc/init.d/
# vi mount-overlay

mount-overlay
#! /bin/sh
### BEGIN INIT INFO
# Provides: mount-overlay
# Required-Start: mountall-bootclean
# Required-Stop:
# Default-Start: S
# Default-Stop:
# X-Start-Before: procps udev-mtab urandom
# Short-Description: overlay mode
# Descrition: Shutdown process will not be required
### END INIT INFO
 
/bin/mount /boot
cd /boot
file=nofsprotect
if [ -e ${file} ]; then
exit 0
fi
/bin/mount -t tmpfs tmpfs /fsprotect
for d in etc home root var usr opt
do
mkdir /fsprotect/${d}
mkdir /fsprotect/${d}_rw
OPTS="-o lowerdir=/${d},upperdir=/fsprotect/${d},workdir=/fsprotect/${d}_rw"
/bin/mount -t overlay ${OPTS} overlay /${d}
done
exit 0

# chmod 755 mount-overlay
# update-rc.d mount-overlay defaults 01 10
# ls /etc/rc*.d/*mount-overlay

rc.localへ追加

# vi /etc/rc.local

(最初の方が望ましい)

rc.local
# overlayfs
cd /boot
file=nofsprotect
if [ -e ${file} ]; then
mount -o rw,remount /
mount -o rw,remount /boot
fi

fstab修正
# vi /etc/fstab

fstab
proc            /proc           proc    defaults             0       0
/dev/mmcblk0p1  /boot           vfat    ro,defaults          0       2
/dev/mmcblk0p2  /               ext4    ro,defaults,noatime  0       1
tmpfs           /tmp            tmpfs   defaults             0       0

nofsprotectスクリプト
# vi nofsprotect

nofsprotect
#!/bin/sh
mount -o rw,remount /boot
file=nofsprotect
cd /boot
if [ ! -e ${file} ]; then
  # rm ${file}
  touch ${file}
fi
if [ -e ${file} ]; then
  echo "nofsprotect mode"
else
  echo "fsprotect mode"
fi
mount -o ro,remount /boot
echo "reboot..."
sleep 5
sync; sync; sync;
reboot

# chmod a+x nofsprotect

fsprotectスクリプト
# vi fsprotect

fsprotect
#!/bin/sh
mount -o rw,remount /boot
file=nofsprotect
cd /boot
if [ -e ${file} ]; then
  rm ${file}
fi
if [ -e ${file} ]; then
  echo "nofsprotect mode"
else
  echo "fsprotect mode"
fi
mount -o ro,remount /boot
echo "reboot..."
sleep 5
sync; sync; sync;
reboot

# chmod a+x fsprotect

状況

  devtmpfs       dev
  proc	                proc
  tmpfs		fsprotect
  overlay		etc
  overlay		home
  overlay		opt
  overlay		root
  overlay		usr
  overlay		var
  tmpfs			run
  tmpfs			tmp
  
  RO			boot
  RO			media
  RO			mnt
    
  RO			bin
  RO			lib
  RO			sys
  RO			sbin
  RO			man
  RO			srv
  RO			lost+found
raspberry_pi/0060overlayfs.txt · 最終更新: 2017/07/22 22:18 by admin
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0