Calamares fails to install on logical volume on several conditions when using Manual Partitioning

Bug #2061123 reported by Jan Rathmann
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Calamares
Fix Released
Unknown
calamares (Ubuntu)
New
Undecided
Unassigned

Bug Description

UPDATE:
Testing on my real HW revealed that there are more conditions when Calamares fails to install on a LV (when using Manual Partitioning).

Disk setup:
* 2 SSD (SSD A: M.2, SSD B: SATA)
* both with GPT partition table
* system uses UEFI boot
* SSD A contains:
  - first ESP (EFI System partion) (used by main Kubuntu 23.10 system)
  - PV Partition with volgroup internal-ssd1
    - 1 LV roothome (primary root and home LV)
* SSD B contains:
    - a second ESP (used only for testing purposes, distro installers can savely overwrite this)
  - PV Partition with volgroup internal-ssd2
    - 7 LVs (6 LVs for testing distros/Ubuntu versions, 1 LV temphome2 (additional space for home and temporary stuff)

Installation to /dev/internal-ssd2/kubuntu-test (one of my test LVs, on SSD B) only works when:
* the second ESP (the one on SSD B) is selected as mount point for /boot/efi
* the second ESP is marked for being formatted

On all other conditions I tested (second ESP _not_ being formatted, first ESP being formatted, format kubuntu-test, keep data of kubuntu-test), installation will fail because of volume groups being closed by Calamares (same cause as described below for the VM test case).

What I did not test yet is replacing my main Kubuntu 23.10 and using/formatting the first ESP.

END OF UPDATE

SUMMARY

On Kubuntu 24.04, Calamares fails to install if the following two conditions apply:

* target / is on a Logical Volume (LVM)
* no device is marked for being formatted

STEPS TO REPRODUCE:
1. Create a test VM set to UEFI mode (both Gnome Boxes and Virt Manager worked for me)
2. Boot Kubuntu Noble daily image.

#Preparing the disk
3. sudo cfdisk /dev/vda
4. Partition table: GPT
5. New partition: 500M, Type: EFI System
5. New partition: Rest of disk space, Type: Linux LVM
6. Write partition table
7. sudo mkfs.vfat -F 32 /dev/vda1 #format EFI partition
8. sudo pvcreate /dev/vda2 #create physical volume
9. sudo vgcreate kubuntu /dev/vda2 #create a volume group named 'kubuntu'
10. sudo lvcreate -l 100%FREE -n kubuntutest kubuntu #create a logical volume named 'kubuntutest'
11. sudo mkfs.ext4 /dev/kubuntu/kubuntutest #format the LV
12. Reboot (might not be necessary).

#Installation
13. Start installer
14. Select 'Manual Partitioning'
15. Set /dev/vda1 as /boot/efi, keep data
16. Set kubuntu/kubuntutest as /, keep data
17. Start installation.

OBSERVED RESULT
After short time, Calamares fails with Error dialog:
* "Extraction of cdrom/casper/filesystem.squashfs failed"
* "rsync failed with error code 11"

EXPECTED RESULT
Installation process runs through successfully.

ADDITIONAL INFORMATION
If in step 15 "Formatting" is selected instead of keeping data (while all other steps aren't changed), the installation will be successful. If instead the root filesystem in step 16 is set to being formatted, installation will also work. So it seems this bug occurs only if there is no partition/LV being specified for formatting.

ProblemType: Bug
DistroRelease: Ubuntu 24.04
Package: calamares 3.3.5-0ubuntu3
ProcVersionSignature: Ubuntu 6.8.0-22.22-generic 6.8.1
Uname: Linux 6.8.0-22-generic x86_64
.etc.calamares.modules.after_bootloader_context.conf:
 ---
 dontChroot: false
 timeout: 120
 firmwareType:
     "*": "-rm ${ROOT}/home/${USER}/Desktop/kubuntu-calamares.desktop"
.etc.calamares.modules.finished.conf:
 ---
 restartNowMode: user-checked
 restartNowCommand: "systemctl -i reboot"
.etc.calamares.modules.fstab.conf:
 crypttabOptions: luks,keyscript=/bin/cat
 efiMountOptions: umask=0077
.etc.calamares.modules.shellprocess_logs.conf:
 ---
 dontChroot: true
 timeout: 30
 script:
     - calamares-logs-helper ${ROOT}
.etc.calamares.modules.unpackfs.conf:
 ---
 unpack:
     - source: "/cdrom/casper/filesystem.squashfs"
         sourcefs: "squashfs"
         destination: ""
ApportVersion: 2.28.0-0ubuntu1
Architecture: amd64
CasperMD5CheckResult: pass
CasperVersion: 1.496
CurrentDesktop: KDE
Date: Fri Apr 12 12:40:02 2024
LiveMediaBuild: Kubuntu 24.04 LTS "Noble Numbat" - Beta amd64 (20240412)
RelatedPackageVersions:
 calamares-settings-ubuntu-common 1:24.04.26
 calamares-settings-lubuntu N/A
 xfsprogs 6.6.0-1ubuntu2
 btrfs-progs 6.6.3-1.1build2
SourcePackage: calamares
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
Jan Rathmann (kaiserclaudius) wrote :
Revision history for this message
Jan Rathmann (kaiserclaudius) wrote :

According to Calamares' session.log of the failed installation it seems that Calamares deactivates/closes the volume group just before trying to mount it as the install target - which thus can't work. There is already an upstream bug report about that behaviour that I'll link here (currently closed, yet there is recent activity of people still experiencing this kind of problem).

Changed in calamares:
status: Unknown → Fix Released
description: updated
summary: - Calamares fails to install on logical volume if no partition/LV is
- marked for being formatted
+ Calamares fails to install on logical volume on several conditions when
+ using Manual Partitioning
Revision history for this message
Jan Rathmann (kaiserclaudius) wrote :

I updated the description due to the result of more testing which showed that there seems to be a broader set of conditions where Calamares fails to handle installation on a LV correctly (during Manual Partitioning).

I am attaching a second Calamares log, taken from an attempt to install on one of my LVs on real HW.
Note: It fails at a different point during installating compared to the VM test case – _not_ during copying files with rsync, but earlier at trying to format the LV kubuntu-test that I set as target for the root filesystem.

To post a comment you must log in.