How to install EVFS
===================

download 2.4.20 kernel and unpack it to /usr/src/linux. then:

# cd ~
# wget hysteria.sk/evfs/evfs-0.2.tar.gz
# tar -xzf evfs-0.2.tar.gz
# cd /usr/src/linux
# patch -p1 < ~/evfs/evfs.diff

now you've evfs capable kernel. now compile user-mode wrapper to be able
to mount directories:

# cd evfs
# make evfs

and install it

# make install

ok, now you're ready to compile kernel normal way:

# cd /usr/src/linux
# make menuconfig [ select EVFS as module or static in filesystems section,
                    disable module versions if needed ]
# make dep
# make modules bzImage modules_install
# cp arch/i386/boot/bzImage /boot/evfs
# vim /etc/lilo.conf [ add /boot/evfs kernel ]
# reboot

well, when you'll try to compile it as module and and try to insmod it
(running kernel was not patched), it will fail. EVFS requieres some
special kernel symbols which is not exported by default.

when you think that everything is allright, do cat /proc/filesystems. you
should see 'nodev evfs' there. if so, try to do this:

mkdir ~/from
mkdir ~/to
efs ~/from ~/to

if mount will be sucesfull, copy something to ~/to and see what happen in
~/from. ~/to is only virtual decrypted mirror of ~/from and that's what
it's all about :)

if you want other users (not only root) to use evfs, do:
# chmod 4755 /bin/efs

note that making 'efs' setuid root is potential security risk, if you have
grsecurity, give it CAP_SYS_MOUNT, it should work too.

Enjoy!
