Navit has been successfully ported to TomTom devices. However, the TomTom port is still experimental and some features do not work properly yet. This page lists the things that have been done so far and contains some detailed instructions on cross-compiling Navit and some required libraries for TomTom Linux. It also contains some setup instructions for using pre-compiled binaries available at http://www.navit-project.org/~xenos1984/navitom.tar.gz.
Lots of information on the hardware of various TomTom models has been collected at http://www.opentom.org. These devices feature an ARM920T or ARM926EJ-S CPU.
Using pre-compiled binaries
There are some pre-compiled binaries available at http://www.navit-project.org/~xenos1984/navitom.tar.gz (this link always points to the most recently compiled version). See http://www.navit-project.org/~xenos1984/release/ for other / older versions. I have tested them successfully on a TomTom GO 910. For other TomTom models, it may be necessary to edit the navit.xml config file and adjust the screen size, the GPS data source...
In order to use the binaries above, unpack the file in the top directory of a TomTom device. Get some Navit map and place it in the navit/share/maps folder on your TomTom. Edit the config file navit/share/navit.xml as described below. Unplug your TomTom from the computer and let it reboot. If you touch the screen and enter the TomTom main menu, you should see a Navit icon (on the last page). Press this icon and a grey screen will appear. Be patient - it may take a few seconds. But finally you should see a map. Have fun!