DKMS Module Howto:
------------------

A number of modern distros (Ubuntu, Fedora and others) can use DKMS to help sensibly manage building
and maintaining additional third party kernel modules.

http://en.wikipedia.org/wiki/Dynamic_Kernel_Module_Support

I've added some simple DKMS configs for flashcache to make building and managing it a little less painful.
This has been updated with a Makefile.dkms, which should hopefully do a sensible DKMS install without
intervention. Right now requires initramfs-tools for boot support, so it probably won't work on CentOS 5
just yet.

Installation
------------

Ubuntu (and probably Debian):
 - Install prerequisite build packages:
	 apt-get install dkms build-essential linux-headers-`uname -r`

CentOS/RHEL 5:
 - Follow the steps in README-CentOS5 to prep for building on CentOS.

Run "make -f Makefile.dkms", and it should build and install correctly for your kernel.

Boot from Flashcache
--------------------
If you have initramfs-tools, then flashcache utils and modules can be installed into the initramfs.
 - Follow Installation section above.
 - Install flashcache boot support:
   make -f Makefile.dkms boot_conf
 - Edit your /etc/fstab and /boot/grub/grub.cfg to change the root device to the flashcache device you intend to use.
   (ex: /dev/mapper/fc-root)
 - Boot off a live CD like the Ubuntu desktop installer.
 - Mount your root device (mount /dev/root-partition /mnt)
 - cd to your flashcache source directory, and install flashcache into the boot environment. (make install)
 - Unmount your root device (umount /mnt)
 - Create flashcache device backed by your root device. I recommend using the UUID path in case device renaming occurs:
   flashcache_create -p back fc-root /dev/ssd_device /dev/disk/by-uuid/root_device_uuid
 - Reboot!

Known Issues:
-------------
 - Right now grub-probe fails to detect the underlying root device when booting off flashcache,
   so you'll have to edit /boot/grub/grub.cfg manually.
 - Because of previous point, update-grub will likely fail.

Graeme Humphries <graeme@sudo.ca>
