【RPi】fsprotect

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

スクリーンショット 2015-04-13 午後8.20.33

File systems
Miscellaneous filesystems
<*> Aufs (Advanced multi layered unification filesystem) support

スクリーンショット 2015-04-13 午後8.18.47

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”

Leave a Reply