== 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.
