/keepkey-firmware

KeepKey Device Firmware

Primary LanguageCGNU Lesser General Public License v3.0LGPL-3.0

KeepKey Build Procedure

Toolchain Installation

Install Docker Community Edition from: https://www.docker.com/get-docker

$ docker pull kktech/firmware:v5-beta

Clone the Source

The sources can be obtained from github:

$ git clone git@github.com:keepkey/keepkey-firmware.git
$ git submodule update --init --recursive

Build

To build the firmware using the docker container, use the provided script:

$ ./scripts/build/docker/device/release.sh

Verifying Published Binaries

Compare the hash of a given tagged build:

$ git checkout v5.8.1
$ git submodule update --init --recursive
$ ./scripts/build/docker/device/release.sh
$ shasum -a 256 ./bin/firmware.keepkey.bin

With that of the signed binary (ignoring signatures and firmware metadata):

$ curl -Ol https://github.com/keepkey/keepkey-firmware/releases/download/v5.8.1/firmware.keepkey.bin
$ tail -c +257 firmware.keepkey.bin | shasum -a 256

Then inspect the metadata itself by comparing against the structure described here:

$ head -c +256 signed_firmware.bin | xxd -

License

If license is not specified in the header of a file, it can be assumed that it is licensed under LGPLv3.