Complete setup Librem 13 v2 with german keyboard and Intel 9260

If anyone should have to Re-Install eg. a Librem 13 the following might come handy (tested and working 27th of june 25)

special specs

  • 32GB RAM
  • Intel 9260 Wifi
  • german keyboard
  • Case v3, mainboard v2

tasks to be archieved:

  • install a fully functional linux system
  • wifi and bluetooth working
  • hibernation possible
  • have vivaldi browser running
  • have german <>| Button fixed

1.) install PureOS via ventoy (just copy iso-files to usb-stick)

  • sudo apt update && sudo apt upgrade

2.) get proprietary drivers running for Intel 9260

  • you need a ethernet-connection (eg. a eth-usb-dongle)

open file: sudo nano /etc/apt/sources.list
add:
#Once temporary - to fetch proprietary driver for Intel 9260 from Debian directly
deb Index of /linux/debian bookworm non-free-firmware contrib

sudo apt update
sudo install firmware_iwlwifi

sudo nano /etc/apt/sources.list
→ comment out the new line or delete it

sudo apt update

3.) Add hibernation

following Hibernation/Hibernate_Without_Swap_Partition - Debian Wiki → swap doesn’t need to be deactivated via swappiness as PureOS also created a zram-Swap with priority 100, our swapfile just has to have a lower priority

sudo fallocate -l 34g /swap # adjust to your amout of RAM
sudo mkswap /swap
sudo chmod 600 /swap

sudo nano /etc/fstab
/swap swap swap defaults 0 0

sudo swapon /swap

#get UUID - xxxx
sudo findmnt / -o UUID -n
#get Offset within - yyyy
sudo filefrag -v /swap|awk ‘NR==4{gsub(/./,“”);print $4;}’

sudo nano /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT=“resume=UUID=xxxx resume_offset=yyyyy”

sudo nano /etc/initramfs-tools/conf.d/resume
resume=UUID=xxxx resume_offset=yyyyy

sudo update-grub
sudo update-initramfs -k all -u

sudo systemctl hibernate

4.) install Vivaldi browser

sudo apt install curl gnupg ca-certificates

curl -fsSL https://repo.vivaldi.com/archive/linux_signing_key.pub
| sudo gpg --dearmor -o /usr/share/keyrings/vivaldi-browser.gpg

echo “deb [arch=amd64 signed-by=/usr/share/keyrings/vivaldi-browser.gpg]
Index of /archive/deb/ stable main”
| sudo tee /etc/apt/sources.list.d/vivaldi.list

sudo apt update
sudo apt install vivaldi-stable

5.) Fix broken pipe-button within german keyboard

error to be found
sudo nano /lib/udev/hwdb.d/60-keyboard.hwdb # search for Purism
→ keyboard_key_56=backslash → fits for US but not UK, DE

TTY via Strg + Alt + F3
showkey

  • press < → 86 → that’s the value to be set for KEYBOARD_KEY_56
  • press # → 43
  • back via Strg + ALT + F2

sudo nano /etc/udev/hwdb.d/99-librem13-fix.hwdb

#watch the v2 if you’ve got a v3 oder v4 change it
#if showkey gave something other than 86 change accordingly
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnPurism:pnLibrem13v2*:*
KEYBOARD_KEY_56=86

sudo systemd-hwdb update
sudo udevadm trigger

now it should already work

3 Likes