GettingStarted osx » History » Version 4
Anonymous, 02/19/2016 10:48 PM
1 | 1 | == OsmocomBB Getting Started Guide for OSX == |
|
---|---|---|---|
2 | |||
3 | 4 | Please note that OSX is not a supported platform for osmocomBB. |
|
4 | |||
5 | 1 | This page will describe how to compile the firmware and the host utilities. |
|
6 | If you haven't do so already, checkout [wiki:PreliminaryRequirements] |
||
7 | |||
8 | === Compiling osmocomBB === |
||
9 | osmocomBB consists out of software that is intended to be run on the phone (target) and the host system. |
||
10 | |||
11 | ==== Dependencies for the host ==== |
||
12 | osmocomBB requires GNU autoconf, automake, libtool, pkg-config, make and GCC to compile. You will |
||
13 | also need to use git to access and update the sources. There should be no other depedencies. The name |
||
14 | of these packages depend on the distribution used. |
||
15 | 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] |
||
16 | |||
17 | To have better UNIX support you need one of these alternatives: |
||
18 | [http://www.macports.org Macports] |
||
19 | [http://www.finkproject.org Fink] |
||
20 | 3 | [http://mxcl.github.com/homebrew Homebrew] Currently Homebrew does not successfully build osmocom |
|
21 | 1 | ||
22 | For Macports: |
||
23 | {{{ |
||
24 | sudo port install libtool-devel autoconf git-core pkgconfig automake17 gcc46 |
||
25 | }}} |
||
26 | |||
27 | For Fink: |
||
28 | {{{ |
||
29 | sudo fink install autoconf2.6 automake1.11 gcc46 git libtool2 pkgconfig |
||
30 | }}} |
||
31 | |||
32 | |||
33 | ==== Dependencies for the target ==== |
||
34 | |||
35 | To compile osmocomBB or SIMtrace for the target we need a GNU for ARM. |
||
36 | |||
37 | With Macports you can install arm-elf-gcc port command: |
||
38 | {{{ |
||
39 | sudo port install arm-elf-gcc |
||
40 | }}} |
||
41 | |||
42 | For Fink or for manual compilation go to [wiki:toolchain] |
||
43 | |||
44 | ==== Getting and updating the source ==== |
||
45 | {{{ |
||
46 | git clone git://git.osmocom.org/osmocom-bb.git |
||
47 | }}} |
||
48 | |||
49 | {{{ |
||
50 | $ cd osmocom-bb |
||
51 | $ git pull --rebase |
||
52 | }}} |
||
53 | |||
54 | ==== Verify the `PATH` environment variable ==== |
||
55 | |||
56 | 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: |
||
57 | |||
58 | 4 | For Macports: |
|
59 | 1 | {{{ |
|
60 | 4 | export PATH=/opt/local/bin/:/opt/local/sbin/:$PATH |
|
61 | 1 | }}} |
|
62 | |||
63 | 4 | For fink: |
|
64 | {{{ |
||
65 | export PATH=/sw/bin/:/sw/sbin/:$PATH |
||
66 | }}} |
||
67 | |||
68 | 1 | ==== Building the source ==== |
|
69 | Compiling both the target and the host code will happen with the following command. It assumes that the '''arm-elf-gcc''' |
||
70 | is inside the current path. |
||
71 | |||
72 | {{{ |
||
73 | $ cd src |
||
74 | $ make |
||
75 | }}} |
||
76 | |||
77 | If no error has occured you will have the firmware binaries in ''src/target/firmware/board/compal_e88/*.bin'' that can be |
||
78 | used with the Motorola C123. You also have the binaries to run on your host in ''src/host/osmocon/osmocon'', in |
||
79 | ''src/host/layer23/src/misc'' and ''layer23/src/mobile''. |