Skip to content

Reflashing

Aura Kelloniemi edited this page May 24, 2022 · 1 revision

Instructions on reflashing

These instructions do not replace the Purism documentation. Before trying the below commands, read the Purism developer documentation on reflashing Librem 5 here.

Here are some notes which might make the process less painful.

Building uuu

If your distribution does not package the uuu utility, you need to build it yourself.

Clone the librem5-devkit-tools repository with

$ git clone 'https://source.puri.sm/Librem5/librem5-devkit-tools'

and build uuu according to the documentation.

Next you need to clone the librem5-flash-image repository:

$ git clone 'https://source.puri.sm/Librem5/librem5-flash-image'
$ cd librem5-flash-image

If you want to run the utility with a more recent python than what Purism uses, remove the version dependency bounds from requirements.txt and install the dependencies like this:

$ sed 's/==.*//' requirements.txt  | xargs pip3 install

Then install the required udev rules. This howeer will fail, if jenkins is not installed system-wide or for the root user. You can also copy the rule files manually to /etc/udev/rules.d which might be less effort, if you don't use Jenkins yourself.

$ sudo ./scripts/librem5-flash-image --udev

To do the actual flashing, run this command to write a non-encrypted OS image on the phone eMMC.

$ ./scripts/librem5-flash-image --variant plain --dist byzantium --skip-cleanup
Clone this wiki locally