Error when installing on existing luks btrfs partition wihtout reformatting

I’d like to install cachyos to a computer that has already a btrfs partition in luks , without reformatting. I don’t want to reformat for avoiding losing my home subvolume with valuable stuff.

Setup:

  • gpt partition
  • refid boot mananger
  • partitions:
    • /boot/efi,
    • /boot,
    • swap and
    • btrfs mounted as /
  • plasma

Error message:

2024-09-22 - 11:59:44 [6]: virtual Calamares::JobResult AutoMountManagementJob::exec()
2024-09-22 - 11:59:44 [6]:     Set automount to disable 
2024-09-22 - 11:59:44 [1]: void {anonymous}::PowerManagementInterface::inhibitDBusCallFinished(QDBusPendingCallWatcher*)
2024-09-22 - 11:59:44 [1]:     ERROR: Could not inhibit sleep: QDBusError("org.freedesktop.DBus.Error.ServiceUnknown", "The name org.freedesktop.PowerManagement.Inhibit was not provided by any .service files") 
2024-09-22 - 11:59:44 [6]: std::shared_ptr<Calamares::Partition::AutoMountInfo> Calamares::Partition::automountDisable(bool)
2024-09-22 - 11:59:44 [6]:     Setting Solid automount to disabled 
2024-09-22 - 11:59:44 [6]:     .. 2 reply QList() 
2024-09-22 - 11:59:44 [6]:     .. 2 reply QList(QVariant(bool, false)) 
2024-09-22 - 11:59:44 [6]: virtual void Calamares::JobThread::run()
2024-09-22 - 11:59:44 [6]:     Starting job "Borrando todos los puntos de montaje temporales..." ( 2 / 40 ) 
2024-09-22 - 11:59:44 [6]: virtual void Calamares::JobThread::run()
2024-09-22 - 11:59:44 [6]:     Starting job "Borrar los puntos de montaje para las operaciones de particionado en «/dev/nvme0n1»" ( 3 / 40 ) 
2024-09-22 - 11:59:44 [6]: QStringList getPartitionsForDevice(const QString&)
2024-09-22 - 11:59:44 [6]:     Reading from "/proc/partitions" looking for "nvme0n1" 
2024-09-22 - 11:59:44 [6]: virtual Calamares::JobResult ClearMountsJob::exec()
2024-09-22 - 11:59:44 [6]:     ClearMountsJob finished. Here's what was done: 
2024-09-22 - 11:59:44 [6]:     .. Running QList("udevadm", "settle") 
2024-09-22 - 11:59:44 [6]:     .. Running QList("sync") 
2024-09-22 - 11:59:45 [6]: virtual void Calamares::JobThread::run()
2024-09-22 - 11:59:45 [6]:     Starting job "Establecer la información de la partición" ( 4 / 40 ) 
2024-09-22 - 11:59:45 [6]: QVariantList FillGlobalStorageJob::createPartitionList() const
2024-09-22 - 11:59:45 [6]:     Building partition information map 
2024-09-22 - 11:59:45 [6]:     .. partitions on "/dev/nvme0n1" 
2024-09-22 - 11:59:45 [6]:     ..  mapping for "/dev/nvme0n1p1" "/dev/nvme0n1p1" 
     partlabel :   "EFI System Partition" 
     partition-uuid (partuuid) :   "PartUUID$d48f171" 
     parttype :   "C12A7328-F81F-11D2-BA4B-00A0C93EC93B" 
     partattrs :   "0" 
     mountPoint: :   "/boot/efi" 
     fs: :   "fat32" 
     fsName :   "fat32" 
     filesystem-uuid (uuid) :   "FSUUID$cb56c31b" 
     claimed :   "false" 
2024-09-22 - 11:59:45 [6]:     ..  mapping for "/dev/nvme0n1p2" "/dev/nvme0n1p2" 
     partlabel :   "" 
     partition-uuid (partuuid) :   "PartUUID$3ce35bfb" 
     parttype :   "0FC63DAF-8483-4772-8E79-3D69D8477DE4" 
     partattrs :   "0" 
     mountPoint: :   "/" 
     fs: :   "btrfs" 
     fsName :   "btrfs" 
     filesystem-uuid (uuid) :   "FSUUID$24d91383" 
     claimed :   "false" 
     luksMapperName: :   "luks-20d763dd-2a7b-4628-ab8a-ec5f1b8378ca" 
