]>
Commit | Line | Data |
---|---|---|
1 | The project compiles on Linux, Mac OS X and Windows (MinGW/MSYS). | |
2 | ||
3 | it requires: | |
4 | - gcc >= 4.8 | |
5 | - libpthread | |
6 | - libreadline | |
7 | - libusb | |
8 | - perl | |
9 | - an ARM cross-compiler to compile the firmware | |
10 | - libncurses5-dev | |
11 | ||
12 | and optionally QT for the GUI | |
13 | ||
14 | ||
15 | To compile, just run "make". | |
16 | ||
17 | =========== | |
18 | = Windows = | |
19 | =========== | |
20 | The following is a complete list of packages required to setup the compile environment yourself. Alternatively you can download an archive of the full environment (see below). | |
21 | ||
22 | 1 - Install QT SDK for Windows [1] | |
23 | ||
24 | In the following instructions, we'll assume you installed it to C:\QT | |
25 | ||
26 | 2 - MSYS-1.0.11 [2] | |
27 | ||
28 | Just follow the installation procedure. | |
29 | When asked if you have MinGW installed and for its path, provide: | |
30 | C:/QT/mingw | |
31 | ||
32 | 3 - readline-5.0-1-bin [5] | |
33 | ||
34 | From this archive, copy: | |
35 | bin/* to C:\QT\mingw\bin | |
36 | include/* to C:\QT\mingw\include | |
37 | lib/*.a to C:\QT\mingw\lib | |
38 | ||
39 | 4 - libusb-win32-device-bin-0.1.12.2 [6] | |
40 | ||
41 | Be careful here, it is *NOT* working with the filter version! | |
42 | Likewise copy: | |
43 | include/usb.h to C:\QT\mingw\include | |
44 | lib/gcc/libusb.a to C:\QT\mingw\lib | |
45 | ||
46 | ||
47 | 5 - Install DevkitPro [5] | |
48 | ||
49 | You'll need it to compile the firmware (ARM) side. | |
50 | You only need devkitARM, nothing more (no extra lib or anything else) | |
51 | Assuming you installed it to C:\devkitpro, make sure you set | |
52 | the DEVKITARM environment variable to /c/devkitPro/devkitARM : | |
53 | export DEVKITARM=/c/devkitPro/devkitARM | |
54 | Also, add its bin to your PATH: | |
55 | export PATH=$PATH:$DEVKITARM/bin | |
56 | ||
57 | 6 - Install Strawberry Perl [6] | |
58 | ||
59 | 7 - Setup a few variables | |
60 | ||
61 | In your shell from MSYS, make sure you set QTDIR to your QT installation: | |
62 | export QTDIR=/c/QT/qt | |
63 | And add its bin to your path as well: | |
64 | export PATH=$PATH:$QTDIR/bin | |
65 | ||
66 | Download links: | |
67 | ||
68 | [1] http://qt.nokia.com/downloads/sdk-windows-cpp | |
69 | [2] http://downloads.sourceforge.net/mingw/MSYS-1.0.11.exe | |
70 | [3] http://sourceforge.net/projects/gnuwin32/files/readline/5.0-1/readline-5.0-1-bin.zip/download | |
71 | [4] http://sourceforge.net/projects/libusb-win32/files/libusb-win32-releases/0.1.12.2/libusb-win32-device-bin-0.1.12.2.tar.gz/download | |
72 | [5] http://sourceforge.net/projects/devkitpro/files/Automated%20Installer/devkitProUpdater-1.5.0.exe/download | |
73 | [6] http://strawberry-perl.googlecode.com/files/strawberry-perl-5.10.1.1.msi | |
74 | ||
75 | Rather than download and install every one of these packages, a new ProxSpace | |
76 | environment archive file will be made available for download on the project | |
77 | page at http://code.google.com/p/proxmark3/downloads/list | |
78 | ||
79 | Download the ProxSpace environment archive and extract it to C:\ | |
80 | ||
81 | ============ | |
82 | = Mac OS X = | |
83 | ============ | |
84 | ||
85 | Tested on OSX 10.10 Yosemite | |
86 | ||
87 | 1 - Install Xcode and Xcode Command Line Tools | |
88 | ||
89 | 2 - Install Homebrew and dependencies | |
90 | brew install readline | |
91 | brew instal libusb | |
92 | ||
93 | 3 - Download DevKitARM for OSX | |
94 | http://sourceforge.net/projects/devkitpro/files/devkitARM/devkitARM_r44/ | |
95 | Unpack devkitARM_r44-osx.tar.bz2 to proxmark3 directory. | |
96 | ||
97 | 4 - Edit proxmark3/client/Makefile adding path to readline | |
98 | ||
99 | LDLIBS = -L/usr/local/Cellar/readline/6.3.8/lib/ -L/opt/local/lib -L/usr/local/lib ../liblua/liblua.a -lreadline -lpthread -lm | |
100 | CFLAGS = -std=c99 -I/usr/local/Cellar/readline/6.3.8/include/ -I. -I../include -I../common -I/opt/local/include -I../liblua -Wall $(COMMON_FLAGS) -g -O4 | |
101 | ||
102 | Replace path /usr/local/Cellar/readline/6.3.8 with your actuall readline path. See homebrew manuals. | |
103 | ||
104 | 5 - Set Environment | |
105 | ||
106 | export DEVKITPRO=$HOME/proxmark3/ | |
107 | export DEVKITARM=$DEVKITPRO/devkitARM | |
108 | export PATH=${PATH}:${DEVKITARM}/bin | |
109 | ||
110 | ||
111 | ============ | |
112 | = Linux = | |
113 | ============ | |
114 | ||
115 | 1 - Download | |
116 | ||
117 | A precompiled DevKitARM cross compiler tool chain package can be found at | |
118 | http://sourceforge.net/projects/devkitpro/files/devkitARM | |
119 | Select the one you need (32bit or 64bit) and unpack to a convinient place, eg | |
120 | $HOME/proxmark3/. It will create a devkitARM/ subdirectory. | |
121 | ||
122 | You will also need a general compiling environment on your computer for | |
123 | the client and the libusb headers. In most distributions you will get all you | |
124 | need with the lsb-package (Linux Standard Base). In debian/ubuntu you simply | |
125 | call `aptitude install lsb libusb-dev libreadline-dev libreadline6`. | |
126 | ||
127 | For the graphical plot view, you might need the qtlibs (debian/ubuntu: | |
128 | libqt4-dev), too. | |
129 | ||
130 | 2 - Set Environment | |
131 | ||
132 | export DEVKITPRO=$HOME/proxmark3/ | |
133 | export DEVKITARM=$DEVKITPRO/devkitARM | |
134 | export PATH=${PATH}:${DEVKITARM}/bin | |
135 |