FreeCalypso > hg > freecalypso-tools
annotate doc/Compiling @ 43:647a7bdba4be
target-utils/Makefile: install c139explore and pirexplore
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Wed, 26 Oct 2016 05:40:33 +0000 | 
| parents | aa20bdae9e53 | 
| children | 4213cf6536fa | 
| rev | line source | 
|---|---|
| 0 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1 Building and installing FreeCalypso host tools | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 2 ============================================== | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 3 | 
| 3 
6a029ad28212
doc/Compiling: updated for the split between freecalypso-tools and Citrine
 Mychaela Falconia <falcon@freecalypso.org> parents: 
0diff
changeset | 4 In order to compile and install our host tools, just run 'make', then | 
| 
6a029ad28212
doc/Compiling: updated for the split between freecalypso-tools and Citrine
 Mychaela Falconia <falcon@freecalypso.org> parents: 
0diff
changeset | 5 'make install' as root. | 
| 0 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 6 | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 7 The "standard" install directories are /usr/local/bin for binaries and | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 8 /usr/local/share/freecalypso for helper files. If you need to change these | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 9 paths to something else, you'll need to edit a bunch of individual component | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 10 Makefiles, and possibly also some source files like loadtools/defpath.c - | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 11 sorry, FreeCalypso is not GNU and does not use autotools. | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 12 | 
| 22 
aa20bdae9e53
doc/Compiling update: OpenSSL dependency eliminated, fc-lcdemu retired
 Mychaela Falconia <falcon@freecalypso.org> parents: 
3diff
changeset | 13 All FreeCalypso host tools are written in plain C, and with the exception of one | 
| 
aa20bdae9e53
doc/Compiling update: OpenSSL dependency eliminated, fc-lcdemu retired
 Mychaela Falconia <falcon@freecalypso.org> parents: 
3diff
changeset | 14 special hack-utility that has been excluded from the standard build set, they | 
| 
aa20bdae9e53
doc/Compiling update: OpenSSL dependency eliminated, fc-lcdemu retired
 Mychaela Falconia <falcon@freecalypso.org> parents: 
3diff
changeset | 15 have absolutely no library dependencies beyond libc. In other words, they are | 
| 
aa20bdae9e53
doc/Compiling update: OpenSSL dependency eliminated, fc-lcdemu retired
 Mychaela Falconia <falcon@freecalypso.org> parents: 
3diff
changeset | 16 very friendly to those who like bare bones minimalist systems. The only | 
| 
aa20bdae9e53
doc/Compiling update: OpenSSL dependency eliminated, fc-lcdemu retired
 Mychaela Falconia <falcon@freecalypso.org> parents: 
3diff
changeset | 17 exception is the fc-lcdemu hack which needs libX11 to compile and an X11 display | 
| 
aa20bdae9e53
doc/Compiling update: OpenSSL dependency eliminated, fc-lcdemu retired
 Mychaela Falconia <falcon@freecalypso.org> parents: 
3diff
changeset | 18 to run. It was a developer-only hack-utility to begin with, and the developer | 
| 
aa20bdae9e53
doc/Compiling update: OpenSSL dependency eliminated, fc-lcdemu retired
 Mychaela Falconia <falcon@freecalypso.org> parents: 
3diff
changeset | 19 setup of which it was a part never worked in a satisfactory manner, so it has | 
| 
aa20bdae9e53
doc/Compiling update: OpenSSL dependency eliminated, fc-lcdemu retired
 Mychaela Falconia <falcon@freecalypso.org> parents: 
3diff
changeset | 20 been retired. If you would like to play with it, you will need to compile it | 
| 
aa20bdae9e53
doc/Compiling update: OpenSSL dependency eliminated, fc-lcdemu retired
 Mychaela Falconia <falcon@freecalypso.org> parents: 
3diff
changeset | 21 separately, as it has been excluded from the top Makefile in order to have the | 
| 
aa20bdae9e53
doc/Compiling update: OpenSSL dependency eliminated, fc-lcdemu retired
 Mychaela Falconia <falcon@freecalypso.org> parents: 
