Project

General

Profile

GettingStarted osx » History » Version 2

« Previous - Version 2/6 (diff) - Next » - Current version
blombo, 02/19/2016 10:48 PM


OsmocomBB Getting Started Guide for OSX

This page will describe how to compile the firmware and the host utilities.
If you haven't do so already, checkout [wiki:PreliminaryRequirements]

=== Compiling osmocomBB ===
osmocomBB consists out of software that is intended to be run on the phone (target) and the host system.

==== Dependencies for the host ====
osmocomBB requires GNU autoconf, automake, libtool, pkg-config, make and GCC to compile. You will
also need to use git to access and update the sources. There should be no other depedencies. The name
of these packages depend on the distribution used.
For OSX 10.7 Lion XCode is needed and can be downloaded from the Mac-Appstore [http://itunes.apple.com/de/app/xcode/id448457090?mt=12 here]

To have better UNIX support you need one of these alternatives:
[http://www.macports.org Macports]
[http://www.finkproject.org Fink]
[http://mxcl.github.com/homebrew Homebrew] Homebrew does currently not successfully build osmocom

For Macports: {{{
sudo port install libtool-devel autoconf git-core pkgconfig automake17 gcc46
}}}

For Fink: {{{
sudo fink install autoconf2.6 automake1.11 gcc46 git libtool2 pkgconfig
}}}

==== Dependencies for the target ====

To compile osmocomBB or SIMtrace for the target we need a GNU for ARM.

With Macports you can install arm-elf-gcc port command: {{{
sudo port install arm-elf-gcc
}}}

For Fink or for manual compilation go to [wiki:toolchain]

==== Getting and updating the source ==== {{{
git clone git://git.osmocom.org/osmocom-bb.git
}}}

{{{
$ cd osmocom-bb
$ git pull --rebase
}}}

==== Verify the `PATH` environment variable ====

Please ensure that the cross-compiler is available in your `PATH`, for example by adding the following command to your shell's startup script (e.g. `.bashrc`) or typing it in the terminal you use to build:

{{{
export PATH=/opt/local/bin/:/opt/local/sbin:/opt/local/bin/:/opt/local/sbin:$PATH
}}}

==== Building the source ====
Compiling both the target and the host code will happen with the following command. It assumes that the '''arm-elf-gcc'''
is inside the current path.

{{{
$ cd src
$ make
}}}

If your GCC binary that produces ARM code is not called '''arm-elf-gcc''' you will need to invoke the following statement
and provide the basename of the toolchain with the ending '''-'''.

{{{
$ cd src
$ make e CROSS_TOOL_PREFIX=arm-OTHER_NAME
}}}

If no error has occured you will have the firmware binaries in ''src/target/firmware/board/compal_e88/*.bin'' that can be
used with the Motorola C123. You also have the binaries to run on your host in ''src/host/osmocon/osmocon'', in
''src/host/layer23/src/misc'' and ''layer23/src/mobile''.

Add picture from clipboard (Maximum size: 48.8 MB)