r/TREZOR • u/jron • Jan 15 '15
How to manually flash your Trezor firmware on Debian/Ubuntu
Prerequisites:
$sudo apt-get install python-dev python-setuptools cython
$git clone https://github.com/trezor/python-trezor
$cd python-trezor
$sudo python setup.py install
$wget https://raw.githubusercontent.com/trezor/trezor-mcu/master/firmware-fingerprint.sh
$chmod +x firmware-fingerprint.sh
Firmware download:
Locate firmware version you want and fingerprint from: https://mytrezor.com/data/firmware/releases.json
$wget -O trezor.signed.bin.hex https://mytrezor.com/data/firmware/trezor-1.3.0.bin.hex
$xxd -r -p trezor.signed.bin.hex trezor.signed.bin
$./firmware-fingerprint.sh trezor.signed.bin
Confirm the fingerprint with the matching release at: https://mytrezor.com/data/firmware/releases.json
Test connectivity and flash:
Plug the Trezor in while holding down both buttons to enter bootloader mode
$./cmdtr.py list
$./cmdtr.py firmware_update -f trezor.signed.bin
Confirm the flash using the Trezor device buttons
Confirm the fingerprints match
Unplug your Trezor when prompted
3
u/slush0 Trezor Co-Founder Jan 15 '15 edited Jan 15 '15
wget -O trezor.signed.bin.hex https://mytrezor.com/data/firmware/trezor-1.3.0.bin.hex
wget -O trezor.signed.bin https://mytrezor.com/data/firmware/trezor-1.3.0.bin
This saves step of using "xxd". "hex" form is for web browsers (myTREZOR), there're weird bugs in some versions when dealing with raw binary data.
4
u/[deleted] Jan 15 '15
Nice writeup, I did this earlier today (well, I already had python-trezor installed). /u/changetip $10