3diff
changeset | 22 standard build set with no dependencies. | 
| 0 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 23 | 
| 22 
aa20bdae9e53
doc/Compiling update: OpenSSL dependency eliminated, fc-lcdemu retired
 Mychaela Falconia <falcon@freecalypso.org> parents: 
3diff
changeset | 24 The previous dependency on OpenSSL libraries for DES decryption of the factory | 
| 
aa20bdae9e53
doc/Compiling update: OpenSSL dependency eliminated, fc-lcdemu retired
 Mychaela Falconia <falcon@freecalypso.org> parents: 
3diff
changeset | 25 IMEI record on the Pirelli DP-L10 has been eliminated by incorporating our own | 
| 
aa20bdae9e53
doc/Compiling update: OpenSSL dependency eliminated, fc-lcdemu retired
 Mychaela Falconia <falcon@freecalypso.org> parents: 
3diff
changeset | 26 simple DES implementation (performance is not a concern for the one time | 
| 
aa20bdae9e53
doc/Compiling update: OpenSSL dependency eliminated, fc-lcdemu retired
 Mychaela Falconia <falcon@freecalypso.org> parents: 
3diff
changeset | 27 operation of retrieving the factory IMEI) into our rvinterf/etmsync source, and | 
| 
aa20bdae9e53
doc/Compiling update: OpenSSL dependency eliminated, fc-lcdemu retired
 Mychaela Falconia <falcon@freecalypso.org> parents: 
3diff
changeset | 28 the functions that require access to Pirelli's IMEI have now been integrated | 
| 
aa20bdae9e53
doc/Compiling update: OpenSSL dependency eliminated, fc-lcdemu retired
 Mychaela Falconia <falcon@freecalypso.org> parents: 
3diff
changeset | 29 into fc-fsio. | 
| 0 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 30 | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 31 Building and installing the ARM7 toolchain | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 32 ========================================== | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 33 | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 34 The current "official" GNU ARM toolchain for FreeCalypso consists of | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 35 binutils-2.21.1, gcc-4.5.4 and newlib-2.0.0 with a specific set of patches and | 
| 3 
6a029ad28212
doc/Compiling: updated for the split between freecalypso-tools and Citrine
 Mychaela Falconia <falcon@freecalypso.org> parents: 
0diff
changeset | 36 build configuration options. This toolchain is used to compile target-utils in | 
| 
6a029ad28212
doc/Compiling: updated for the split between freecalypso-tools and Citrine
 Mychaela Falconia <falcon@freecalypso.org> parents: 
0diff
changeset | 37 this package as well as our separately-maintained Citrine firmware. Build it | 
| 
6a029ad28212
doc/Compiling: updated for the split between freecalypso-tools and Citrine
 Mychaela Falconia <falcon@freecalypso.org> parents: 
0diff
changeset | 38 as follows: | 
| 0 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 39 | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 40 1. Download these 3 source tarballs for the standard GNU+newlib components: | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 41 | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 42 binutils-2.21.1a.tar.bz2 | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 43 gcc-core-4.5.4.tar.bz2 | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 44 newlib-2.0.0.tar.gz | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 45 | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 46 2. Run the build+install.sh script in the toolchain directory. Read the | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 47 comments in the script first for the usage instructions. | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 48 | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 49 The toolchain thus built will need to be in your PATH before you can compile | 
| 3 
6a029ad28212
doc/Compiling: updated for the split between freecalypso-tools and Citrine
 Mychaela Falconia <falcon@freecalypso.org> parents: 
0diff
changeset | 50 target-utils or Citrine. | 
| 0 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 51 | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 52 Please note: the toolchain that is prescribed for FreeCalypso as above is | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 53 *believed* to be equivalent to the one used by OsmocomBB, but there are no | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 54 guarantees. Use any other toolchain at your own risk. | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 55 | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 56 Compiling target-utils | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 57 ====================== | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 58 | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 59 Running 'make' in the target-utils tree with the ARM7 toolchain present in your | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 60 PATH will result in compalstage and loadagent being built; these are the two | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 61 components needed in order to use FreeCalypso loadtools. Run 'make install' to | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 62 install these target binaries in /usr/local/share/freecalypso, which is where | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 63 loadtools will look for them. | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 64 | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 65 Run 'make all' in target-utils to build some other components that aren't | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 66 really needed. | 
