Go to file
Pavol Rusnak a2eb43b057 fix message length in msg_read_tiny 2014-07-27 16:20:35 +02:00
demo move APPVER guards from includes to app code 2014-07-07 15:03:34 +02:00
firmware fix message length in msg_read_tiny 2014-07-27 16:20:35 +02:00
gen import v1.0.0 2014-04-29 14:38:32 +02:00
trezor-common@fc98712da5 prepare 1.2.0 release 2014-07-03 01:20:34 +02:00
trezor-crypto@ffd2d69dd6 new trezor-crypto, uint32_t -> size_t 2014-07-17 19:58:19 +02:00
.gitignore small changes to scripts for deterministic builds 2014-06-19 02:31:07 +02:00
.gitmodules import v1.0.0 2014-04-29 14:38:32 +02:00
COPYING import v1.0.0 2014-04-29 14:38:32 +02:00
Dockerfile prepare 1.2.0 release 2014-07-03 01:20:34 +02:00
Makefile import v1.0.0 2014-04-29 14:38:32 +02:00
Makefile.include leave GPIO9 floating 2014-07-01 20:29:44 +02:00
README Fixed docker build howto 2014-06-22 19:29:28 +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 import v1.0.0 2014-04-29 14:38:32 +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

TREZOR firmware

http://bitcointrezor.com/

How to build Trezor firmware?
=============================
1. Install Docker (docker.com)
2. git clone https://github.com/trezor/trezor-mcu.git
3. cd trezor-mcu
4. sudo ./firmware-docker-build.sh (sudo may be needed on some distros because of Docker)

This generates trezor.bin in current directory and prints sha256 fingerprint on last line of build log.

How to get sha256 fingerprint of firmware signed and distributed by SatoshiLabs?
================================================================================
1. Pick proper 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 behind "firmware-fingerprint.sh" is that signed firmware has special header holding signatures themselves,
which must be removed before calculating fingerprint.