Building uuu from Source

If you are not using uuu included in your favorite distribution, you can build it manually instead. On a Debian-based system, you will need to install some dependencies before building:

sudo apt-get -y install libusb-1.0-0-dev libzip-dev libbz2-dev

Then you can proceed with the build:

git clone https://source.puri.sm/Librem5/mfgtools
mkdir mfgtools-build
cd mfgtools-build
cmake ../mfgtools
make

If the build is successful, the uuu binary can be found in mfgtools-build/uuu/uuu.

If you have problems building from the mfgtools-build directory, ensure that the mfgtools directory does not contain any files left over from a previous build.

Udev Rules

We recommend running uuu as an unprivileged user. On Debian-based systems, issue the following commands as root to make the development board accessible to your user over USB whenever it’s connected:

cat <<EOF > /etc/udev/rules.d/99_librem5_devkit.rules
SUBSYSTEM!="usb", GOTO="librem5_devkit_rules_end"
# Devkit USB flash
ATTR{idVendor}=="1fc9", ATTR{idProduct}=="012b", GROUP+="plugdev", TAG+="uaccess"
ATTR{idVendor}=="0525", ATTR{idProduct}=="a4a5", GROUP+="plugdev", TAG+="uaccess"
ATTR{idVendor}=="0525", ATTR{idProduct}=="b4a4", GROUP+="plugdev", TAG+="uaccess"
LABEL="librem5_devkit_rules_end"
EOF
udevadm control -R

Users of non-Debian systems may need to add the plugdev group if it does not already exist. This group grants permission to its members to access the devices it owns:

groupadd plugdev

You will need to add your user to the plugdev group to access the development board:

sudo usermod -a -G plugdev $USER

You can log in to the new group without having to log out by running this command:

newgrp plugdev

Next time you plug in the USB cable, the development board’s USB interface will be accessible by your user.