Installing EndeavourOS on LUKS-encrypted logical volume

Hello everyone! I am new to EndeavourOS and Arch, but not completely new to linux.

I would like to install EndeavourOS with a full disk encrypt. I also want to be able to install a different linux distro, and to use a separate home partition that can be shared between both. To achieve this, I have followed this guide to create a LUKS-encrypted logical volume group:

My resulting disk setup looks like this:

[liveuser@eos-2025.11.24 ~]$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 2.8G 1 loop /run/archiso/airootfs
sda 8:0 1 57.7G 0 disk
├─sda1 8:1 1 3G 0 part /run/archiso/bootmnt
└─sda2 8:2 1 251M 0 part
nvme0n1 259:0 0 476.9G 0 disk
├─nvme0n1p1 259:1 0 2G 0 part
└─nvme0n1p2 259:2 0 475G 0 part
└─cryptlvm 253:0 0 475G 0 crypt
├─VolumeGroup-arch 253:1 0 40G 0 lvm
├─VolumeGroup-home 253:2 0 371G 0 lvm
├─VolumeGroup-bazzite 253:3 0 30G 0 lvm
└─VolumeGroup-swap 253:4 0 34G 0 lvm

I want to use nvme0n1p1 as EFI-partition, VolumeGroup-arch as / for EndeaveourOS and VolumeGroup-home as /home. My idea is to use GRUB so I can mount nvme0n1p1 as /efi and keep /boot on the encrypted device.

I have tried installing with calamares both with using “manual partitioning” (selecting the mount points specified above, but no other changes) and, after that didn’t work, also “replace a partition”. In both cases the installer aborts - as far as I can see because of problems in accessing the logical volumes. Here is the log from trying an install with manual partitioning:

https://termbin.com/l0b9

As far as I can see the error happens here:

2026-01-15 - 14:46:03 [6]:     ..  Skipping non-emergency job "eos_script" 
2026-01-15 - 14:46:03 [6]:     ..  Skipping non-emergency job "Saving files for later…" 
2026-01-15 - 14:46:03 [6]:     ..  Skipping non-emergency job "Copy logs and files from host to target" 
2026-01-15 - 14:46:03 [6]:     ..  Starting EMERGENCY JOB "Unmounting file systems…" ( 41 / 41 ) 
2026-01-15 - 14:46:03 [1]: void Calamares::ViewManager::onInstallationFailed(const QString&, const QString&)
2026-01-15 - 14:46:03 [1]:     ERROR: Installation failed: "Bad main script file" 
2026-01-15 - 14:46:03 [6]:     .. - message: "Bad main script file" 
2026-01-15 - 14:46:03 [6]:     .. - details: Main script file /usr/lib/calamares/modules/mount/main.py for python job mount raised an exception.

Any tips on how I can get around this? Thanks!

Unfortunately, Calamares doesn’t support installing into existing LVM volumes as it will unmount those volumes and then they are not available for the installer.

Several people have come up with workarounds which you may be able to find if you search around for Calamares and LVM workarounds.

Thank you for the quick reply! I will try to find those workarounds. Do I understand correctly that I can’t create a similar setup from within calamares? While trying it out I only managed to make individually encrypted partitions, but not a Volume Group that ’s encrypted.

Calamares’ LVM support isn’t in a good place. I wouldn’t rely on it’s setup.

wait last release version GRUB 2.14
see about luks2 /argon

Thank you everyone for your help. I was able to follow this workaround:

The basic idea is to mount all partitions that are to be used in the install below /mnt, i.e. /at /mnt, /homeat /mnt/home, etc. (you can skip the non-encrypted physical partitions, /efiin my case). You then prevent calamares from unmounting those partitions (and consequently the encrypted volume group), for example by opening terminals and cd /mnt, cd /mnt/home, etc. Then you can proceed with the installation in calamares, choosing “manual partitioning” and selecting the correct mount points for the partitions you want to use. I assume you can’t reformat the partitions or apply changes to name or label as this would require unmounting them, which is something you want to prevent calamares from doing. With this process I was able to complete the installation without any problem.

I couldn’t get it to work with grub though, so I switched to systemd-boot.

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.