TomTom GO version 7.9x*
README for the source code of the parts of TomTom GO software that fall under open source licenses, TomTom GO version 7.9* software
This is a document describing the distribution of the source code used on the TomTom GO, RIDER and ONE devices with version 7.9* of the navigation software, which fall either under the GNU General Public License (the GPL), or the GNU Lesser General Public License (the LGPL).
For more information about the GPL, see:
You can download a copy of the GPL here:
For more information about the LGPL, see:
You can download a copy of the LGPL here:
The GPL'ed source code used in TomTom GO falls into a number of categories:
- The compiler toolchain used to build all the software.
- The Linux kernel for ARM, with modifications by TomTom.
- BlueZ libraries and utilities (under GPL).
- Other third party software (under GPL or LGPL).
- TomTom software (under GPL or LGPL).
A detailed description of these categories follows, including information on where to download this source code and/or its modifications.
If you want to build your own software to run on the TomTom GO, RIDER or ONE devices, and need information or suggestions on how to do so, we suggest taking a look at the independent OpenTom project, on its website:
However, please note that TomTom has no control over the OpenTom project or its websites. Therefore TomTom does not officially support it, and takes no responsibility for any problems you might have using it.
The compiler toolchain used to build all the software for the ARM Linux platform consists of a number of components:
However, please note that building such a toolchain targeting ARM Linux, hosted on x86 Linux or another platform, with these separate components from scratch is NOT trivial, and can therefore not be supported by TomTom. However, we provide some precompiled, binary versions for your convenience.
If you really need to build your own toolchain from scratch, you are advised to use crosstool, which can be found here: http://kegel.com/crosstool/Please note that TomTom does NOT support crosstool.
- Linux x86 toolchain:
This version was built on Red Hat Enterprise Linux 3 for x86, but it should also work on most other recent x86 Linux distributions, as long as you have a 2.4 or higher kernel, and glibc 2.3.2 or higher. You need to unpack it in a directory /usr/local/cross, and add /usr/local/cross/gcc-3.3.4_glibc-2.3.2/bin to your PATH environment variable to be able to use it.
- Cygwin x86 toolchain:
This version was built on Windows XP Professional, using a recent (March 2005) Cygwin installation, but it should also work on more recent Cygwin installations. You need to unpack it in a directory /usr/local/cross, and add /usr/local/cross/gcc-3.3.4_glibc-2.3.2/bin to your PATH environment variable to be able to use it.
2. The Linux Kernel
TomTom GO uses version 2.6.13 of the Linux kernel, with modifications by TomTom, which provide drivers for the specific TomTom GO hardware. Since the start of the 2.6.x kernel series, ARM Linux support has been in the main kernel source code, as released by Linus Torvalds.
The official site for the Linux kernel is:
The base version we used can be downloaded from any kernel mirror site:
The complete source code for our version with build number 2326, 2327, 2328, 2330, 2331 to 2332 and 2341 can be found here:
Diff of this version against the base version:
3. BlueZ libraries and utilities
TomTom GO uses version 2.15 of the user-space BlueZ libraries and utilities. The kernel-space BlueZ support is the default version built into version 2.6.13 of the Linux kernel.
The official site for BlueZ is:
The base versions we used can be downloaded from:
The complete source code for our version can be found here:
Diffs against base versions:
4. Other third party software
TomTom GO also contains some other software that is licensed under the GPL:
5. TomTom GPL software
TomTom GO also contains some applications for Bluetooth and Dial-Up Networking support, that make use of the BlueZ libraries, and therefore are also licensed under the GPL or LGPL: