I spent a bit of time playing with maps on this so I’ll put down what I’ve found.
Easy way is just to grab a a copy of the opensteetmap, there are ones here already (http://www.talkytoaster.info/ukmaps.htm) in garmin format, rename and put in garmin directory, it just works.
Garmin custom maps are also okay for small areas, see http://www.justgoride.co.uk/Content/Articles/Item.aspx?id=119 for a guide
The better way is to roll your own JNX raster maps, all the base info comes from here(http://whiter.brinkster.net/en/JNX.shtml), these are your own maps in the same format as garmin birdseye, the format has been reverse engineered, in sequence:
1. Change firmware to allow unsigned JNX maps, this is 2.80 for etrex 20/30 http://www.iogrea.com/Descargas/etrex20/GUPDATE.GCD
2. Get the mobile atlas creater from the justgoride link, use that to download a layer, say Yahoo layer 8 for the whole country, but this time set the output format as OSMtracker tile storage
3. Get a copy of mobattojnx from here http://www.the-thorns.org.uk/mapping/help/jnx.html
4. Convert the layer to jnx with
mobat2jnx “C:\path\above\layer\directory”.
5. Get a copy of jnxcustomizer http://www.iogrea.com/Descargas/JNXCustomizer1024.rar
6. Open the map in jnxcustomizer, group is for separating maps, different group number means they can be disabled separably, start at 13 to avoid any garmin numbers. Level is when this map kicks in, and is the most important bit, I have yahoo L8 set at 200K.
7. Move the map to the device in the birdseye directory , and that is a first map.
8. Repeat with different maps at different layers, I have 4. Yahoo layer 8 at 200K, Yahoo layer 11 at 12K, OS 1:50 at 800m, OS 1:25 at 200m (the os maps only cover smaller areas)
Don’t merge multiple layers in the same jnx, it works but is slower than putting each layer in a separate file.