This is a document describing the distribution of the source code used on the TomTom GO device with version 5.00 of the navigation software, which falls under the GNU General Public License (the GPL).
For more information about the GPL, see:
You can download a copy of the GPL 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.
- Other third party software under GPL license.
- TomTom software under GPL license.
A detailed description of these categories follows, including information on where to download this source code and/or its modifications.
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.
- 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.
2. The Linux Kernel
TomTom GO uses version 2.6.10 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 904 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.10 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 support, that make use of the BlueZ libraries, and therefore are also licensed under the GPL: