summaryrefslogtreecommitdiffstats
path: root/src/README.building
blob: d7cc7944c0221d3fe002abbdad3aca82ecfd7e81 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
== How to build OsmocomBB? ==

=== Prerequisites ===

We assume you are building on a GNU/Linux host system such as Debian
GNU/Linux.  Successful builds have also been reported using MacOS X
and the Cygwin environment for MS Windows, but we do not officially support
this.

 * Make sure you have compiled and installed a recent version of
   libosmocore. See https://osmocom.org/projects/libosmocore/wiki/Libosmocore

   DO NOT USE the libosmocore version embedded in this git tree. This
   is a special version used internally and MUST NOT be used as
   system-wide libosmocore.

 * Get a GNU toolchain (gcc/binutils) for ARM (e.g. from http://gnuarm.com/)
   See https://osmocom.org/projects/baseband/wiki/GnuArmToolchain

 * Set your path to include the arm-elf-* executables of your toolchain

 * call 'make' in this (the src) subdirectory

=== Details ===

The master Makefile will build:

 * libosmocore for the target (ARM)
 * osmocon and layer23 executables for the host (linking libosmocore)
 * the actual target firmware images (in src/target/firmware/board/*/*.bin)


== Transmitting ==

For safety reasons, all code that can enable the transmitter on the phone is
disabled in the default builds.  Plese check the src/target/firmware/Makefile
for the "#CFLAGS += -DCONFIG_TX_ENABLE" line.

Please notice that GSM operates in licensed spectrum and in most jurisdictions
you will need a license from a regulatory authority to transmit.