CHM files are a proprietary format from Microsoft and stands for Compiled HTML. Microsoft uses three letter extension to file names.
Linux has a useful utility for doing the conversion, chmlib.
If you run Debian, search and install with aptitude:
aptitude search libchmi libchm-bin - library for dealing with Microsoft CHM files
p libchm-dev - library for dealing with Microsoft CHM files
i A libchm1 - library for dealing with Microsoft CHM files
Install using aptitude:
aptitude install libchm
If you can't find it on your distro servers, its available for download at this location.
To convert files do:
extract_chmLib book_name.chm work_dir
extract_chmLib is name of binary
book_name.chm is chm file to convert
work_dir is directory name for converted files