mirror of
https://github.com/trezor/trezor-firmware.git
synced 2025-01-14 09:20:55 +00:00
simplify Dockerfile, add travis CI
This commit is contained in:
parent
db93a50f76
commit
ec98e58bce
17
.travis.yml
Normal file
17
.travis.yml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
sudo: false
|
||||||
|
language: c
|
||||||
|
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
packages:
|
||||||
|
- build-essential
|
||||||
|
- git
|
||||||
|
- gcc-arm-none-eabi
|
||||||
|
|
||||||
|
install:
|
||||||
|
- git clone https://github.com/libopencm3/libopencm3
|
||||||
|
|
||||||
|
script:
|
||||||
|
- cd libopencm3; make; cd ..
|
||||||
|
- TOOLCHAIN_DIR=libopencm3 make
|
||||||
|
- cd firmware; TOOLCHAIN_DIR=libopencm3 make; cd ..
|
11
Dockerfile
11
Dockerfile
@ -2,18 +2,13 @@
|
|||||||
|
|
||||||
FROM ubuntu:14.04
|
FROM ubuntu:14.04
|
||||||
|
|
||||||
ENV GCC_ARM_VERSION 4.9.3.2015q2-1trusty1
|
# update repositories
|
||||||
|
|
||||||
# add and update package repositories
|
RUN apt-get update
|
||||||
|
|
||||||
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys FE324A81C208C89497EFC6246D1D8367A3421AFB
|
|
||||||
RUN gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --fingerprint FE324A81C208C89497EFC6246D1D8367A3421AFB
|
|
||||||
RUN echo "deb http://ppa.launchpad.net/terry.guo/gcc-arm-embedded/ubuntu trusty main" >> /etc/apt/sources.list && apt-get update
|
|
||||||
|
|
||||||
# install build tools and dependencies
|
# install build tools and dependencies
|
||||||
|
|
||||||
RUN apt-get install -y build-essential git python
|
RUN apt-get install -y build-essential git python gcc-arm-none-eabi
|
||||||
RUN apt-get install -y gcc-arm-none-eabi=$GCC_ARM_VERSION
|
|
||||||
|
|
||||||
# clone the source code
|
# clone the source code
|
||||||
|
|
||||||
|
28
README.md
Normal file
28
README.md
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
TREZOR Firmware
|
||||||
|
===============
|
||||||
|
|
||||||
|
[![Build Status](https://travis-ci.org/trezor/trezor-mcu.svg?branch=master)](https://travis-ci.org/trezor/trezor-mcu)
|
||||||
|
|
||||||
|
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.
|
26
README.rst
26
README.rst
@ -1,26 +0,0 @@
|
|||||||
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.
|
|
Loading…
Reference in New Issue
Block a user