You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Go to file
Pavol Rusnak b4728e6cf9
Merge pull request #27 from jhoenicke/master
9 years ago
bootloader no need for bignum.small.o as there is no difference anymore 9 years ago
demo
firmware Merge pull request #27 from jhoenicke/master 9 years ago
gen
trezor-common@e96ec085d5 add pin_cached + passphrase_cached fields to Features message; add GetFeatures message 9 years ago
trezor-crypto@a757693fe3 update trezor-crypto 9 years ago
trezor-qrenc@1da1cedfd6
.gitignore
.gitmodules
COPYING
Dockerfile reorder Dockerfile 9 years ago
Makefile
Makefile.include cmdtr -> trezorctl 9 years ago
README.rst fix last commit 9 years ago
buttons.c
buttons.h
firmware-docker-build.sh fix last commit 9 years ago
firmware-fingerprint.sh
layout.c call layout functions where needed to rewrite the display after dialog choice 9 years ago
layout.h
memory.c
memory.h
memory.ld
memory_app_0.0.0.ld
memory_app_1.0.0.ld
oled.c
oled.h
rng.c
rng.h
serialno.c
serialno.h
setup.c
setup.h
util.c
util.h

README.rst

TREZOR Firmware
===============

http://bitcointrezor.com/

How to build Trezor firmware?
-----------------------------

1. Install Docker (from docker.com or from your distribution repositories)
2. ``git clone https://github.com/trezor/trezor-mcu.git``
3. ``cd trezor-mcu``
4. ``./firmware-docker-build.sh TAG`` (where TAG is v1.3.2 for example, if left blank the script builds latest commit)

This creates file ``output/trezor-TAG.bin`` and prints its fingerprint at the last line of the build log.

How to get fingerprint of firmware signed and distributed by SatoshiLabs?
-------------------------------------------------------------------------

1. Pick version of firmware binary listed on https://mytrezor.com/data/firmware/releases.json
2. Download it: ``wget -O trezor.signed.bin.hex https://mytrezor.com/data/firmware/trezor-1.1.0.bin.hex``
3. ``xxd -r -p trezor.signed.bin.hex trezor.signed.bin``
4. ``./firmware-fingerprint.sh trezor.signed.bin``

Step 4 should produce the same sha256 fingerprint like your local build (for the same version tag).

The reasoning for ``firmware-fingerprint.sh`` script is that signed firmware has special header holding signatures themselves, which must be avoided while calculating the fingerprint.