Reinstalling PureOS

These instructions reflash the stock OS image on a Librem 11.

Warning

This process irrecoverably erases all data from your Librem 11! Backup any of your data you wish to retain before reinstalling.

  1. Obtain the latest Librem 11 Pureos Crimson image (8 GB)

  2. Copy that file to a flash drive as a file
    • Do not dd it to the flash drive. Simply copy it as an ordinary file.

  3. Boot to the PureOS recovery console
    • Press any key in the first 10 seconds after booting to enter Pureboot, then navigate to the recovery console

  4. Plug in the flash drive containing the OS image

  5. Run the command: mount-usb, then follow prompts if any occur (none if device has only one unencrypted partition)

  6. Run the command: dd if=/media/pureos-11~devel-librem-11-flash-20230926_amd64.img of=/dev/nvme0n1 bs=1M conv=fsync
    • Adjust the path and PureOS image name if needed.

    • ash will not tab-complete the dd command, but if you type ls /media/pureos-``<TAB> it will. You can then edit the beginning from ``ls to dd if=. You could alternatively put this command in a script on the flash drive.

  7. After completion, run the command: poweroff

  8. Power on the Librem 11 again to boot the re-imaged OS

Install Another OS

Most Linux distributions work on Librem 11. USB boot and installation are the same for all PureBoot devices.

PureBoot requires a separate, unencrypted /boot partition. If the OS defaults to an encrypted /boot, partition manually.

Accelerometer mount matrix

PureOS contains a quirk for the accelerometer mount matrix. (Linux does not yet allow the firmware to provide this via ACPI for this accelerometer model.)

Put that file in /lib/udev/hwdb.d/, then run sudo udevadm hwdb --update and reboot.

Arch/Manjaro/Garuda

Arch Linux’s current 6.6 kernel as of 2024-01-19 does not work on Librem 11 due to an issue in i915. To work around this, use the 2023.11.01 install image.

Manjaro has the same kernel issue as of 2024-02-13. The 23.0.4 image dated 2023-10-15 works.

Manjaro and Garuda ISOs will not boot from the menu due to use of complex GRUB variables that PureBoot/Heads are unable to parse.

See also

Upstream issue

As a workaround, they can be booted manually from the recovery shell.

Alternatively, temporarily switch to SeaBIOS to install and then optionally switch back to PureBoot. Use an external keyboard to boot to USB with SeaBIOS; it does not yet support the keyboard cover.

Boot Garuda DR460NIZED from recovery shell

Tested with KDE Dragonized Edition, garuda-dr460nized-linux-zen-231029.iso, latest as of 2024-02-13.

  1. Enter recovery

  2. Run mount-usb

  3. Select the partition labeled GARUDA_DR460NIZED_RAPTOR

  4. Run kexec --initrd=/media/boot/initramfs-x86_64.img --command-line="misobasedir=garuda root=miso:LABEL=GARUDA_DR460NIZED_RAPTOR quiet systemd.show_status=1 ibt=off driver=free i915.modeset=1" /media/boot/vmlinuz-x86_64
    • Ignore the message about “shutdown: no such file or directory”

  5. Run kexec -e

Boot Manjaro KDE from recovery shell

Tested with Manjaro KDE 23.0.4 image dated 2023-10-15.

  1. Enter recovery shell

  2. Run mount-usb

  3. Select the partition labeled MANJARO_KDE_2304

  4. Run kexec --initrd=/media/boot/initramfs-x86_64.img --command-line="misobasedir=manjaro misolabel=MANJARO_KDE_2304 quiet systemd.show_status=1 ibt=off driver=free i915.modeset=1" /media/boot/vmlinuz-x86_64
    • Ignore the message about “shutdown: no such file or directory”

  5. Run kexec -e

The only difference between those instructions are the miso* parameters, which include the disk label. For other Manjaro/Garuda ISOs, the disk label may differ, use the disk label shown in the menu when mounting. Newer Manjaro images update misolabel= to root=miso:LABEL= like Garuda (but do not yet boot due to the kernel issue above).