1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-22 07:28:10 +00:00
Go to file
2015-06-28 21:28:00 +02:00
bootloader no need for bignum.small.o as there is no difference anymore 2015-04-30 01:35:49 +02:00
demo update trezor-crypto 2014-10-30 01:38:40 +01:00
firmware Merge branch 'master' of git://github.com/romanz/trezor-mcu into romanz-master 2015-06-28 21:26:15 +02:00
gen speed up public ckd (used in multisig) 2015-02-15 20:47:53 +01:00
trezor-common@d334bbf740 update submodules 2015-06-28 21:28:00 +02:00
trezor-crypto@71c24673ce update submodules 2015-06-28 21:28:00 +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 update submodules 2015-06-28 21:28:00 +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 enable Trezor to perform SSH public key authentication 2015-06-26 10:43:39 +03: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 fix last commit 2015-04-28 21:20:51 +02: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 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.