OSM Map On Garmin/cGPSmapper
cGPSmapper is a program for creating map files for Garmin GPS devices. cGPSmapper was created by Stanislaw Kozicki, it is not Open Source, but there is a free trial version with reduced functionality. MapCenter is a web service providing access to a more complete version. Its sister program sendmap can be used to upload the maps created by cGPSmapper or other programs onto your Garmin GPS device.
Please note that there are restrictions on commercial use when using the free cGPSmapper version. Therefore maps created with cGPSmapper based on osm data may not be published/given to a third pary as OSM license asks for no limitation on commercial use.
Please note that cgpsmapper has not seen any updates or development over the last 2 years. There is more or less nothing that cgpsmapper can do, that mkgmap cannot do. (Like uploading maps to serial units.) So in most cases you want to use mkgmap instead.
Where to get it?
You could get cGPSmapper and sendmap from the official commercial web site at www.cgpsmapper.com (where it was distributed in a commercial form with a proprietary license).
Note that this former official website is now defunct (and squatted). An open source version (free under GPL v3 license) is stored now on SourceForge (although it still has no active developer on it, this could be use to rebuild it, and possibly resurrect the project in a fork under a new name). It was provided there by the cGPSmapper and Marcin Rudowski (under their Sourceforge accounts).
Creating maps with cGPSmapper
cGPSmapper creates Garmin map image files (.img) from a file format called polish format (.mp). It is called as
cgpsmapper-static file.mp
Call cGPSmapper without any arguments for more documentation or see the official website.
Creating aggregated maps with sendmap
sendmap can be used to aggregate several map image files (.img) into one GMAPSUPP.IMG file which can then be uploaded to the Garmin device. Call sendmap on the command line like this:
sendmap20 -l file1.img [file2.img [...]]
and it will create a file called GMAPSUPP.IMG which can be uploaded with sendmap (see below), or it can be copied directly if your Garmin GPS device supports the mass storage option.
Uploading with sendmap
To upload an image file with sendmap just call
sendmap20 file1.img [file2.img [...]]
It will automatically try USB and different serial ports. Call sendmap without any parameters to get more information or see the documentation on the official website.
On linux it may be necessary to install the garmin_gps driver and specify the usb port:
#modprobe garmin_gps #sendmap20 -t/dev/ttyUSB0 file1.img