1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-22 15:38:11 +00:00
Go to file
Pavol Rusnak ae5bd43702 Merge pull request #26 from hno/patches/versioned_output
Put firmware files in output/ and name them with the tag built
2015-04-28 21:17:20 +02:00
bootloader update trezor-crypto 2015-03-12 16:14:11 +01:00
demo update trezor-crypto 2014-10-30 01:38:40 +01:00
firmware seconds counter during pin lockdown 2015-04-16 18:16:30 +02:00
gen speed up public ckd (used in multisig) 2015-02-15 20:47:53 +01:00
trezor-common@e96ec085d5 add pin_cached + passphrase_cached fields to Features message; add GetFeatures message 2015-03-30 15:47:03 +02:00
trezor-crypto@a757693fe3 update trezor-crypto 2015-03-31 16:26:51 +02:00
trezor-qrenc@1da1cedfd6 enable OP_RETURN 2015-02-04 20:04:59 +01:00
.gitignore bootloader source code 2014-10-23 18:09:41 +02:00
.gitmodules implement GetAddress.show_display 2014-08-13 11:08:15 +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
COPYING import v1.0.0 2014-04-29 14:38:32 +02:00
Dockerfile reorder Dockerfile 2015-04-02 17:47:28 +02:00
firmware-docker-build.sh Put firmware files in output/ and name them with the tag built 2015-04-17 09:02:18 +02:00
firmware-fingerprint.sh prepare 1.2.0 release 2014-07-03 01:20:34 +02:00
layout.c call layout functions where needed to rewrite the display after dialog choice 2015-02-25 17:57:47 +01:00
layout.h rework layoutProgress functions 2014-12-21 18:58:56 +01:00
Makefile import v1.0.0 2014-04-29 14:38:32 +02:00
Makefile.include cmdtr -> trezorctl 2015-03-12 15:21:22 +01: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
memory.c use hdnode_private_ckd_cached where appropriate 2015-01-26 20:24:07 +01: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
oled.c correctly skip utf-8 characters 2015-02-13 17:42:23 +01:00
oled.h refactor font handling 2015-02-13 15:37:23 +01:00
README.rst prepare 1.3.2 release 2015-03-21 10:44:30 +01:00
rng.c use Knuth shuffles 2015-02-13 20:51:02 +01:00
rng.h use Knuth shuffles 2015-02-13 20:51:02 +01: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

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 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 (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.