Project

General

Profile

GettingStarted osx » History » Revision 4

Revision 3 (Anonymous, 02/19/2016 10:48 PM) → Revision 4/7 (Anonymous, 02/19/2016 10:48 PM)

== OsmocomBB Getting Started Guide for OSX == 

 Please note that OSX is not a supported platform for osmocomBB. 

 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] Currently Homebrew does 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: 

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

 For fink: 
 {{{ 
 export PATH=/sw/bin/:/sw/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)