mirror of
https://github.com/trezor/trezor-firmware.git
synced 2024-11-22 15:38:11 +00:00
bootloader | ||
demo | ||
firmware | ||
gen | ||
trezor-common@201b66a559 | ||
trezor-crypto@d814f58a3b | ||
trezor-qrenc@1da1cedfd6 | ||
.gitignore | ||
.gitmodules | ||
buttons.c | ||
buttons.h | ||
COPYING | ||
Dockerfile | ||
firmware-docker-build.sh | ||
firmware-fingerprint.sh | ||
layout.c | ||
layout.h | ||
Makefile | ||
Makefile.include | ||
memory_app_0.0.0.ld | ||
memory_app_1.0.0.ld | ||
memory.c | ||
memory.h | ||
memory.ld | ||
oled.c | ||
oled.h | ||
README.rst | ||
rng.c | ||
rng.h | ||
serialno.c | ||
serialno.h | ||
setup.c | ||
setup.h | ||
util.c | ||
util.h |
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.