This is a document describing the distribution of the source code used on the TomTom GO, RIDER and ONE devices with version 8.x* 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: http://www.opentom.org/
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.
- 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.
- Linux x86 toolchain for at4x0a:
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/at4x0a-2.6.20-2.18-4.2.1-2.6-20080202_140733/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.
If you really need to build your own toolchain from scratch, you are advised to use crosstool, which can be found here:
Please note that TomTom does NOT support crosstool.
TomTom GO uses the 2.6.13 and 188.8.131.52 versions 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 following kernels are based on the 2.6.13 kernel:
The following kernel is based on the 184.108.40.206 kernel:
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:
TomTom GO also contains some other software that is licensed under the GPL:
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: