annotate INSTALL @ 921:74d284add54d

fc-fsio: guard against bogus readdir results from the target If the FFS being operated on contains SE K2x0 extended filenames, readdir will return strings that are bad for printing. We need to guard against this possibility, and also against possible other bogosity that could be sent by other alien firmwares.
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 31 Dec 2022 22:55:23 +0000
parents f33d050eac6e
children
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)
719
f33d050eac6e INSTALL: libserial-linux change
Mychaela Falconia <falcon@freecalypso.org>
parents: 475
diff changeset
78 is libserial-linux. This version of libserial has the advantage of supporting
262
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.