mirror of
https://github.com/trezor/trezor-firmware.git
synced 2024-12-22 22:38:08 +00:00
1.7 KiB
1.7 KiB
TREZOR Firmware
How to build TREZOR firmware?
- Install Docker
git clone https://github.com/trezor/trezor-mcu.git
cd trezor-mcu
./build-firmware.sh TAG
(where TAG is v1.5.0 for example, if left blank the script builds latest commit in master branch)
This creates file build/trezor-TAG.bin
and prints its fingerprint and size at the end of the build log.
How to build TREZOR bootloader?
- Install Docker
git clone https://github.com/trezor/trezor-mcu.git
cd trezor-mcu
./build-bootloader.sh TAG
(where TAG is bl1.3.2 for example, if left blank the script builds latest commit in master branch)
This creates file build/bootloader-TAG.bin
and prints its fingerprint and size at the end 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
- Compute fingerprint:
tail -c +257 trezor.signed.bin | sha256sum
Step 3 should produce the same sha256 fingerprint like your local build (for the same version tag). Firmware has a special header (of length 256 bytes) holding signatures themselves, which must be avoided while calculating the fingerprint, that's why tail command has to be used.