Software Getting Started » History » Version 25
Anonymous, 02/19/2016 10:49 PM
Corrected sentences wherever required
1 | 1 | == OsmocomBB Getting Started Guide == |
|
---|---|---|---|
2 | |||
3 | This page will describe how to compile the firmware, the host utilities and how to use them. |
||
4 | 25 | If you haven't done so already, checkout [wiki:PreliminaryRequirements] |
|
5 | 1 | ||
6 | === Compiling osmocomBB === |
||
7 | osmocomBB consists out of software that is intended to be run on the phone (target) and the host system. |
||
8 | |||
9 | 6 | steve-m | ==== Dependencies for the host ==== |
10 | 1 | ||
11 | 18 | tsaitgaist | osmocomBB requires GNU autoconf, automake, libtool, pkg-config, make and GCC to compile. |
12 | 25 | The name of these packages depend on the distribution used. You will also need git to access and update the sources. |
|
13 | For Debian(and Debian-like distros), these packages can be installed using: |
||
14 | 1 | {{{ |
|
15 | 20 | tsaitgaist | #!sh |
16 | 24 | tsaitgaist | sudo aptitude install libtool shtool automake autoconf git-core pkg-config make gcc |
17 | 1 | }}} |
|
18 | 18 | tsaitgaist | |
19 | 22 | For osmocomBB, as for several other osmocom projects, you will also need [wiki:libosmocore]. Note: Although libosmocore is included when getting osmocom-bb from the git repository, you have to install it separately. The libosmocore subtree is only used to compile the embedded ARM version of libosmocore. |
|
20 | 1 | ||
21 | 9 | ==== Dependencies for the target ==== |
|
22 | 1 | ||
23 | 23 | Hoernchen | To compile osmocomBB or SIMtrace for the target we '''need a GNU [wiki:toolchain] for ARM.''' |
24 | 13 | ||
25 | 1 | ==== Getting and updating the source ==== |
|
26 | |||
27 | 2 | {{{ |
|
28 | 20 | tsaitgaist | #!sh |
29 | git clone git://git.osmocom.org/osmocom-bb.git |
||
30 | 19 | tsaitgaist | cd osmocom-bb |
31 | git pull --rebase |
||
32 | 9 | }}} |
|
33 | |||
34 | 1 | ==== Building the source ==== |
|
35 | Compiling both the target and the host code will happen with the following command. It assumes that the '''arm-elf-gcc''' |
||
36 | 23 | Hoernchen | is''' inside the current path.'' |
37 | 2 | ||
38 | {{{ |
||
39 | 20 | tsaitgaist | #!sh |
40 | cd src |
||
41 | make |
||
42 | 1 | }}} |
|
43 | |||
44 | If your GCC binary that produces ARM code is not called '''arm-elf-gcc''' you will need to invoke the following statement |
||
45 | 4 | and provide the basename of the toolchain with the ending '''-'''. |
|
46 | |||
47 | 2 | {{{ |
|
48 | 20 | tsaitgaist | #!sh |
49 | cd src |
||
50 | make -e CROSS_TOOL_PREFIX=arm-OTHER_NAME- |
||
51 | 1 | }}} |
|
52 | 4 | ||
53 | If no error has occured you will have the firmware binaries in ''src/target/firmware/board/compal_e88/*.bin'' that can be |
||
54 | used with the Motorola C123. You also have the binaries to run on your host in ''src/host/osmocon/osmocon'', in |
||
55 | ''src/host/layer23/src/misc'' and ''layer23/src/mobile''. |
||
56 | 1 | ||
57 | 5 | ||
58 | 1 | === Running osmocomBB === |
|
59 | 5 | The original bootloader of Compal and others are built in a way to load code via the serial interface. The [wiki:osmocon] |
|
60 | 25 | utility implements this protocol and can upload the firmware. Please refer the [wiki:osmocon] wiki page for details on how to use |
|
61 | 5 | it properly. |
|
62 | |||
63 | 25 | After the firmware has been loaded, the [wiki:osmocon] application will print the output of the serial console |
|
64 | 5 | and it provides a unix domain socket that another layer of software can connect to. In the case of osmocomBB |
|
65 | 16 | this higher layer software is called [wiki:ccch_scan] and is actually a group of binaries providing different functionality. Please |
|
66 | see [wiki:ccch_scan] for the details. |