This project uses git submodules, you will either need to use git clone --recursive <repourl>
or after cloning use git submodule update --init
.
The following packages must be installed:
build-essential autoconf automake gperf texinfo help2man ncurses-dev bison flex libtool-bin libjson-c-dev libiberty-dev dfu-util
This has been tested in various GNU/Linux machines, in other platforms you might need more, and possibly differently named, packages.
This will build the toolchain and dependencies:
cd firmware
./build-deps.sh
To package the firmware for the Signet client GUI we need the firmware encoder:
make signet-firmware-encoder
.
make
builds the Signet firmware.
Package it with: ./signet-firmware-encoder signet-fw.bin signet-fw.sfw
This will build the toolchain and dependencies:
cd firmware-hc
./signet-hc-build-deps.sh
To build the Signet High-capacity firmware encoder: make hc-firmware-encoder
Signet HC firmware has too parts, they need to be built separately:
make BT_MODE=A
and make BT_MODE=B
.
To package Signet HC firmware, we need to specify the version number too:
./hc-firmware-encoder signet-fw-a.bin signet-fw-b.bin signet-fw-0.2.3.sfwhc 0 2 3
Both Signet and Signet High-capacity firmware uses locally compiled toolchains (via crosstool-ng) to increase the chance of reproducible builds.