fsprotect
sudo apt-get update
sudo apt-get upgrade
sudo apt-get -y install libncurses5-dev libxml2-dev subversion libssl-dev libspandsp-dev libsqlite3-dev sqlite3 libgtk2.0-dev libslang2-dev libnewt-dev libghc-zlib-dev libkrb5-dev git libreadline6-dev bc
・linux kernelソースをインストール
cd /usr/src
sudo git clone –depth 1 https://github.com/raspberrypi/linux.git
sudo ln -s linux linux-3.18.y
cd linux
・aufsをインストール
sudo git clone git://git.code.sf.net/p/aufs/aufs3-standalone aufs-aufs3-standalone
cd aufs-aufs3-standalone
sudo git checkout origin/aufs3.18
sudo cp -rp fs /usr/src/linux
sudo cp -rp Documentation/ /usr/src/linux
sudo cp -rp include/uapi/linux/aufs_type.h /usr/src/linux/include/uapi/linux/
sudo patch -p1 < ../aufs-aufs3-standalone/aufs3-kbuild.patch
sudo patch -p1 < ../aufs-aufs3-standalone/aufs3-base.patch
sudo patch -p1 < ../aufs-aufs3-standalone/aufs3-mmap.patch zcat /proc/config.gz > ~/.config
sudo cp ~/.config .
・menuconfigで設定
sudo make menuconfig
Load
.config
File systems
Miscellaneous filesystems
<*> Aufs (Advanced multi layered unification filesystem) support
・Makefile編集
VERSION = 3
PATCHLEVEL = 18
SUBLEVEL = 11
EXTRAVERSION = -aufs
sudo make clean
sudo make
ビルドに8時間くらいかかる。
・ビルド完了後
バックアップをとっておく。
sudo mv /lib/modules/3.18.7+ /lib/modules/3.18.7+.bak
sudo mv /lib/modules/3.18.7-v7+ /lib/modules/3.18.7-v7+.bak
・カーネル差し替え
cd /usr/src/linux
sudo make modules_install
Makefileで指定した
※3.18.11-aufs+ができます。
sudo mv /boot/kernel.img /boot/kernel.img.bak
sudo cp arch/arm/boot/Image /boot/kernel.img
・再起動
sudo reboot
・確認
$ uname -a
Linux 3.18.11-aufs+ #1 PREEMPT Sat Apr 11 19:07:53 UTC 2015 armv6l GNU/Linux
・fsprotectをinstall
sudo apt-get install fsprotect
sudo update-initramfs -c -k $(uname -r)
・/boot/cmdline.txtにパラメーター(fsprotect)追記すると有効
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait fsprotect
※削除すれば無効になるが/boot二プロテクトがかかっている場合は書き換えできないのでPCでマウントして書き換える
・/boot/config.txtに追記
# aufs
initramfs initrd.img-3.18.11-aufs+
・/bootもプロテクトをかける
/etc/default/fsprotect
PROTECT=”/boot=32M”