diff --git a/Makefile b/Makefile index cc7e0554e..54518020b 100644 --- a/Makefile +++ b/Makefile @@ -73,7 +73,11 @@ tarbin: newtarbin client/tarbin armsrc/tarbin bootrom/tarbin udev: sudo cp -rf driver/77-mm-usb-device-blacklist.rules /etc/udev/rules.d/77-mm-usb-device-blacklist.rules sudo udevadm control --reload-rules +ifneq ($(wildcard /etc/arch-release),) #If user is running ArchLinux + sudo usermod -aG uucp $(USER) #Use specific command and group +else sudo adduser $(USER) dialout +endif # easy printing of MAKE VARIABLES print-%: ; @echo $* = $($*) diff --git a/README.md b/README.md index 755ada1ff..9e8890e4c 100644 --- a/README.md +++ b/README.md @@ -84,34 +84,63 @@ See https://github.com/Proxmark/proxmark3/wiki/Ubuntu%20Linux A nice and cool install script made by @daveio is found here: https://github.com/daveio/attacksurface/blob/master/proxmark3/pm3-setup.sh -I have also added this script to the fork. +I have also added this script to the fork. https://github.com/iceman1001/proxmark3/blob/master/install.sh -- Run +- Run `sudo apt-get install p7zip git build-essential libreadline5 libreadline-dev libusb-0.1-4 libusb-dev libqt4-dev perl pkg-config wget libncurses5-dev gcc-arm-none-eabi` -- Clone iceman fork +- Clone iceman fork `git clone https://github.com/iceman1001/proxmark3.git` -- Get the latest commits +- Get the latest commits `git pull` -- Install the blacklist rules and add user to dialout group (if you on a Linux/ubuntu/debian). If you do this one, you need to logout and login in again to make sure your rights got changed. +- Install the blacklist rules and add user to dialout group (if you on a Linux/ubuntu/debian). If you do this one, you need to logout and login in again to make sure your rights got changed. `make udev` -- Clean and complete compilation +- Clean and complete compilation `make clean && make all` -- Flash the BOOTROM +- Flash the BOOTROM `client/flasher /dev/ttyACM0 -b bootrom/obj/bootrom.elf` -- Flash the FULLIMAGE +- Flash the FULLIMAGE `client/flasher /dev/ttyACM0 armsrc/obj/fullimage.elf` -- Change into the client folder +- Change into the client folder `cd client` -- Run the client +- Run the client +`./proxmark3 /dev/ttyACM0` + +## Setup and build for ArchLinux +- Run +`sudo pacman -Sy base-devel p7zip libusb readline ncurses arm-none-eabi-newlib --needed` +`yaourt -S termcap` + +- Clone iceman fork +`git clone https://github.com/iceman1001/proxmark3.git` + +- Get the latest commits +`git pull` + +- Install the blacklist rules and add user to dialout group (if you on a Linux/ubuntu/debian). If you do this one, you need to logout and login in again to make sure your rights got changed. +`make udev` + +- Clean and complete compilation +`make clean && make all` + +- Flash the BOOTROM +`client/flasher /dev/ttyACM0 -b bootrom/obj/bootrom.elf` + +- Flash the FULLIMAGE +`client/flasher /dev/ttyACM0 armsrc/obj/fullimage.elf` + +- Change into the client folder +`cd client` + +- Run the client `./proxmark3 /dev/ttyACM0` ## Homebrew (Mac OS X) @@ -154,13 +183,13 @@ Use the following list of packages required to setup the compile environment you ### 1. QT Open Source -Download QT 5.6.1: http://download.qt.io/archive/qt/5.6/5.6.1-1/qt-opensource-windows-x86-mingw492-5.6.1-1.exe -Install to `C:\Qt` and choose the following components to be installed: +Download QT 5.6.1: http://download.qt.io/archive/qt/5.6/5.6.1-1/qt-opensource-windows-x86-mingw492-5.6.1-1.exe +Install to `C:\Qt` and choose the following components to be installed: - QT - MinGW 32 bit - Tools - MinGW -In your shell from MSYS (see below), make sure you set QTDIR to your QT installation and add its bin to your path as well: -`export QTDIR=/c/Qt/5.6/mingw49_32` +In your shell from MSYS (see below), make sure you set QTDIR to your QT installation and add its bin to your path as well: +`export QTDIR=/c/Qt/5.6/mingw49_32` `export PATH=$PATH:$QTDIR/bin` ### 2. MSYS @@ -171,23 +200,23 @@ Download MSYS: http://downloads.sourceforge.net/mingw/MSYS-1.0.11.exe Follow the installation procedure, you may want to install MSYS to `C:\Qt\msys` and when asked where is your MinGW installation and for its path answer the following: `c:/Qt/Tools/mingw492_32` ### 3. Readline -Download and unpack: https://sourceforge.net/projects/gnuwin32/files/readline/5.0-1/readline-5.0-1-bin.zip/download +Download and unpack: https://sourceforge.net/projects/gnuwin32/files/readline/5.0-1/readline-5.0-1-bin.zip/download -`bin/*` to `C:\Qt\5.6\Tools\mingw492_32\bin` -`include/*` to `C:\Qt\5.6\Tools\mingw492_32\include` +`bin/*` to `C:\Qt\5.6\Tools\mingw492_32\bin` +`include/*` to `C:\Qt\5.6\Tools\mingw492_32\include` `lib/*` to `C:\Qt\5.6\Tools\mingw492_32\lib` ### 4. LibUSB Download and unpack: https://sourceforge.net/projects/libusb-win32/files/latest/download?source=files -`include/lusb0_usb.h` to `C:\Qt\5.6\Tools\mingw492_32\include` +`include/lusb0_usb.h` to `C:\Qt\5.6\Tools\mingw492_32\include` `lib/gcc/libusb.a` to `C:\Qt\5.6\Tools\mingw492_32\lib` ### 5. DevkitPro Download and install: https://sourceforge.net/projects/devkitpro/files/latest/download?source=files -You only need devkitARM, nothing more (no extra lib or anything else) to compile the firmware (ARM) side. Assuming you installed it to `C:\devkitpro`, make sure you set the `DEVKITARM` environment variable to `/c/devkitPro/devkitARM` and add its bin to your PATH: -`export DEVKITARM=/c/devkitPro/devkitARM` +You only need devkitARM, nothing more (no extra lib or anything else) to compile the firmware (ARM) side. Assuming you installed it to `C:\devkitpro`, make sure you set the `DEVKITARM` environment variable to `/c/devkitPro/devkitARM` and add its bin to your PATH: +`export DEVKITARM=/c/devkitPro/devkitARM` `export PATH=$PATH:$DEVKITARM/bin` ### 6. Install Strawberry Perl @@ -198,30 +227,30 @@ Download and install Git for Windows: https://git-scm.com/download/win - Run minimal system: `C:\Qt\msys\msys.bat` -- Set the environment: -`export DEVKITARM=/c/devkitPro/devkitARM` -`export PATH=$PATH:$DEVKITARM/bin` -`export QTDIR=/c/Qt/5.6/mingw49_32` +- Set the environment: +`export DEVKITARM=/c/devkitPro/devkitARM` +`export PATH=$PATH:$DEVKITARM/bin` +`export QTDIR=/c/Qt/5.6/mingw49_32` `export PATH=$PATH:$QTDIR/bin` -- Clone iceman fork +- Clone iceman fork `git clone https://github.com/iceman1001/proxmark3.git` - Get the latest commits `git pull` -- CLEAN COMPILE +- CLEAN COMPILE `make clean && make all` Assuming you have Proxmark3 Windows drivers installed you can run the Proxmark software where "X" is the com port number assigned to proxmark3 under Windows. -- Flash the BOOTROM +- Flash the BOOTROM `client/flasher.exe comX -b bootrom/obj/bootrom.elf` - Flash the FULLIMAGE `client/flasher.exe comX armsrc/obj/fullimage.elf` -- Change into the client folder +- Change into the client folder `cd client` - Run the client @@ -232,7 +261,7 @@ The Proxmark 3 device is available for purchase (assembled and tested) from the * http://proxmark3.tictail.com/ (For buyers in EU, most likely in Sweden) - * http://www.elechouse.com/ (new and revised hardware package 2015, located in China) + * http://www.elechouse.com/ (new and revised hardware package 2015, located in China) Enjoy!