- Table of contents
- Building from Source
Building from Source¶
This page is about how to build the simtrace2 firmware and host software from source.
Osmocom provides binary packages for several flavors of Debian and Ubuntu GNU/Linux on a variety of architectures (i586, x86_64, armhf, armv7l). Unless you are a software developer interested in developing on Osmocom, it is recommended you use those packages instead of building from source.
For more details see Binary_Packages
We traditionally have built our software primarily on Debian GNU/Linux (jessie, stretch, buster) and on a variety of Ubuntu versions. If you have problems, it is suggested you start with a tested/supported environment, or use the docker based approach listed further below.
Classic approach on Debian/Ubuntu¶
Installing packages from upstream Debian/Ubuntu¶
apt-get install autotools-dev autoconf automake libtool pkg-config git \ libpcsclite-dev libnewlib-arm-none-eabi libusb-1.0-0-dev \ gcc-arm-none-eabi
Installing packages from the Osmocom Package feeds¶You will need
- install it from the Osmocom package feed Binary_Packages (latest feed if you use a tagged version of simtrace2.git, nightly feed if you use git master of simtrace2.git)
apt-get install libosmocore-dev(after you added the above-mentioned feed
- or build libosmocore from source, too.
Docker based approach¶
You can use the
debian-buster-simtrace2 docker image, whose Dockerfile you can find at https://gitea.osmocom.org/osmocom/docker-playground
$ git clone https://gitea.osmocom.org/osmocom/docker-playground $ cd docker-playground $ cd debian-buster-build $ make [...] Successfully tagged $USER/debian-buster-build:latest $ cd ../debian-buster-simtrace2 $ make [...] Successfully tagged $USER/debian-buster-simtrace2:latest
Running the container and performing an actual build¶
$ docker run --rm -it $USER/debian-buster-simtrace2 osmocom@d81d29b620a7:~$ cd simtrace2/firmware osmocom@d81d29b620a7:~/simtrace2/firmware$ make BOARD=qmod APP=cardem [...] 31548 0 26028 57576 e0e8 bin/qmod-cardem-dfu.elf osmocom@d81d29b620a7:~/simtrace2/firmware$Where
BOARD=specifies the target hardware / circuit board and
APP=specifies the actual firmware application
See https://gitea.osmocom.org/sim-card/simtrace2/src/branch/master/firmware/README.txt for more information on available targets.
host tools build¶
$ docker run --rm -it $USER/debian-buster-simtrace2 osmocom@d81d29b620a7:~$ cd simtrace2/host osmocom@d81d29b620a7:~/simtrace2/host$ autoreconf -fi && ./configure && make -j4 [...] CCLD simtrace2-list CCLD simtrace2-remsim-usb2udp CCLD simtrace2-remsim CCLD simtrace2-sniff make: Leaving directory '/home/osmocom/simtrace2/host/src' Making all in contrib make: Entering directory '/home/osmocom/simtrace2/host/contrib' make: Nothing to be done for 'all'. make: Leaving directory '/home/osmocom/simtrace2/host/contrib' make: Entering directory '/home/osmocom/simtrace2/host' make: Nothing to be done for 'all-am'. make: Leaving directory '/home/osmocom/simtrace2/host' make: Leaving directory '/home/osmocom/simtrace2/host'