Putting OSM maps on a GPS
From OpenStreetMap Wiki
This is a means of checking whether you need to take that side trip or not when mapping, as well as being one of the reasons for mapping in the first place.
Ready-made / Windows
- From OSM Australia  you can download new .img files every week. You can stitch these together with QLandKarte GT/M.
- Download the .img files already processed by a friendly person called stevez - 
- Then use an application called M3 to import it into Mapsource and then transferred it to the GPS.
- To use M3 you have to rename the files you download from Stevez' site (details - ) then you have to download M3. Unfortunately this requires you to register for an account on the maker's forums before you're able to download it - it's free and requires only a couple of minutes and a valid email address. The forum thread is here - .
- On a laptop/desktop you can also view this with GPSMapEdit a shareware program, runs on Windows or under Wine.
- Custom Garmin .img files for rural areas 
Roll your own / Linux
- In JOSM collect all the required information in a single layer.
- Save with the .osm ending
- Use Mkgmap "java -jar mkgmap.jar data.osm"
- Copy this to the Garmin as gmapsupp.img
- Stevez also gives a good explanation of how to build State-by-State maps 
- Other sources of osm files
- Untested suggestion to use ImageMagick to convert to bmp format.
see TomTom for further suggestions