[Solved] Titan installation failing with "Failed to run pacstrap"

[BUG REPORT]

Note: Welcome to the bug report area. You can report bugs on the EndeavourOS install and on general with the installed system, by creating a new subject here. This area is not intended for reporting bugs on individual apps or third-party packages.



1. Description of the Issue

After installation configuration EndeavourOS fails on with a message of “Fail to run pacstrap”.
Very similar with Installation of EOS Titan Keeps Failing , but I’m installing on a physical machine.
Updated Arch and Endeavour mirrors and keyrings.
Using a wired Internet connection that works for every site I tested (including name resolution tests), no TCP packages loss.
Error trying to upload logs after failed installation.
I saved logs locally and pasted the relevant part in: https://pastebin.com/p2tCmgha
I think this part, shows that it could be a permission problem:

[PYTHON JOB]: "pacstrap: ==> Creating install root at /tmp/calamares-root-339t8yag"
[PYTHON JOB]: "pacstrap: ==> Installing packages to /tmp/calamares-root-339t8yag"
[PYTHON JOB]: "pacstrap: :: Synchronizing package databases..."
[PYTHON JOB]: "pacstrap: error: could not open file /tmp/calamares-root-339t8yag/var/lib/pacman/sync/download-QH5Fgp/endeavouros.db.part: Permission denied"
[PYTHON JOB]: "pacstrap: error: failed to setup a download payload for endeavouros.db"
[PYTHON JOB]: "pacstrap: error: failed to synchronize all databases (failed to retrieve some files)"
[PYTHON JOB]: "pacstrap: ==> ERROR: Failed to install packages to new root"

A directory tree in “/tmp/calamares-root-339t8yag” exists, with permissions to root:root, and presumably it was created by the installer itself, but maybe pacstrap don’t have root privileges.

2. Installation Media Creation

Downloaded the ISO, checked sha512sum, dd to pendrive (but it does not boot).
Copied the ISO on a Ventoy pendrive and now it boots.

3. Selected Installer Options

Please list the specific choices you made during the Calamares setup:

  • Install Method: Online
  • Desktop Environment: XFCE
  • Bootloader: systemd-boot
  • Filesystem: XFS / Manually created LVM partitions (I can mount them manually).
  • Other: Nothing specific, only unselected firewall packages (I’ll install another later).

4. System Logs (Required)

I saved logs locally and pasted the relevant part in: https://pastebin.com/p2tCmgha

Additional Hardware Info (Optional):
The disks are nvme, CPU rayzen 7 7700X, 32 GB DDR5

It doesn’t look like a network issue. It is failing to write the file locally.

Probably something to do with your partitioning or filesystem setup.

A few notes:

  • Make sure you are selecting the appropriate boxes to format all the partitions for EOS
  • If you are using manually partitioned LVM volumes, check the logs and make sure Calamares isn’t closing them before the install. It will close any LVM partitions it isn’t managing.
  • To be more helpful, we would really need to see the entire logs

Thank you @dalto , for your prompt reply.

I thought that that directory is on the installer space (in fact in memory) instead of on the partitions in which EOS will be installed.

I’ve formatted LVM’s logic partitions manually, but the fat32 partition to EFI I’ve formatted through the installer.
I need to format the LVM partitions manually because I’m using stripe and the partition manager of the installer cannot do that.

Tomorrow I’ll format it manually too, check your ideas and try to post a more complete log.

@ambaratti

Welcome to the EndeavourOS forum. :handshake: I hope you enjoy your time here. :clinking_beer_mugs:

Pudge

Installer is mounting the selected partitions under /tmp/ to install to these ..

Checked everything again.

Tried to mount XFS logic volumes only to find that xfskernel module was not loaded.
I installed xfsprogs, loaded xfs module manually and then I was able to mount the XFS logic volumes.

Just to start from a known state, rebooted EOS installation media, installed and loaded xfs module and tried to install again.

Got stuck on the same point, on start of packages installation, with the same error that I pointed on my original post.
But now I have a better log: https://dpaste.com/F43S4ZAVZ

If you look at the log:

  • Starting on line 941 it seems the installer found the right partitions.
  • Starting on line 1430 it tries to mount the logical volumes on “/tmp/calamares-root-isv_gof7/”, but fail with:
    Exit code: 32 output:
    mount: /tmp/calamares-root-isv_gof7: fsconfig() failed: /dev/vg0/root_vol: Can't lookup blockdev.
  • Before the installation I was able to mount the logical volumes, but after the failed install the devices /dev/vg0 and /dev/vg1 does not exists anymore (don’t know what and why the installer done that).
  • From this point on it could not mount the partitions (line 1456).
  • On line 1525 it comes the piece of log I’ve posted before:
    [PYTHON JOB]: Found gettext "pt_BR" in "/usr/share/locale/pt_BR" [PYTHON JOB]: "pacstrap: ==> Creating install root at /tmp/calamares-root-isv_gof7" [PYTHON JOB]: "pacstrap: ==> Installing packages to /tmp/calamares-root-isv_gof7" [PYTHON JOB]: "pacstrap: :: Synchronizing package databases..." [PYTHON JOB]: "pacstrap: error: could not open file /tmp/calamares-root-isv_gof7/var/lib/pacman/sync/download-o6LTxK/endeavouros.db.part: Permission denied" [PYTHON JOB]: "pacstrap: error: failed to setup a download payload for endeavouros.db" [PYTHON JOB]: "pacstrap: error: failed to synchronize all databases (failed to retrieve some files)" [PYTHON JOB]: "pacstrap: ==> ERROR: Failed to install packages to new root"
  • After the failed install still there exists the directory /tmp/calamares-root-isv_gof7/var/lib/pacman/sync/, but it is empty (download-o6LTxKis not there).

I’m using EOS mainly to gain time on Arch Linux installation, but it seems it worked on reverse :frowning: .
If I keep stuck on this for much longer I’ll have to give up and install Arch manually.
It’s a pity because I really appreciated all the effort EOS put on customization of the distro and the (at least it seams to me) more friendly community.

Anyway for now I’ll try a couple more things.

keep in mind that graphical installer is limited somehow compared to using install scripts manually.
We do put a lot of work into leaving installer open for manipulation, it is expected that leaving the path of the offered options its funlands and expected to may not work properly.
For custom setup i would always prefer using archlinux itself, may booting EndeavourOS ISO and using it to do so, as of you have graphical session and can easily open a browser to research stuff on the fly.
Special LVM part of calamares is really not fully working, it can work if used in basic ways, like you did creating it before and setting it to be used inside installer, but i would not call this a supported method in any way.

Rereading the first response from @dalto:

Now I tried the installer with the selection set for formatting in each partition and it worked!!

It seems Calamares are closing the volume groups (also as @dalto pointed, excuse me for not understanding it well on the first take).

:+1:
Lucky to see it working now!