FreeCalypso > hg > freecalypso-tools
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 |
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. |