Librem 5


  • NXP i.MX8M Quad core Cortex-A53 CPU
  • Vivante GC7000Lite GPU
  • 3GB LPDDR4-3200 RAM
  • 32 GB eMMC internal storage
  • Micro SD (up to 2TB) Slot
  • 5.7″ IPS TFT 720×1440 capacitive touchscreen
  • BroadMobi BM818 or Gemalto PLS8 LTE modem
  • Redpine Signals RS9116 WiFi/BT adapter
  • 13 MP back camera + 5 MP front camera
  • TESEO LIV3 multiconstellation GNSS receiver
  • 3.5mm headphones/headset jack
  • 3,500mAh user-replaceable battery
  • USB 3.0 Type C port with PD (Power Delivery) and DisplayPort video output
  • 3 kill-switches: Cellular, WiFi, Microphone/Cameras
  • 3FF format smart card reader

source: Purism's website

What is working

What State Comment
audio works
battery works
calls works tested with BM818 modem only
mobile data works tested with BM818 modem only
wifi works
bluetooth should work untested
display works
touchscreen works
volume switches works
usb networking works
usb otg doesn't work
camera doesn't work

How to install

The Librem 5 is not able to boot from SD card for now, so you must flash Mobian to the internal eMMC.

To do so, there are 2 options, both requiring that you install NXP's uuu utility, for which you can download the latest release from Github (you can either build from source, or directly download the uuu binary for Linux/x86_64).

Using Purism scripts

First, download the librem5-devkit-tools repo:

git clone

Then, navigate to the librem5-devkit-tools directory, and create a mobian sub-folder containing the (uncompressed) Mobian image, renaming it librem5r3.img.

Next, download the latest u-boot-librem5.imx file from Purism's CI, and move it to the mobian folder too.

Finally, put your Librem 5 in USB download mode by following the instructions provided by Purism, and execute the following command:

./scripts/flash-image --board librem5r3 --dir mobian

(Replace librem5r3 with librem5r2 if you have an Aspen/Birch/Chestnut Librem5, or with devkit if you have the Librem 5 development kit)

Using Jumpdrive

Purism developer Sebastian Krzyszkowiak has an experimental version of Jumpdrive available for the Librem 5. In order to use it, you first need to install an ARM64 cross-compilation toolchain:

sudo apt install gcc-aarch64-linux-gnu

Then clone the repository and its submodules:

git clone
cd jumpdrive
git submodule init
git submodule update

You can now build using the following command:

make initramfs-purism-librem5.gz

Finally, put your Librem 5 in USB download mode by following the instructions provided by Purism, and execute:

uuu src/purism-librem5.txt

Your Librem 5's eMMC should now appear as a USB drive on your computer and can be flashed using bmaptool, dd or Etcher the usual way.