pygps requires image (bitmap) maps which are georeferenced. I mostly use terraserver maps, but any map with a world file will work. Go to http://www.acme.com/mapper/ and create the map you want. Then click on the "Save Map" button. Save the image in a file ending in 'i', and the world file information in a file ending in 'w'. Put these files in a directory called 'maps'.
Then, copy the file '/usr/bin/makemaps' from the iPAQ to your desktop. You'll need the Python Imaging Library installed. It looks in the ./maps directory for images, then constructs an index file in maps. Copy all of those files (you really only need the images and index, not the world files) to /usr/lib/pygps/maps/, and you're good to go!
This process could be made simpler by incorporating the makemaps functionality into pygps. It doesn't really need the Python Imaging Library. It could just load up the images one by one using gdkimlib, examine their sizes, then write the index file as it does right now. And pygps could look at the list of images to see if 'index' is newer than all of them. If so, it wouldn't bother rebuilding it. Contributions of this code gladly accepted.