No description, website, or topics provided.
Clone or download
Andrej Rosano
Andrej Rosano Fix URLs
Latest commit bc79eaf Nov 2, 2018
Failed to load latest commit information.
conf Blacklist sahara module Feb 27, 2018
LICENSE clarify license Sep 26, 2017
Makefile Fix URLs Nov 2, 2018 Add missing dependancies Jul 2, 2018
control_template Add linux debian package makefile target Feb 19, 2018

The Makefile in this repository allows generation of a basic Debian installation for the USB armory.

Pre-compiled releases are available.


A Debian 9 installation with the following packages:

bc binfmt-support bzip2 fakeroot gcc gcc-arm-linux-gnueabihf git gnupg make parted qemu-user-static wget xz-utils zip debootstrap sudo dirmngr

Import the Linux signing GPG key:

gpg --keyserver hkp:// --recv-keys 38DBBDC86092693E

Import the U-Boot signing GPG key:

gpg --keyserver hkp:// --recv-keys 87F9F635D31D7652


Launch the following command to download and build the image:

make all

The following output files are produced:



IMPORTANT: /dev/sdX, /dev/diskN must be replaced with your microSD device (not eventual microSD partitions), ensure that you are specifying the correct one. Errors in target specification will result in disk corruption.

Linux (verify target from terminal using dmesg):

sudo dd if=usbarmory-debian_stretch-base_image-YYYYMMDD.raw of=/dev/sdX bs=1M conv=fsync

Mac OS X (verify target from terminal with diskutil list):

sudo dd if=usbarmory-debian_stretch-base_image-YYYYMMDD.raw of=/dev/rdiskN bs=1m

On Windows, and other OSes, alternatively the Etcher utility can be used.


After being booted, the image uses Ethernet over USB emulation (CDC Ethernet) to communicate with the host, with assigned IP address (using as gateway). Connection can be accomplished via SSH to, with default user usbarmory and password usbarmory. NOTE: There is a DHCP server running by default. Alternatively the host interface IP address can be statically set to

LED feedback

To aid initial testing the base image configures the board LED to reflect CPU load average, via the Linux Heartbeat Trigger driver. In case this is undesired, the heartbeat can be disabled by removing the ledtrig_heartbeat module in /etc/modules. More information about LED control here.


The default image is 4GB of size, to use the full microSD space a new partition can be added or the existing one can be resized as described in the USB armory FAQ.

Additional resources

Project page
Board schematics, layout and support files
INTERLOCK - file encryption front end
Discussion group