FreeCalypso > hg > freecalypso-tools
annotate INSTALL @ 583:2823fd5351f8
openmoko/modem-power-ctrl.sh: replacement for old hard-coded special case
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 03 Feb 2020 01:50:55 +0000 |
parents | c08ff097b2aa |
children | f33d050eac6e |
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 |
56
4213cf6536fa
doc/Compiling: update for the move to /opt/freecalypso
Mychaela Falconia <falcon@freecalypso.org>
parents:
22
diff
changeset
|
4 Our FreeCalypso host tools are designed to be installed in the /opt/freecalypso |
4213cf6536fa
doc/Compiling: update for the move to /opt/freecalypso
Mychaela Falconia <falcon@freecalypso.org>
parents:
22
diff
changeset
|
5 directory hierarchy on your system. The author of this software is very |
4213cf6536fa
doc/Compiling: update for the move to /opt/freecalypso
Mychaela Falconia <falcon@freecalypso.org>
parents:
22
diff
changeset
|
6 old-fashioned and refuses to use autotools (sorry, we aren't GNU), hence |
4213cf6536fa
doc/Compiling: update for the move to /opt/freecalypso
Mychaela Falconia <falcon@freecalypso.org>
parents:
22
diff
changeset
|
7 various hard-coded paths under /opt/freecalypso are sprinkled in bazillion |
4213cf6536fa
doc/Compiling: update for the move to /opt/freecalypso
Mychaela Falconia <falcon@freecalypso.org>
parents:
22
diff
changeset
|
8 places - thus changing this fixed install location is deemed to be impractical. |
435
0a01e1c4ea54
documentation: added some notes about the importance of preserving
Mychaela Falconia <falcon@freecalypso.org>
parents:
411
diff
changeset
|
9 See PACKAGING and doc/opt-freecalypso-tree for more notes on this subject. |
56
4213cf6536fa
doc/Compiling: update for the move to /opt/freecalypso
Mychaela Falconia <falcon@freecalypso.org>
parents:
22
diff
changeset
|
10 |
4213cf6536fa
doc/Compiling: update for the move to /opt/freecalypso
Mychaela Falconia <falcon@freecalypso.org>
parents:
22
diff
changeset
|
11 In order to compile and install our host tools, follow these steps: |
4213cf6536fa
doc/Compiling: update for the move to /opt/freecalypso
Mychaela Falconia <falcon@freecalypso.org>
parents:
22
diff
changeset
|
12 |
4213cf6536fa
doc/Compiling: update for the move to /opt/freecalypso
Mychaela Falconia <falcon@freecalypso.org>
parents:
22
diff
changeset
|
13 1: Run 'make' as a regular user (not root) to compile the software. |
4213cf6536fa
doc/Compiling: update for the move to /opt/freecalypso
Mychaela Falconia <falcon@freecalypso.org>
parents:
22
diff
changeset
|
14 |
4213cf6536fa
doc/Compiling: update for the move to /opt/freecalypso
Mychaela Falconia <falcon@freecalypso.org>
parents:
22
diff
changeset
|
15 2: Decide if you prefer to have the /opt/freecalypso directory and everything |
4213cf6536fa
doc/Compiling: update for the move to /opt/freecalypso
Mychaela Falconia <falcon@freecalypso.org>
parents:
22
diff
changeset
|
16 under it to be owned by root or by your non-root uid. |
4213cf6536fa
doc/Compiling: update for the move to /opt/freecalypso
Mychaela Falconia <falcon@freecalypso.org>
parents:
22
diff
changeset
|
17 |
4213cf6536fa
doc/Compiling: update for the move to /opt/freecalypso
Mychaela Falconia <falcon@freecalypso.org>
parents:
22
diff
changeset
|
18 If you prefer /opt/freecalypso to be root-owned: |
4213cf6536fa
doc/Compiling: update for the move to /opt/freecalypso
Mychaela Falconia <falcon@freecalypso.org>
parents:
22
diff
changeset
|
19 |
4213cf6536fa
doc/Compiling: update for the move to /opt/freecalypso
Mychaela Falconia <falcon@freecalypso.org>
parents:
22
diff
changeset
|
20 3A: Run 'make install' as root; the install rule in the |
4213cf6536fa
doc/Compiling: update for the move to /opt/freecalypso
Mychaela Falconia <falcon@freecalypso.org>
parents:
22
diff
changeset
|
21 Makefile will do mkdir -p /opt/freecalypso as its first step. |
0
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 |
56
4213cf6536fa
doc/Compiling: update for the move to /opt/freecalypso
Mychaela Falconia <falcon@freecalypso.org>
parents:
22
diff
changeset
|
23 4A: You are done! |
4213cf6536fa
doc/Compiling: update for the move to /opt/freecalypso
Mychaela Falconia <falcon@freecalypso.org>
parents:
22
diff
changeset
|
24 |
4213cf6536fa
doc/Compiling: update for the move to /opt/freecalypso
Mychaela Falconia <falcon@freecalypso.org>
parents:
22
diff
changeset
|
25 If you prefer /opt/freecalypso to be owned by your "regular" non-root uid: |
4213cf6536fa
doc/Compiling: update for the move to /opt/freecalypso
Mychaela Falconia <falcon@freecalypso.org>
parents:
22
diff
changeset
|
26 |
208
4022bfbaafd4
INSTALL: cosmetic fix in bullet point numbering
Mychaela Falconia <falcon@freecalypso.org>
parents:
58
diff
changeset
|
27 3B: Become root just to create the /opt/freecalypso directory and chown it |
56
4213cf6536fa
doc/Compiling: update for the move to /opt/freecalypso
Mychaela Falconia <falcon@freecalypso.org>
parents:
22
diff
changeset
|
28 to your non-root uid. |
4213cf6536fa
doc/Compiling: update for the move to /opt/freecalypso
Mychaela Falconia <falcon@freecalypso.org>
parents:
22
diff
changeset
|
29 |
208
4022bfbaafd4
INSTALL: cosmetic fix in bullet point numbering
Mychaela Falconia <falcon@freecalypso.org>
parents:
58
diff
changeset
|
30 4B: Run 'make install' as your regular uid; it should succeed because you |
56
4213cf6536fa
doc/Compiling: update for the move to /opt/freecalypso
Mychaela Falconia <falcon@freecalypso.org>
parents:
22
diff
changeset
|
31 should have made yourself the owner of /opt/freecalypso with full write |
4213cf6536fa
doc/Compiling: update for the move to /opt/freecalypso
Mychaela Falconia <falcon@freecalypso.org>
parents:
22
diff
changeset
|
32 permission in the previous step. |
4213cf6536fa
doc/Compiling: update for the move to /opt/freecalypso
Mychaela Falconia <falcon@freecalypso.org>
parents:
22
diff
changeset
|
33 |
208
4022bfbaafd4
INSTALL: cosmetic fix in bullet point numbering
Mychaela Falconia <falcon@freecalypso.org>
parents:
58
diff
changeset
|
34 5B: You are done! |
56
4213cf6536fa
doc/Compiling: update for the move to /opt/freecalypso
Mychaela Falconia <falcon@freecalypso.org>
parents:
22
diff
changeset
|
35 |
4213cf6536fa
doc/Compiling: update for the move to /opt/freecalypso
Mychaela Falconia <falcon@freecalypso.org>
parents:
22
diff
changeset
|
36 The host tool binaries will be installed in /opt/freecalypso/bin; you can |
4213cf6536fa
doc/Compiling: update for the move to /opt/freecalypso
Mychaela Falconia <falcon@freecalypso.org>
parents:
22
diff
changeset
|
37 either add this directory to your PATH or make symlinks from /usr/bin or |
4213cf6536fa
doc/Compiling: update for the move to /opt/freecalypso
Mychaela Falconia <falcon@freecalypso.org>
parents:
22
diff
changeset
|
38 /usr/local/bin or wherever. |
4213cf6536fa
doc/Compiling: update for the move to /opt/freecalypso
Mychaela Falconia <falcon@freecalypso.org>
parents:
22
diff
changeset
|
39 |
4213cf6536fa
doc/Compiling: update for the move to /opt/freecalypso
Mychaela Falconia <falcon@freecalypso.org>
parents:
22
diff
changeset
|
40 Dependencies |
4213cf6536fa
doc/Compiling: update for the move to /opt/freecalypso
Mychaela Falconia <falcon@freecalypso.org>
parents:
22
diff
changeset
|
41 ============ |
0
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 |
397
4477d28c77bc
INSTALL: update for the move-out of fc-lcdemu
Mychaela Falconia <falcon@freecalypso.org>
parents:
262
diff
changeset
|
43 All FreeCalypso host tools are written in plain C and have absolutely no |
4477d28c77bc
INSTALL: update for the move-out of fc-lcdemu
Mychaela Falconia <falcon@freecalypso.org>
parents:
262
diff
changeset
|
44 library dependencies beyond libc. In other words, they are very friendly to |
4477d28c77bc
INSTALL: update for the move-out of fc-lcdemu
Mychaela Falconia <falcon@freecalypso.org>
parents:
262
diff
changeset
|
45 those who like bare bones minimalist systems. |
0
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 |
22
aa20bdae9e53
doc/Compiling update: OpenSSL dependency eliminated, fc-lcdemu retired
Mychaela Falconia <falcon@freecalypso.org>
parents:
3
diff
changeset
|
47 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:
3
diff
changeset
|
48 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:
3
diff
changeset
|
49 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:
3
diff
changeset
|
50 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:
3
diff
changeset
|
51 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:
3
diff
changeset
|
52 into fc-fsio. |
0
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 |
397
4477d28c77bc
INSTALL: update for the move-out of fc-lcdemu
Mychaela Falconia <falcon@freecalypso.org>
parents:
262
diff
changeset
|
54 Previous versions of this FC host tools package included a UI development aid |
4477d28c77bc
INSTALL: update for the move-out of fc-lcdemu
Mychaela Falconia <falcon@freecalypso.org>
parents:
262
diff
changeset
|
55 utility called fc-lcdemu which needs libX11 to compile and an X11 display to |
4477d28c77bc
INSTALL: update for the move-out of fc-lcdemu
Mychaela Falconia <falcon@freecalypso.org>
parents:
262
diff
changeset
|
56 run; this utility has now been moved to a separate freecalypso-ui-dev |
4477d28c77bc
INSTALL: update for the move-out of fc-lcdemu
Mychaela Falconia <falcon@freecalypso.org>
parents:
262
diff
changeset
|
57 repository and is no longer a part of the core FC host tools package. |
4477d28c77bc
INSTALL: update for the move-out of fc-lcdemu
Mychaela Falconia <falcon@freecalypso.org>
parents:
262
diff
changeset
|
58 |
475
c08ff097b2aa
CHANGES and INSTALL: staged install ability documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
435
diff
changeset
|
59 CC= and CFLAGS= selection |
c08ff097b2aa
CHANGES and INSTALL: staged install ability documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
435
diff
changeset
|
60 ========================= |
c08ff097b2aa
CHANGES and INSTALL: staged install ability documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
435
diff
changeset
|
61 |
c08ff097b2aa
CHANGES and INSTALL: staged install ability documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
435
diff
changeset
|
62 Our Makefile hierarchy is set up to build with CC=gcc and CFLAGS=-O2 by default. |
c08ff097b2aa
CHANGES and INSTALL: staged install ability documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
435
diff
changeset
|
63 If you need to change either or both of these selections, you can do it by |
c08ff097b2aa
CHANGES and INSTALL: staged install ability documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
435
diff
changeset
|
64 adding CC= and/or CFLAGS= on the make invokation line, for example: |
c08ff097b2aa
CHANGES and INSTALL: staged install ability documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
435
diff
changeset
|
65 |
c08ff097b2aa
CHANGES and INSTALL: staged install ability documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
435
diff
changeset
|
66 make CC=mygcc CFLAGS="-g -O2 -whatever-options" |
c08ff097b2aa
CHANGES and INSTALL: staged install ability documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
435
diff
changeset
|
67 |
262
9ab5c14e5b38
INSTALL: libserial and Linux specifics documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
212
diff
changeset
|
68 libserial and Linux specifics |
9ab5c14e5b38
INSTALL: libserial and Linux specifics documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
212
diff
changeset
|
69 ============================= |
9ab5c14e5b38
INSTALL: libserial and Linux specifics documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
212
diff
changeset
|
70 |
9ab5c14e5b38
INSTALL: libserial and Linux specifics documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
212
diff
changeset
|
71 We have our own private library called libserial which contains our serial port |
9ab5c14e5b38
INSTALL: libserial and Linux specifics documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
212
diff
changeset
|
72 handling code (serial ports are what we use to talk to Calypso GSM devices), |
9ab5c14e5b38
INSTALL: libserial and Linux specifics documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
212
diff
changeset
|
73 and this library exists in several different versions. At the top level of our |
9ab5c14e5b38
INSTALL: libserial and Linux specifics documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
212
diff
changeset
|
74 source tree libserial is a symlink to one of libserial-* versions. |
9ab5c14e5b38
INSTALL: libserial and Linux specifics documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
212
diff
changeset
|
75 |
9ab5c14e5b38
INSTALL: libserial and Linux specifics documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
212
diff
changeset
|
76 Starting with fc-host-tools-r7, the default version of libserial (i.e., the |
9ab5c14e5b38
INSTALL: libserial and Linux specifics documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
212
diff
changeset
|
77 version to which the libserial symlink points in the official release source) |
9ab5c14e5b38
INSTALL: libserial and Linux specifics documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
212
diff
changeset
|
78 is libserial-newlnx. This version of libserial has the advantage of supporting |
9ab5c14e5b38
INSTALL: libserial and Linux specifics documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
212
diff
changeset
|
79 high GSM baud rates (see doc/High-speed-serial) with FTDI adapters without |
9ab5c14e5b38
INSTALL: libserial and Linux specifics documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
212
diff
changeset
|
80 needing a dirty patch to the in-kernel driver, but it comes at the price of |
9ab5c14e5b38
INSTALL: libserial and Linux specifics documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
212
diff
changeset
|
81 being very specific to Linux. If you would like to run FreeCalypso host tools |
9ab5c14e5b38
INSTALL: libserial and Linux specifics documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
212
diff
changeset
|
82 under FreeBSD, illumos or some other alternative-to-Linux OS, see the section |
9ab5c14e5b38
INSTALL: libserial and Linux specifics documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
212
diff
changeset
|
83 titled "Support for other Unix flavors" in the doc/High-speed-serial article. |
9ab5c14e5b38
INSTALL: libserial and Linux specifics documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
212
diff
changeset
|
84 |
212
abe21d7b1226
INSTALL: added blurb about target binaries in packaged releases
Mychaela Falconia <falcon@freecalypso.org>
parents:
208
diff
changeset
|
85 Target binaries |
abe21d7b1226
INSTALL: added blurb about target binaries in packaged releases
Mychaela Falconia <falcon@freecalypso.org>
parents:
208
diff
changeset
|
86 =============== |
abe21d7b1226
INSTALL: added blurb about target binaries in packaged releases
Mychaela Falconia <falcon@freecalypso.org>
parents:
208
diff
changeset
|
87 |
abe21d7b1226
INSTALL: added blurb about target binaries in packaged releases
Mychaela Falconia <falcon@freecalypso.org>
parents:
208
diff
changeset
|
88 If you are installing a packaged release of FreeCalypso host tools, there will |
abe21d7b1226
INSTALL: added blurb about target binaries in packaged releases
Mychaela Falconia <falcon@freecalypso.org>
parents:
208
diff
changeset
|
89 be a number of prebuilt target binaries (code to be run on the Calypso ARM7 |
abe21d7b1226
INSTALL: added blurb about target binaries in packaged releases
Mychaela Falconia <falcon@freecalypso.org>
parents:
208
diff
changeset
|
90 processor) in the target-bin directory; when you run make install as instructed |
abe21d7b1226
INSTALL: added blurb about target binaries in packaged releases
Mychaela Falconia <falcon@freecalypso.org>
parents:
208
diff
changeset
|
91 above, these target binaries will be installed in /opt/freecalypso/target-bin. |
abe21d7b1226
INSTALL: added blurb about target binaries in packaged releases
Mychaela Falconia <falcon@freecalypso.org>
parents:
208
diff
changeset
|
92 Otherwise, you will need to compile them yourself using an ARM7 toolchain as |
abe21d7b1226
INSTALL: added blurb about target binaries in packaged releases
Mychaela Falconia <falcon@freecalypso.org>
parents:
208
diff
changeset
|
93 detailed below. |
abe21d7b1226
INSTALL: added blurb about target binaries in packaged releases
Mychaela Falconia <falcon@freecalypso.org>
parents:
208
diff
changeset
|
94 |
0
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
95 Building and installing the ARM7 toolchain |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96 ========================================== |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98 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
|
99 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:
0
diff
changeset
|
100 build configuration options. This toolchain is used to compile target-utils in |
411
8b8e723f5699
INSTALL: updates regarding the ARM7 gcc toolchain
Mychaela Falconia <falcon@freecalypso.org>
parents:
397
diff
changeset
|
101 this package as well as our separately-maintained experimental FC Selenite |
8b8e723f5699
INSTALL: updates regarding the ARM7 gcc toolchain
Mychaela Falconia <falcon@freecalypso.org>
parents:
397
diff
changeset
|
102 firmware. (Our production firmwares are currently built with TI's TMS470 |
8b8e723f5699
INSTALL: updates regarding the ARM7 gcc toolchain
Mychaela Falconia <falcon@freecalypso.org>
parents:
397
diff
changeset
|
103 toolchain instead.) Build it as follows: |
0
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
105 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
|
106 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107 binutils-2.21.1a.tar.bz2 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108 gcc-core-4.5.4.tar.bz2 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109 newlib-2.0.0.tar.gz |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111 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
|
112 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
|
113 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 The toolchain thus built will need to be in your PATH before you can compile |
411
8b8e723f5699
INSTALL: updates regarding the ARM7 gcc toolchain
Mychaela Falconia <falcon@freecalypso.org>
parents:
397
diff
changeset
|
115 target-utils or FC Selenite. The officially recommended install location for |
8b8e723f5699
INSTALL: updates regarding the ARM7 gcc toolchain
Mychaela Falconia <falcon@freecalypso.org>
parents:
397
diff
changeset
|
116 this toolchain is /opt/freecalypso/gcc. |
0
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118 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
|
119 *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
|
120 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
|
121 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
122 Compiling target-utils |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
123 ====================== |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
124 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
125 Running 'make' in the target-utils tree with the ARM7 toolchain present in your |
56
4213cf6536fa
doc/Compiling: update for the move to /opt/freecalypso
Mychaela Falconia <falcon@freecalypso.org>
parents:
22
diff
changeset
|
126 PATH will result in several target binaries being built, including compalstage |
4213cf6536fa
doc/Compiling: update for the move to /opt/freecalypso
Mychaela Falconia <falcon@freecalypso.org>
parents:
22
diff
changeset
|
127 and loadagent which are needed in order to use FreeCalypso loadtools. Run |
4213cf6536fa
doc/Compiling: update for the move to /opt/freecalypso
Mychaela Falconia <falcon@freecalypso.org>
parents:
22
diff
changeset
|
128 'make install' to install these target binaries in /opt/freecalypso/target-bin, |
4213cf6536fa
doc/Compiling: update for the move to /opt/freecalypso
Mychaela Falconia <falcon@freecalypso.org>
parents:
22
diff
changeset
|
129 which is where loadtools will look for them. |
0
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
130 |
56
4213cf6536fa
doc/Compiling: update for the move to /opt/freecalypso
Mychaela Falconia <falcon@freecalypso.org>
parents:
22
diff
changeset
|
131 Run 'make all' in target-utils to build some additional target code pieces that |
4213cf6536fa
doc/Compiling: update for the move to /opt/freecalypso
Mychaela Falconia <falcon@freecalypso.org>
parents:
22
diff
changeset
|
132 are needed only for development and only very rarely. |
475
c08ff097b2aa
CHANGES and INSTALL: staged install ability documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
435
diff
changeset
|
133 |
c08ff097b2aa
CHANGES and INSTALL: staged install ability documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
435
diff
changeset
|
134 Staged installs |
c08ff097b2aa
CHANGES and INSTALL: staged install ability documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
435
diff
changeset
|
135 =============== |
c08ff097b2aa
CHANGES and INSTALL: staged install ability documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
435
diff
changeset
|
136 |
c08ff097b2aa
CHANGES and INSTALL: staged install ability documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
435
diff
changeset
|
137 As already explained above, our FC host tools need to be installed under |
c08ff097b2aa
CHANGES and INSTALL: staged install ability documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
435
diff
changeset
|
138 /opt/freecalypso on your system in order to function correctly, and this runtime |
c08ff097b2aa
CHANGES and INSTALL: staged install ability documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
435
diff
changeset
|
139 location is not changeable. However, some users have requested an ability to |
c08ff097b2aa
CHANGES and INSTALL: staged install ability documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
435
diff
changeset
|
140 do a staged install: have the 'make install' operation install the finished |
c08ff097b2aa
CHANGES and INSTALL: staged install ability documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
435
diff
changeset
|
141 tree of files in some staging location, with the expectation that it will be |
c08ff097b2aa
CHANGES and INSTALL: staged install ability documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
435
diff
changeset
|
142 subsequently moved to /opt/freecalypso by some other mechanism. One use case |
c08ff097b2aa
CHANGES and INSTALL: staged install ability documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
435
diff
changeset
|
143 that has been presented to us was automated building of binary distribution |
c08ff097b2aa
CHANGES and INSTALL: staged install ability documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
435
diff
changeset
|
144 packages on a build host where writing to /opt/freecalypso is not allowed. |
c08ff097b2aa
CHANGES and INSTALL: staged install ability documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
435
diff
changeset
|
145 |
c08ff097b2aa
CHANGES and INSTALL: staged install ability documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
435
diff
changeset
|
146 If you need to make a staged install of this sort, you can do it like this: |
c08ff097b2aa
CHANGES and INSTALL: staged install ability documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
435
diff
changeset
|
147 |
c08ff097b2aa
CHANGES and INSTALL: staged install ability documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
435
diff
changeset
|
148 make install INSTALL_PREFIX=/home/me/my-fc-staging-area |
c08ff097b2aa
CHANGES and INSTALL: staged install ability documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
435
diff
changeset
|
149 |
c08ff097b2aa
CHANGES and INSTALL: staged install ability documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
435
diff
changeset
|
150 Please note that this INSTALL_PREFIX= scheme changes *only* the location where |
c08ff097b2aa
CHANGES and INSTALL: staged install ability documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
435
diff
changeset
|
151 'make install' will deposit the installable files; it does NOT change the |
c08ff097b2aa
CHANGES and INSTALL: staged install ability documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
435
diff
changeset
|
152 location where our programs will look for other programs and helper files: the |
c08ff097b2aa
CHANGES and INSTALL: staged install ability documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
435
diff
changeset
|
153 latter location is hard-coded as /opt/freecalypso is bazillion places throughout |
c08ff097b2aa
CHANGES and INSTALL: staged install ability documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
435
diff
changeset
|
154 our code base. |