FreeCalypso > hg > fc-sim-tools
annotate INSTALL @ 63:f4eb486aab40
doc/Admin-write-commands: fix verify-hex command name
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Tue, 23 Mar 2021 23:29:31 +0000 | 
| parents | 0fec41a10131 | 
| children | 
| rev | line source | 
|---|---|
| 
52
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1 Installation location | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2 ===================== | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3 | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
4 The present FC SIM tools package is part of the greater FreeCalypso software | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
5 family, therefore, these tools are designed to be installed in the | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
6 /opt/freecalypso directory hierarchy on your system. Changing this install | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
7 location is NOT ALLOWED: if you try to change it, you will break things, and I, | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
8 the author of this software, will not provide any help or support whatsoever to | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
9 anyone who seeks to change our fixed installation location. | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
10 | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
11 Building and installing FC SIM tools | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
12 ==================================== | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
13 | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
14 In order to compile and install our tools, follow these steps: | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
15 | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
16 1: Run 'make' as a regular user (not root) to compile the software. | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
17 | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
18 2: Decide if you prefer to have the /opt/freecalypso directory and everything | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
19 under it to be owned by root or by your non-root uid. | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
20 | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
21 If you prefer /opt/freecalypso to be root-owned: | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
22 | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
23 3A: Run 'make install' as root; the install rule in the | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
24 Makefile will do mkdir -p /opt/freecalypso as its first step. | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
25 | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
26 4A: You are done! | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
27 | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
28 If you prefer /opt/freecalypso to be owned by your "regular" non-root uid: | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
29 | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
30 3B: Become root just to create the /opt/freecalypso directory and chown it | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
31 to your non-root uid. | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
32 | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
33 4B: Run 'make install' as your regular uid; it should succeed because you | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
34 should have made yourself the owner of /opt/freecalypso with full write | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
35 permission in the previous step. | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
36 | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
37 5B: You are done! | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
38 | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
39 fc-simtool and other binaries will be installed in /opt/freecalypso/bin; you | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
40 can either add this directory to your PATH or make symlinks from /usr/bin or | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
41 /usr/local/bin or wherever. | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
42 | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
43 Including or excluding pcsc back end | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
44 ==================================== | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
45 | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
46 The main body of software in the present package (fc-simtool, fc-uicc-tool and | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
47 all accessory programs except pcsc-specific ones) has zero compile-time | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
48 dependencies, needing only a working C compiler, standard system header files | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
49 under /usr/include, and libc. However, one of the 3 card access back ends | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
50 supported by our tools is pcsc, and that back end requires libpcsclite and its | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
51 header files in order to compile. | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
52 | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
53 You can include or exclude this pcsc back end depending on your needs. If you | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
54 wish to use a professional card reading/programming station like HID Omnikey | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
55 3121 or its pocket sibling Omnikey 6121 (both of which are USB CCIDs), then you | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
56 will need to go through the pain of getting pcsc-lite up and running on your | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
57 system, including a working installation of libpcsclite and its header files - | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
58 going through this pcsc-lite software stack is the only way to operate these | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
59 USB CCIDs. OTOH, if you are going to be a more casual (not professional) user | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
60 of FC SIM tools, only needing to occasionally poke at a SIM card inside your | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
61 Calypso phone or perhaps in a serial SIM reader, without ever using professional | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
62 card readers of the type that require pcsc-lite, then you can simply exclude the | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
63 part of our software suite that needs pcsc-lite (the pcsc back end), and enjoy | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
64 traditional FreeCalypso software with zero compile-time dependencies. | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
65 | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
66 To exclude pcsc from your build, change the standard 'make' and 'make install' | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
67 commands as follows: | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
68 | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
69 make PCSC= | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
70 make PCSC= install | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
71 | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
72 CC= and CFLAGS= selection | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
73 ========================= | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
74 | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
75 Our Makefile hierarchy is set up to build with CC=gcc and CFLAGS=-O2 by default. | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
76 If you need to change either or both of these selections, you can do it by | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
77 adding CC= and/or CFLAGS= on the make invokation line, for example: | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
78 | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
79 make CC=mygcc CFLAGS="-g -O2 -whatever-options" | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
80 | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
81 Porting to systems other than Linux | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
82 =================================== | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
83 | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
84 Most of the present software is written to be generic to any Unix, but the | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
85 Mother currently uses only Linux, thus no other systems have been tested. One | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
86 component that is known to be Linux-specific is the serial SIM reader back end, | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
87 which is written to work with arbitrary UART baud rates and not just RS-232 | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
88 standard ones like 9600 bps - see doc/Serial-SIM-readers for the details. | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
89 | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
90 Staged installs | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
91 =============== | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
92 | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
93 As already explained above, our FC SIM tools need to be installed under | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
94 /opt/freecalypso on your system in order to function correctly, and this runtime | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
95 location is not changeable. However, some users have requested an ability to | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
96 do a staged install: have the 'make install' operation install the finished | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
97 tree of files in some staging location, with the expectation that it will be | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
98 subsequently moved to /opt/freecalypso by some other mechanism. One use case | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
99 that has been presented to us was automated building of binary distribution | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
100 packages on a build host where writing to /opt/freecalypso is not allowed. | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
101 | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
102 If you need to make a staged install of this sort, you can do it like this: | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
103 | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
104 make install INSTALL_PREFIX=/home/me/my-fc-staging-area | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
105 | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
106 Please note that this INSTALL_PREFIX= scheme changes *only* the location where | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
107 'make install' will deposit the installable files; it does NOT change the | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
108 location where our programs will look for other programs and helper files: the | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
109 latter location is hard-coded as /opt/freecalypso is bazillion places throughout | 
| 
 
0fec41a10131
INSTALL article written
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
110 our code base. | 
