Toolchain » History » Revision 17

« Previous | Revision 17/23 (diff) | Next »
fixeria, 05/11/2019 01:20 AM


To compile the target firmware for OsmocomBB or SIMtrace, you need a GNU Toolchain for ARM. There are various pre-compiled toolchains available, but not all of them will produce working firmware. We're trying to support all these configurations, but it might take a while to identify the source of a problem. If you have persistent errors when compiling, try using a different package.

Binary distribution

You can use a pre-compiled toolchain provided by your GNU/Linux distribution.

For Debian based distributions (Ubuntu, Linux Mint, etc.), use the following command:

$ sudo apt install gcc-arm-none-eabi

For ArchLinux (

$ sudo pacman -S arm-none-eabi-gcc

Build one from source

If you want to build your own toolchain, known to be working with OsmocomBB, see here: GnuArmToolchain.

This is the best option to get a fairly recent GCC, and this is the option used by several OsmocomBB developers.

Building old branches

If you need to build the firmware from old unmaintained branches (sylvain/burst_ind, sylvain/testing, jolly/testing, etc.), an older version of toolchain is needed.

Please follow the build instructions at:

When using toolchain with GCC >=4.8, the firmware can be compiled, but will hang as soon as you want to sync to an ARFCN.
This issue has been fixed in master:

Build in Docker (dockcross)

Please refer:

$ git clone
$ cd dockcross/
$ mkdir build/
$ docker run --rm dockcross/linux-armv7 > build/dockcross
$ chmod +x build/dockcross

Unfortunately, I didn't (yet) manage to build the firmware using this toolchain. Here is what I tried:

$ cd osmocom-bb/src/
$ $HOME/dockcross/build/dockcross make firmware

If you know how to proceed, please update this section.

Mac OS X

Apparently the arm-elf-gcc 4.3.2 from ports for MacOS X can compile the firmware as well after symlinking /opt/local/bin/arm-elf-ranlib to /opt/local/bin/arm-elf-linux-ranlib and /opt/local/bin/arm-elf-strip to /opt/local/bin/arm-elf-linux-strip. If you omit the links, there will be unresolvable references to symbols in the libraries.

Files (0)

Updated by fixeria almost 5 years ago · 17 revisions

Add picture from clipboard (Maximum size: 48.8 MB)