mirror of
https://github.com/trezor/trezor-firmware.git
synced 2024-11-22 23:48:12 +00:00
f36cf5c10c
Treat the case where a field is omitted identical to the case where an empty array is given. In particular - data_length == 0 is allowed now and identical to giving no data. - nonce can be omitted to indicate nonce value 0. I still do not allow to omit gas_limit and gas_price; gas_limit cannot be zero and transactions with zero gas_price will not be mined. You can still set it explicitly to zero by giving the empty array, though. See trezor/trezor-mcu#143. |
||
---|---|---|
bootloader | ||
demo | ||
firmware | ||
gen | ||
gitian | ||
vendor | ||
.gitignore | ||
.gitmodules | ||
.travis.yml | ||
bootloader-docker-build.sh | ||
buttons.c | ||
buttons.h | ||
ChangeLog | ||
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.md | ||
rng.c | ||
rng.h | ||
serialno.c | ||
serialno.h | ||
setup.c | ||
setup.h | ||
timer.c | ||
timer.h | ||
util.c | ||
util.h |
TREZOR Firmware
How to build TREZOR firmware?
- Install Docker
git clone https://github.com/trezor/trezor-mcu.git
cd trezor-mcu
./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 build TREZOR bootloader?
- Install Docker
git clone https://github.com/trezor/trezor-mcu.git
cd trezor-mcu
./bootloader-docker-build.sh
This creates file output/bootloader.bin
and prints its fingerprint and size at the last line of the build log.
How to get fingerprint of firmware signed and distributed by SatoshiLabs?
- Pick version of firmware binary listed on https://wallet.trezor.io/data/firmware/releases.json
- Download it:
wget -O trezor.signed.bin https://wallet.trezor.io/data/firmware/trezor-1.3.6.bin
./firmware-fingerprint.sh trezor.signed.bin
Step 3 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.