PureOS installation with LVM volume groups

OK, I have to install a working system now because I need the laptop and will go for the standard installation. In case someone wants to investigate this case further, this is what I did (sorry for the lengthy entry, but I tried several things to get it working):

Boot from LiveUSB (pureos-8.0-gnome-live_20190714-amd64.hybrid.iso)
=> “Test or install PureOS” at Boot menu
=> Go through Welcome-Dialog, setup Wi_Fi

start “Software”-App (this apparently loads additional repositories), then on terminal:

sudo apt update

sudo apt upgrade (62 packages upgraded)

sudo apt install gnome-terminal (more convenient than Tilix)

sudo apt install xfsprogs reiserfsprogs reiser4progs jfsutils kpartx dmraid gpart udftools (don’t know if I need all those, but should do no harm)

sudo apt install grub2 grub grub-efi (I had the hope this would change something, but unfortunately not)

sudo su

fdisk /dev/nvme0n1
(delete existing partition /dev/nvme0n1p1 and existing partition /dev/nvme0n1p2, I start from scratch, “w” writes the new partition table and exits)

fdisk /dev/nvme0n1
g (creates new GPT disklabel)
w (writes new partition table and exits)

fdisk /dev/nvme0n1
n
1
+500M
(boot partition)

n
2
(first sector default)
(last sector default)
(LVM partition)

w
(write and exit)

fdisk /dev/nvme0n1:

Command (m for help): p
Disk /dev/nvme0n1: 477 GiB, 512110190592 bytes, 1000215216 sectors
Disk model: Samsung SSD 970 PRO 512GB
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 68702F5F-92E8-B74F-A7FC-02B9677290B6
Device Start End Sectors Size Type
/dev/nvme0n1p1 2048 1026047 1024000 500M Linux filesystem
/dev/nvme0n1p2 1026048 1000215182 999189135 476.5G Linux filesystem

Now I encrypt the 2. partition:

cryptsetup -c aes-xts-plain64 -h sha256 -y -s 512 luksFormat /dev/nvme0n1p2
WARNING!
========
This will overwrite data on /dev/nvme0n1p2 irrevocably.
Are you sure? (Type uppercase yes): YES
Enter passphrase for /dev/nvme0n1p2:
Verify passphrase:

And unlocking it:

cryptsetup open /dev/nvme0n1p2 nvme0n1p2_crypt
Enter passphrase for /dev/nvme0n1p2:

Create physical volume and volume-group:

vgcreate librem–vg /dev/mapper/nvme0n1p2_crypt
Physical volume “/dev/mapper/nvme0n1p2_crypt” successfully created.
Volume group “librem–vg” successfully created

Now logical volumes for root, home and swap:

lvcreate --name root --size 50G librem–vg
lvcreate --name home --size 250G librem–vg
lvcreate --name swap --size 32G librem–vg

Create files systems:

mkfs.ext4 /dev/librem–vg/root
mkfs.ext4 /dev/librem–vg/home
mkswap /dev/librem–vg/swap

(I use gparted to add the “bios-grub”-flag to the 500MB partition, but leave it unformatted).

Now start Calamares-Installer:

  • American English

  • Berlin (system languaeg American Englsih (United States)

  • en.US.UTF-8 as locale

  • default keyboard model

Manual partitioning:
Chose “librem–vg - 476.4GiB (/dev/librem–vg)” in drop-down menu:
Edit /dev/librem–vg/home and add mountpoint /home
Edit /dev/librem–vg/root and add mountpoint /
/dev/librem–vg/swap is recognized as “swap” filesystem

Chose "Samsung SSD 970 Pro 512GB - 476.9 GiB (/dev/nvme0n1) from drop-down menu:
Edit /dev/nvme0n1p1, but I can’t select a mount point (which is probably ok),
but it shows as grayed out ext4???

So I reformat it from within the installer, keep it unformatted and make sure that the “bios-grub”-flag
is set.

But in this way, I can’t select a mount point, so I format it with ext2,
set mount point /boot
(and now I can also chose for the “Install boot loader on” drop down-menu
between

  • Master Boot Record of Samsung SSD 970 Pro 512 GB (/dev/nvme0n1)
  • Boot partition (/boot)
  • Do not install a boot loader

I chose the /boot partition

I do “next”, and enter my credentials, and do “next” and it shows a summary:

I do “Install” and confirm.

Installation process starts.

And crashes with an error message about grub-install:

/dev/nvme0n1p1 is now mounted under /tmp/calamares-root-611w276r/boot:

pureos@pureos:~$ df

Filesystem 1K-blocks Used Available Use% Mounted on
udev 16404352 0 16404352 0% /dev
tmpfs 3285516 9684 3275832 1% /run
/dev/sda 1445360 1445360 0 100% /cdrom
/dev/loop0 1396224 1396224 0 100% /rofs
/cow 16427560 1535708 14891852 10% /
tmpfs 16427560 0 16427560 0% /dev/shm
tmpfs 5120 4 5116 1% /run/lock
tmpfs 16427560 0 16427560 0% /sys/fs/cgroup
tmpfs 16427560 4239724 12187836 26% /tmp
tmpfs 3285512 7308 3278204 1% /run/user/999
/dev/nvme0n1p1 495844 63301 406943 14% /tmp/calamares-root-611w276r/boot
tmpfs 16427560 0 16427560 0% /tmp/calamares-root-611w276r/run

I reformat the partition /dev/nvme0n1p1 (after unmounting) with gparted

And restart the installer.
(I can assign a mountpoint /boot to /dev/nvme0n1p1, and chose again to install
the bootloader into /boot)

=> Same result!

I do again, but this time install bootloader on the Master Boot Record of Samsung Disk.

=> same result

I try again! This time I do not install a boot-loader, and I get a different error message:

“PureOS has not been installed on your computer.
The error message was: Failed to unpack image
“/cdrom/casper/filesystem.squashfs”.”

On the “Error”-window, it says also “rsync failed with error code 11”

So this is how far I got. Anyone has some ideas? Is this a problem of the installer, grub, or maybe even the BIOS?