annotate INSTALL @ 477:58d3a0634272

target-utils/*/Makefile: better construct for crt0.S symlink
author Mychaela Falconia <falcon@freecalypso.org>
date Wed, 13 Feb 2019 06:21:42 +0000
parents c08ff097b2aa
children f33d050eac6e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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.