Well this should get you start in Linux for navigation you will need two things
1. gpsd - this is what links you gps device to a device linux can understand (example /dev/ttsUSB0 )
2. gpsdrive - I use this but mostly for wardriving. You could use it for navigation but the problem is you have to manuly download maps and save them before hand. There is a script built in to do this but you need to know the long and lad to download them.
I hope this helps