mirror of
https://github.com/trezor/trezor-firmware.git
synced 2024-12-26 08:08:51 +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
|
||||
|
||||
ENV GCC_ARM_VERSION 4.9.3.2015q2-1trusty1
|
||||
# update repositories
|
||||
|
||||
# add and update package repositories
|
||||
|
||||
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
|
||||
RUN apt-get update
|
||||
|
||||
# install build tools and dependencies
|
||||
|
||||
RUN apt-get install -y build-essential git python
|
||||
RUN apt-get install -y gcc-arm-none-eabi=$GCC_ARM_VERSION
|
||||
RUN apt-get install -y build-essential git python gcc-arm-none-eabi
|
||||
|
||||
# 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