Go to file
Pavol Rusnak 5765fccc0d update README 2014-08-20 10:46:48 +02:00
demo move APPVER guards from includes to app code 2014-07-07 15:03:34 +02:00
firmware check coin->address_type while building output 2014-08-19 00:49:17 +02:00
gen import v1.0.0 2014-04-29 14:38:32 +02:00
trezor-common@5bbe684c10 implement GetAddress.show_display 2014-08-13 11:08:15 +02:00
trezor-crypto@ffd2d69dd6 new trezor-crypto, uint32_t -> size_t 2014-07-17 19:58:19 +02:00
trezor-qrenc@dfcfd702be implement GetAddress.show_display 2014-08-13 11:08:15 +02:00
.gitignore small changes to scripts for deterministic builds 2014-06-19 02:31:07 +02:00
.gitmodules implement GetAddress.show_display 2014-08-13 11:08:15 +02:00
COPYING import v1.0.0 2014-04-29 14:38:32 +02:00
Dockerfile enable stack protector 2014-07-31 19:44:03 +02:00
Makefile import v1.0.0 2014-04-29 14:38:32 +02:00
Makefile.include implement GetAddress.show_display 2014-08-13 11:08:15 +02:00
README.rst update README 2014-08-20 10:46:48 +02:00
buttons.c import v1.0.0 2014-04-29 14:38:32 +02:00
buttons.h adapt to new opencm3 include structure 2014-06-19 00:12:31 +02:00
firmware-docker-build.sh simplify firmware-docker-build.sh 2014-07-07 16:59:37 +02:00
firmware-fingerprint.sh prepare 1.2.0 release 2014-07-03 01:20:34 +02:00
layout.c import v1.0.0 2014-04-29 14:38:32 +02:00
layout.h import v1.0.0 2014-04-29 14:38:32 +02:00
memory.c adapt to new opencm3 include structure 2014-06-19 00:12:31 +02:00
memory.h import v1.0.0 2014-04-29 14:38:32 +02:00
memory.ld import v1.0.0 2014-04-29 14:38:32 +02:00
memory_app_0.0.0.ld import v1.0.0 2014-04-29 14:38:32 +02:00
memory_app_1.0.0.ld import v1.0.0 2014-04-29 14:38:32 +02:00
oled.c adapt to new opencm3 include structure 2014-06-19 00:12:31 +02:00
oled.h move APPVER guards from includes to app code 2014-07-07 15:03:34 +02:00
rng.c new trezor-crypto, uint32_t -> size_t 2014-07-17 19:58:19 +02:00
rng.h new trezor-crypto, uint32_t -> size_t 2014-07-17 19:58:19 +02:00
serialno.c enable stack protector 2014-07-31 19:44:03 +02:00
serialno.h import v1.0.0 2014-04-29 14:38:32 +02:00
setup.c move APPVER guards from includes to app code 2014-07-07 15:03:34 +02:00
setup.h move APPVER guards from includes to app code 2014-07-07 15:03:34 +02:00
util.c import v1.0.0 2014-04-29 14:38:32 +02:00
util.h import v1.0.0 2014-04-29 14:38:32 +02:00

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``

This creates trezor.bin in current directory 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.

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.