Rubini's book "Writing Kernel Device Drivers"
http://www.tldp.org/ - Assorted online guides and a mine of information.
The folowing are helpful for people inexperienced in working within a linux environment:
http://www.advancedlinuxprogramming.com/ - General linux programming
Required reading for anyone planning on low level code:
http://www.xml.com/ldd/chapter/book/ - Linux Device Drivers
Recommended reading for an undersatnding of the principles of communication within emc:
The RCS Handbook by Albus, Gazi, Moore, Passino, Proctor, & Shackleford.