If you want to boot your Librem 5 from software loaded via USB (e.g. if your install on the eMMC drive is broken, or you want to perform a backup of the eMMC drive) then you will need the
uuu tool and, for the specific examples noted here, you will also need Jumpdrive.
These instructions tell you how to build those two pieces of software.
In theory, if you have two phones, you might be able to do this from a working phone - and these instructions are not for that use case. The assumption is that you are doing this from an x86 computer (
The procedure here may be time-consuming. However you should only need to do it once.
uuu is a prerequisite to use Jumpdrive, I will build
These instructions are for Ubuntu 20.04 but should point you in the right direction for other Linux distros.
No-one's install of Ubuntu will exactly match mine. Your starting point may be different from mine.
I am putting all my
git stuff in a subdirectory of my home directory called
git. Feel free to vary that as you see fit. Path references should be relative, so it should work if you do something different.
sudo apt install git sudo apt install cmake sudo apt install libusb-1.0-0-dev sudo apt install libzip-dev sudo apt install libbz2-dev cd mkdir -p git cd git git clone https://source.puri.sm/Librem5/librem5-devkit-tools.git cd librem5-devkit-tools ./scripts/build_uuu.sh -i
This actually puts
/usr/local/bin hence you can confirm basic success with
which uuu after you have performed the above build procedure.
uuu must be in your path in order to use the provided scripts for using
On a modest computer and with a slow internet connection, this build may take many hours (e.g. 5 hours for me). Plan accordingly.
sudo apt install gcc-aarch64-linux-gnu sudo apt install flex sudo apt install bison sudo apt install libssl-dev sudo apt install device-tree-compiler sudo apt install gcc-arm-none-eabi cd mkdir -p git cd git git clone https://source.puri.sm/sebastian.krzyszkowiak/jumpdrive cd jumpdrive # the following two commands are listed in other doco but I don't know whether they do # anything or are needed - but they were harmless for me at least git submodule init git submodule update make purism-librem5