2024-09-22 - 11:59:45 [6]:     ..  mapping for "/dev/nvme0n1p3" "/dev/nvme0n1p3" 
     partlabel :   "" 
     partition-uuid (partuuid) :   "PartUUID$eb797043" 
     parttype :   "0657FD6D-A4AB-43C4-84E5-0933C84B4F4F" 
     partattrs :   "0" 
     mountPoint: :   "" 
     fs: :   "linuxswap" 
     fsName :   "linuxswap" 
     filesystem-uuid (uuid) :   "FSUUID$34d00f3d" 
     claimed :   "false" 
2024-09-22 - 11:59:45 [6]:     ..  mapping for "/dev/nvme0n1p4" "/dev/nvme0n1p4" 
     partlabel :   "" 
     partition-uuid (partuuid) :   "PartUUID$beecb123" 
     parttype :   "0FC63DAF-8483-4772-8E79-3D69D8477DE4" 
     partattrs :   "0" 
     mountPoint: :   "/boot" 
     fs: :   "ext4" 
     fsName :   "ext4" 
     filesystem-uuid (uuid) :   "FSUUID$72e33868" 
     claimed :   "false" 
2024-09-22 - 11:59:45 [6]:     .. partitions on "/dev/sda" 
2024-09-22 - 11:59:45 [6]:     ..  mapping for "/dev/sda1" "/dev/sda1" 
     partlabel :   "" 
     partition-uuid (partuuid) :   "PartUUID$4f16e833" 
     parttype :   "" 
     partattrs :   "0" 
     mountPoint: :   "" 
     fs: :   "exfat" 
     fsName :   "exfat" 
     filesystem-uuid (uuid) :   "FSUUID$56dd6d12" 
     claimed :   "false" 
2024-09-22 - 11:59:45 [6]:     ..  mapping for "/dev/sda2" "/dev/sda2" 
     partlabel :   "" 
     partition-uuid (partuuid) :   "PartUUID$4f16e833" 
     parttype :   "" 
     partattrs :   "0" 
     mountPoint: :   "" 
     fs: :   "fat16" 
     fsName :   "fat16" 
     filesystem-uuid (uuid) :   "FSUUID$96ed7fbc" 
     claimed :   "false" 
