The USB armory from Inverse Path is an open source hardware design, implementing a flash drive sized computer.
The compact USB powered device provides a platform for developing and running a variety of applications.
The security features of the USB armory System on a Chip (SoC), combined with the openness of the board design, empower developers and users with a fully customizable USB trusted device for open and innovative personal security applications.
The hardware design features the Freescale i.MX53 processor, supporting advanced security features such as secure boot and ARM® TrustZone®.
Replace sdX in the following instructions with the device name for the SD card as it appears on your computer.
dd if=/dev/zero of=/dev/sdX bs=1M count=8
mkfs.ext4 -O ^metadata_csum,^64bit /dev/sdX1
mkdir mnt mount /dev/sdX1 mnt
wget http://os.archlinuxarm.org/os/ArchLinuxARM-usbarmory-latest.tar.gz bsdtar -xpf ArchLinuxARM-usbarmory-latest.tar.gz -C mnt sync
sudo dd if=mnt/boot/u-boot.imx of=/dev/sdX bs=512 seek=2 conv=fsync sync umount mnt
The root filesystem is configured to load the g_cdc module which provides USB ethernet and ACM serial devices on the host. To connect via SSH, you will need to configure the host networking:
ip link set usb0 up
ip addr add 10.0.0.2/24 dev usb0
iptables -t nat -A POSTROUTING -s 10.0.0.1/32 -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
The USB Armory will boot by default in peripheral mode, allowing the board to be plugged into a computer. To use the host adapter board to attach USB devices to the USB Armory, the USB OTG port must be put in host mode.
#setenv otg_host yes
pacman -S uboot-tools
systemctl disable getty@ttyGS0
Copyright ©2009-2016 Arch Linux ARM
The registered trademark Linux® is used pursuant to a sublicense from LMI, the exclusive licensee of Linus Torvalds, owner of the mark on a world-wide basis.
The Arch Linux™ name and logo are used under permission of the Arch Linux Project Lead.