proxmark3/doc/md/Installation_Instructions/Linux-Installation-Instructions.md

158 lines
5.8 KiB
Markdown
Raw Normal View History

2021-12-31 18:36:43 +08:00
<a id="Top"></a>
# Linux Installation Instructions
# Table of Contents
- [Linux Installation Instructions](#linux-installation-instructions)
- [Table of Contents](#table-of-contents)
- [External resources](#external-resources)
- [Install the required dependencies](#install-the-required-dependencies)
- [On Debian / Ubuntu / Kali / ParrotOS / Raspbian](#on-debian--ubuntu--kali--parrotos--raspbian)
- [On ArchLinux](#on-archlinux)
- [On Fedora](#on-fedora)
- [On openSUSE](#on-opensuse)
2022-02-04 03:26:36 +08:00
- [Clone the Iceman repository](#clone-the-iceman-repository)
2021-12-31 18:36:43 +08:00
- [Check ModemManager](#check-modemmanager)
- [⚠️ Very important ⚠️](#-very-important-)
- [Check connection](#check-connection)
- [Get permissions to use /dev/ttyACM0](#get-permissions-to-use-devttyacm0)
- [Compile and use the project](#compile-and-use-the-project)
2019-05-06 01:53:58 +08:00
# External resources
2021-12-31 18:36:43 +08:00
^[Top](#top)
2019-05-06 01:53:58 +08:00
2019-05-07 01:49:15 +08:00
You might want to follow one of these external resources to get an overview, but please still read carefully this page as some instructions may have evolved.
2019-05-06 01:53:58 +08:00
* [Kali Video Installation guide](https://youtu.be/t5eBPS6lV3E "Kali Linux Installation Tutorial")
* [Ubuntu Video Installation guide](https://youtu.be/DThmkH8CdMo "Ubuntu Installation Tutorial")
* [ParrotOS Video Installation guide](https://youtu.be/Wl9AsrU4igo "ParrotOS Installation Tutorial")
![Linux Installation Video Screenshot](https://github.com/5w0rdfish/Proxmark3-RDV4-ParrotOS/blob/master/screenshot-www.youtube.com-2019.03.17-20-44-33.png)
* ParrotOS: some further notes can be found at @5w0rdfish repo [Proxmark Installation for Parrot OS](https://github.com/5w0rdfish/Proxmark3-RDV4-ParrotOS)
2019-05-06 01:53:58 +08:00
# Install the required dependencies
2021-12-31 18:36:43 +08:00
^[Top](#top)
2019-05-06 01:53:58 +08:00
## On Debian / Ubuntu / Kali / ParrotOS / Raspbian
2021-12-31 18:36:43 +08:00
^[Top](#top)
2019-05-06 01:53:58 +08:00
First what we want to do is get an update for the system. If you need to upgrade do this **before** the install. An upgrade was carried out prior to following these instructions.
Update the packages list
```sh
sudo apt-get update
```
Install the requirements
```sh
sudo apt-get install --no-install-recommends git ca-certificates build-essential pkg-config \
2022-02-04 03:26:36 +08:00
libreadline-dev gcc-arm-none-eabi libnewlib-dev qtbase5-dev libbz2-dev libbluetooth-dev libpython3-dev libssl-dev
2019-05-06 01:53:58 +08:00
```
If you don't need the native Bluetooth support in the client, you can skip the installation of `libbluetooth-dev`.
If you don't need the graphical components of the Proxmark3 client (such as in `hw tune`), you can skip the installation of `qtbase5-dev`.
2019-05-07 01:49:15 +08:00
If you don't need support for Python3 scripts in the Proxmark3 client, you can skip the installation of `libpython3-dev`.
2019-05-07 01:49:15 +08:00
If you get some (non blocking) error at runtime such as _Gtk-Message: Failed to load module "canberra-gtk-module"_ you may have to install `libcanberra-gtk-module`.
2019-05-06 01:53:58 +08:00
## On ArchLinux
2021-12-31 18:36:43 +08:00
^[Top](#top)
2019-05-06 01:53:58 +08:00
```sh
sudo pacman -Syu git base-devel readline bzip2 arm-none-eabi-gcc arm-none-eabi-newlib qt5-base bluez python --needed
```
2019-05-07 01:49:15 +08:00
If you don't need the native Bluetooth support in the client, you can skip the installation of `bluez`.
If you don't need the graphical components of the Proxmark3 client (such as in `hw tune`), you can skip the installation of `qt5-base`.
If you don't need support for Python3 scripts in the Proxmark3 client, you can skip the installation of `python`.
2019-09-02 02:09:03 +08:00
## On Fedora
2021-12-31 18:36:43 +08:00
^[Top](#top)
2019-09-02 02:09:03 +08:00
```sh
2022-02-04 03:26:36 +08:00
sudo dnf install git make gcc gcc-c++ arm-none-eabi-gcc-cs arm-none-eabi-newlib readline-devel bzip2-devel qt5-qtbase-devel bluez-libs-devel python3-devel libatomic openssl-devel
2019-09-02 02:09:03 +08:00
```
If you don't need the native Bluetooth support in the client, you can skip the installation of `bluez-libs-devel`.
If you don't need the graphical components of the Proxmark3 client (such as in `hw tune`), you can skip the installation of `qt5-qtbase-devel`.
If you don't need support for Python3 scripts in the Proxmark3 client, you can skip the installation of `python3-devel`.
## On openSUSE
2021-12-31 18:36:43 +08:00
^[Top](#top)
```sh
2022-02-04 03:26:36 +08:00
sudo zypper install git patterns-devel-base-devel_basis gcc-c++ readline-devel libbz2-devel cross-arm-none-gcc9 cross-arm-none-newlib-devel python3-devel libqt5-qtbase-devel libopenssl-devel
```
Note that Bluez is not available on openSUSE so the native Bluetooth support won't be available in the client.
If you don't need the graphical components of the Proxmark3 client (such as in `hw tune`), you can skip the installation of `libqt5-qtbase-devel`.
If you don't need support for Python3 scripts in the Proxmark3 client, you can skip the installation of `python3-devel`.
2022-02-04 03:26:36 +08:00
# Clone the Iceman repository
2021-12-31 18:36:43 +08:00
^[Top](#top)
2019-05-06 01:53:58 +08:00
```sh
git clone https://github.com/RfidResearchGroup/proxmark3.git
```
# Check ModemManager
2021-12-31 18:36:43 +08:00
^[Top](#top)
2019-05-06 01:53:58 +08:00
### ⚠️ Very important ⚠️
2021-12-31 18:36:43 +08:00
^[Top](#top)
2020-10-23 07:24:54 +08:00
make sure ModemManager will not interfere, otherwise it could brick your Proxmark3!
2019-05-06 01:53:58 +08:00
Read carefully [this page about ModemManager](ModemManager-Must-Be-Discarded.md) and follow its instructions.
# Check connection
2021-12-31 18:36:43 +08:00
^[Top](#top)
2019-05-06 01:53:58 +08:00
Check the proxmark is being picked up by your computer. Plug it in, then:
```sh
sudo dmesg | grep -i usb
```
It should show up as a CDC device:
```
usb 2-1.2: Product: PM3
usb 2-1.2: Manufacturer: proxmark.org
cdc_acm 2-1.2:1.0: ttyACM0: USB ACM device
```
And a new `/dev/ttyACM0` should have appeared.
# Get permissions to use /dev/ttyACM0
2021-12-31 18:36:43 +08:00
^[Top](#top)
2019-05-06 01:53:58 +08:00
Add current user to the proper group to get permission to use `/dev/ttyACM0`.
2022-02-27 00:15:32 +08:00
This step can be done from the Iceman Proxmark3 repo with:
2019-05-06 01:53:58 +08:00
```sh
make accessrights
```
Then, you *need* to logout and login in again for your new group membership to be fully effective.
To test you have the proper read & write rights, plug the Proxmark3 and execute:
```sh
[ -r /dev/ttyACM0 ] && [ -w /dev/ttyACM0 ] && echo ok
```
It must return `ok`. Otherwise this means you've got a permission problem to fix.
2019-05-06 01:53:58 +08:00
# Compile and use the project
2021-12-31 18:36:43 +08:00
^[Top](#top)
2019-05-06 01:53:58 +08:00
Now you're ready to follow the [compilation instructions](/doc/md/Use_of_Proxmark/0_Compilation-Instructions.md).