2024-09-22 - 11:59:45 [6]: virtual Calamares::JobResult FillGlobalStorageJob::exec()
2024-09-22 - 11:59:45 [6]:     Saving partition information map to GlobalStorage["partitions"] 
2024-09-22 - 11:59:45 [6]: virtual Calamares::JobResult FillGlobalStorageJob::exec()
2024-09-22 - 11:59:45 [6]:     FillGlobalStorageJob writing empty bootLoader value 
2024-09-22 - 11:59:45 [6]: virtual void Calamares::JobThread::run()
2024-09-22 - 11:59:45 [6]:     Starting job "Gestionando la configuración de montaje automático..." ( 5 / 40 ) 
2024-09-22 - 11:59:45 [6]: virtual Calamares::JobResult AutoMountManagementJob::exec()
2024-09-22 - 11:59:45 [6]:     Restore automount settings 
2024-09-22 - 11:59:45 [6]:     .. 2 reply QList() 
2024-09-22 - 11:59:45 [6]:     .. 2 reply QList(QVariant(bool, false)) 
2024-09-22 - 11:59:45 [6]: virtual void Calamares::JobThread::run()
2024-09-22 - 11:59:45 [6]:     Starting job "Creando grupos y conjuntos de datos ZFS..." ( 6 / 40 ) 
2024-09-22 - 11:59:45 [6]: virtual void Calamares::JobThread::run()
2024-09-22 - 11:59:45 [6]:     Starting job "mount" ( 7 / 40 ) 
2024-09-22 - 11:59:45 [6]: virtual Calamares::JobResult Calamares::PythonJob::exec()
2024-09-22 - 11:59:45 [6]:     Job file "/usr/lib/calamares/modules/mount/main.py" 
2024-09-22 - 11:59:45 [6]: [PYTHON JOB]: Found gettext "es" in "/usr/share/locale/es" 
2024-09-22 - 11:59:45 [6]:     .. Job description from pretty_name "mount" = "Montando las particiones." 
2024-09-22 - 11:59:45 [6]:     .. Running QList("mount", "-t", "btrfs", "-o", "defaults,noatime,compress=zstd,commit=120", "/dev/mapper/luks-20d763dd-2a7b-4628-ab8a-ec5f1b8378ca", "/tmp/calamares-root-8gla91zd/") 
2024-09-22 - 11:59:45 [6]:     .. Running QList("udevadm", "settle") 
2024-09-22 - 11:59:45 [6]:     .. Running QList("sync") 
2024-09-22 - 11:59:45 [6]: Python Error:
 <class 'subprocess.CalledProcessError'> 
 None 
 File "/usr/lib/calamares/modules/mount/main.py", line 384, in run
    mount_partition(root_mount_point, partition, partitions, mount_options, mount_options_list, efi_location)

  File "/usr/lib/calamares/modules/mount/main.py", line 292, in mount_partition
    subprocess.check_call(["btrfs", "subvolume", "create",

  File "/usr/lib/python3.12/subprocess.py", line 413, in check_call
    raise CalledProcessError(retcode, cmd) 
 
2024-09-22 - 11:59:45 [6]: virtual void Calamares::JobThread::run()
2024-09-22 - 11:59:45 [6]:     Skipping non-emergency job "modify 90-mkinitcpio-install.hook on host and chroot" 
2024-09-22 - 11:59:45 [6]:     ..  Skipping non-emergency job "inicializar pacman ... ranking mirrors ... copiar pacman mirrorlist y llavero al objetivo ..." 
2024-09-22 - 11:59:45 [6]:     ..  Skipping non-emergency job "pacstrap" 
2024-09-22 - 11:59:45 [6]:     ..  Skipping non-emergency job "Generar el identificador único de máquina." 
2024-09-22 - 11:59:45 [6]:     ..  Skipping non-emergency job "Configurando uso horario a Europe/Madrid..." 
2024-09-22 - 11:59:45 [6]:     ..  Skipping non-emergency job "Configurando el modelo de teclado en pc105, diseño como us-…" 
2024-09-22 - 11:59:45 [6]:     ..  Skipping non-emergency job "localecfg" 
2024-09-22 - 11:59:45 [6]:     ..  Skipping non-emergency job "Preparación de su sistema para la instalación en línea de CachyOS" 
2024-09-22 - 11:59:45 [6]:     ..  Skipping non-emergency job "chwd" 
2024-09-22 - 11:59:45 [6]:     ..  Skipping non-emergency job "packages" 
2024-09-22 - 11:59:45 [6]:     ..  Skipping non-emergency job "Configurando archivo de claves LUKS." 
2024-09-22 - 11:59:45 [6]:     ..  Skipping non-emergency job "Configurando la memoria de intercambio («swap») cifrada." 
2024-09-22 - 11:59:45 [6]:     ..  Skipping non-emergency job "fstab" 
2024-09-22 - 11:59:45 [6]:     ..  Skipping non-emergency job "plymouthcfg" 
2024-09-22 - 11:59:45 [6]:     ..  Skipping non-emergency job "zfshostid" 
2024-09-22 - 11:59:45 [6]:     ..  Skipping non-emergency job "initcpiocfg" 
2024-09-22 - 11:59:45 [6]:     ..  Skipping non-emergency job "Creando initramfs con mkinitcpio…" 
2024-09-22 - 11:59:45 [6]:     ..  Skipping non-emergency job "Configurando usuarios <pre> sudo</pre>…" 
2024-09-22 - 11:59:45 [6]:     ..  Skipping non-emergency job "Preparando grupos..." 
2024-09-22 - 11:59:45 [6]:     ..  Skipping non-emergency job "Crear el usuario david" 
2024-09-22 - 11:59:45 [6]:     ..  Skipping non-emergency job "Definir contraseña para el usuario david." 
2024-09-22 - 11:59:45 [6]:     ..  Skipping non-emergency job "Definir contraseña para el usuario root." 
2024-09-22 - 11:59:45 [6]:     ..  Skipping non-emergency job "Hostname: peque" 
2024-09-22 - 11:59:45 [6]:     ..  Skipping non-emergency job "networkcfg" 
2024-09-22 - 11:59:45 [6]:     ..  Skipping non-emergency job "displaymanager" 
2024-09-22 - 11:59:45 [6]:     ..  Skipping non-emergency job "hwclock" 
2024-09-22 - 11:59:45 [6]:     ..  Skipping non-emergency job "Remove unneeded ucode" 
2024-09-22 - 11:59:45 [6]:     ..  Skipping non-emergency job "bootloader" 
2024-09-22 - 11:59:45 [6]:     ..  Skipping non-emergency job "reset 90-mkinitcpio-install.hook" 
2024-09-22 - 11:59:45 [6]:     ..  Skipping non-emergency job "services-systemd" 
2024-09-22 - 11:59:45 [6]:     ..  Skipping non-emergency job "Ejecutando procesos de shell..." 
2024-09-22 - 11:59:45 [6]:     ..  Skipping non-emergency job "Enable the UFW Firewall as default and allow outgoing but deny incoming" 
2024-09-22 - 11:59:45 [6]:     ..  Starting EMERGENCY JOB "Desmontando sistemas de archivos..." ( 40 / 40 ) 
2024-09-22 - 11:59:45 [1]: void Calamares::ViewManager::onInstallationFailed(const QString&, const QString&)
2024-09-22 - 11:59:45 [1]:     ERROR: Installation failed: "Error Boost.Python en el proceso \"mount\"." 
2024-09-22 - 11:59:45 [6]:     .. - message: "Error Boost.Python en el proceso \"mount\"." 
2024-09-22 - 11:59:45 [6]:     .. - details: <div><strong>Command '['btrfs', 'subvolume', 'create', '/tmp/calamares-root-8gla91zd/@']' returned non-zero exit status 1.</strong></div><div>None</div><div><br/>Traceback:</div><div><pre>File &quot;/usr/lib/calamares/modules/mount/main.py&quot;, line 384, in run
    mount_partition(root_mount_point, partition, partitions, mount_options, mount_options_list, efi_location)

  File &quot;/usr/lib/calamares/modules/mount/main.py&quot;, line 292, in mount_partition
    subprocess.check_call([&quot;btrfs&quot;, &quot;subvolume&quot;, &quot;create&quot;,

  File &quot;/usr/lib/python3.12/subprocess.py&quot;, line 413, in check_call
    raise CalledProcessError(retcode, cmd)</pre></div>
2024-09-22 - 11:59:45 [6]: void Calamares::ViewManager::onInstallationFailed(const QString&, const QString&)
2024-09-22 - 11:59:45 [6]:     Calamares will quit when the dialog closes. 
2024-09-22 - 11:59:45 [6]: DEBUG (Qt): QML Component (default slideshow) deactivated
2024-09-22 - 11:59:45 [6]: void Config::doNotify(bool, bool)
2024-09-22 - 11:59:45 [6]:     Notification not sent; completion: failed 
2024-09-22 - 11:59:45 [6]: void {anonymous}::PowerManagementInterface::uninhibitSleep()
2024-09-22 - 11:59:45 [6]:     Sleep was never inhibited. 

In addiiton, it seems I have no control on how subvolumes are handled and mount options (compression, …).

Not what you wanted to hear, but I can’t say I have ever been successful at that with arch, I usually hand or manually create those at Install time: Installing Arch Linux with Btrfs, systemd-boot and LUKS - nerdstuff.org

Wish I had something cool to add for you.

Thanks, I didn’t know I could install manually. Next reinstallation I will try.

Finally, I’ve created two partionons:

  • btrfs, that I will mount as /
  • encrpyted btrfs that I mount as /home

By the way, the installer hasn’t setup well how to mount /home.
So, the system has become unbootlable.
I’ve had to modify manually, /etc/crypttab and /etc/fstab, in order to make it bootable.
Thanksfully, I have the knowledge.