1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-15 19:08:07 +00:00
trezor-firmware/docs/build.md
2018-03-10 21:17:29 +01:00

2.0 KiB

Build instructions

Build instructions for Emulator (Unix port)

Run the following to checkout the project:

git clone --recursive https://github.com/trezor/trezor-core.git
cd trezor-core

If are building the already cloned the project, don't forget to use the following to refresh the submodules:

make vendor

Linux

Debian/Ubuntu

sudo pip3 install --no-cache-dir pyblake2

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install scons libsdl2-dev:i386 libsdl2-image-dev:i386 gcc-multilib

make build_unix

Fedora

sudo pip3 install --no-cache-dir pyblake2

sudo yum install scons SDL2-devel.i686 SDL2_image-devel.i686

make build_unix

openSUSE

sudo pip3 install --no-cache-dir pyblake2

sudo zypper install scons libSDL2-devel-32bit libSDL2_image-devel-32bit

make build_unix

Arch

sudo pip3 install --no-cache-dir pyblake2

sudo pacman -S gcc-multilib scons lib32-sdl2 lib32-sdl2_image

make build_unix

OS X

pip3 install --no-cache-dir pyblake2

brew install scons sdl2 sdl2_image

make build_unix

Windows

Not supported yet ...

Build instructions for Embedded (ARM port)

Linux

For flashing firmware to blank device (without bootloader) use make flash, or make flash STLINK_VER=v2-1 if using a ST-LINK/V2.1 interface. You need to have OpenOCD installed.

Debian/Ubuntu

sudo pip3 install --no-cache-dir click pyblake2 scons
sudo pip3 install --no-deps git+https://github.com/trezor/python-trezor.git@master

sudo apt-get install gcc-arm-none-eabi libnewlib-arm-none-eabi

make vendor build_boardloader build_bootloader build_firmware

OS X

  1. Download gcc-arm-none-eabi
  2. Follow the install instructions
  3. To install OpenOCD, run brew install open-ocd
  4. Run make vendor build_boardloader build_bootloader build_firmware