Librem 5 - creating a bootable µSD card

On host computer

cd
mkdir make-boot-usd
cd make-boot-usd

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

cd librem5-flash-image

sudo apt build-dep .

Does nothing for me. Because we are not actually flashing a phone, just a µSD card, we don’t need uuu but we still need Python.

./scripts/librem5-flash-image --dir . --skip-cleanup --skip-flash --stable

I got 'Last stable librem5r4 build' from Mon May 18 19:57:06 2026

Now have a file librem5r4.img, size about 4.7 GB.

The download will have picked up the encrypted variant by default.

Obtain a spare µSD card - bare minimum I would think is 8 GB but I happen to be using a 32 GB card. I’m also accessing the µSD card via a USB dongle SD card reader because my computer doesn’t have a built-in card reader.

Place µSD card in USB dongle SD card reader.

ls -l /dev/sd*

Plug in USB dongle SD card reader to spare USB port.

ls -l /dev/sd*

Look for what device just appeared. In my case I detect that /dev/sdb just appeared and is the µSD card in the USB dongle.

mount -l | grep /dev/sdb

Look for whether the µSD card automatically mounted. In my case, it did, because it comes with some tedious Windows file system already on it.

umount /dev/sdb1

Launch Gnome Disks

Click correct disk on LHS
Click vertical ellipsis ⋮ at top right
Click Restore Disk Image…
Select/navigate to librem5r4.img in Home / make-boot-usd/librem5-flash-image

Ignore complaint that disk image is smaller than the target device.

Click Start Restoring…
Click Restore
(enter sudo password)

It takes a couple of minutes but will depend greatly on the speed of the µSD card and the speed of the SD card writing interface.

Now moving to the phone to insert the card

SHUT DOWN the phone

MAKE ABSOLUTELY SURE that the phone is SHUT DOWN

Place phone face down.

Use provided pin tool to release SIM tray.

Carefully remove tray (noting its orientation).

Place µSD card in tray in the outer receptacle (NB: pin side up).

  • each receptacle is shaped specifically for the required card
  • inner receptacle is the size and shape of a micro SIM card
  • outer receptacle is the size and shape of a µSD card
  • it would be difficult to get this wrong but …

Carefully reinsert tray and gently push back into place.

Now actually boot the card to test it

Remove back cover.
Remove battery.
Press and hold Vol-Down.
Reinsert battery.
Wait unknown number of seconds.
Release Vol-Down.

Enter the factory default LUKS password (123456).

First time will say “Encrypting the filesystem” and take forever (15 minutes or so).

First time will then go through the initial setup e.g. language selection and e.g. connecting to WiFi.

Lock screen PIN is also the factory default (123456).

4 Likes