I tried to install with ZFS (adding zfs unit after partition unit) but pool creation fails because there is no PARTUUID available for the last partition created (I verified it using lsblk
/ blkid
) until I run partprobe
. I thought about adding interactiveterminal unit after partition unit to be able to run partprobe
manually before running zfs unit but that is broken as well (says Konsole not installed while I can run it manually just fine).
No sure if these instructions still work on the latest ISO. I don’t use zfs nor do i have any experience installing it.
I used it before (even contributed some minor enhancements to the steps) but it is not working now because of the issue I described above.
The zfs module doesn’t launch konsole
. Can you share the full logs from the failed install?
Of course. I wanted to run konsole
by adding its unit before zfs unit.
If you want to run a command, use a shellprocess module.
The partition is there, but no *UUID:
[root@EndeavourOS ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 2.4G 1 loop /run/archiso/airootfs
sda 8:0 0 10G 0 disk
├─sda1 8:1 0 1G 0 part
└─sda2 8:2 0 1G 0 part
└─luks-f4b1b606-8389-477b-80e1-8e1da97aa7bf 254:0 0 1022M 0 crypt
sdb 8:16 0 8G 0 disk
sr0 11:0 1 2.7G 0 rom /run/archiso/bootmnt
[root@EndeavourOS ~]# blkid
/dev/sda1: UUID="A780-91E6" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI" PARTUUID="d1093f53-bb91-4497-a7d3-1b2dee34ab89"
/dev/sda2: UUID="f4b1b606-8389-477b-80e1-8e1da97aa7bf" TYPE="crypto_LUKS" PARTLABEL="BOOT" PARTUUID="cc5b319b-31f2-4644-adc0-3478068b189c"
/dev/sr0: BLOCK_SIZE="2048" UUID="2024-06-25-11-30-26-00" LABEL="EOS_202406" TYPE="iso9660" PTUUID="e06d72b0" PTTYPE="dos"
/dev/loop0: BLOCK_SIZE="1048576" TYPE="squashfs"
/dev/mapper/luks-f4b1b606-8389-477b-80e1-8e1da97aa7bf: LABEL="BOOT" UUID="7e25d2fe-bf9f-4d09-bf7d-617e617ebf82" BLOCK_SIZE="4096" TYPE="ext4"
[root@EndeavourOS ~]# fdisk -l
Disk /dev/sda: 10 GiB, 10737418240 bytes, 20971520 sectors
Disk model: VBOX HARDDISK
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: 2E76A7DD-EAB8-4462-99FD-70607B423DC0
Device Start End Sectors Size Type
/dev/sda1 4096 2101247 2097152 1G EFI System
/dev/sda2 2101248 4198399 2097152 1G Linux filesystem
/dev/sda3 4198400 20964824 16766425 8G Linux filesystem
@dalto Just curious: what’s interactiveterminal module for then if not for (intuitively) running a terminal?
BTW: adding shellprocess unit after partition unit did nothing.
OK, reverse-engineered the shellprocess module and found out how it is actually used…
As an alternative, you could just read the documentation or look at the examples in our config
To be honest, I didn’t even know there was a module like that. I have never heard of anyone using it but there must be a use case for it somewhere out there.
That doc is useless as it does not say WHERE should be that script
key.
However the examples where useful. Anyway:
I added
- id: partprobe
module shellprocess
config: shellprocess_partprobe.conf
to /etc/calamares/settings_online.conf and
- shellprocess@partprobe
to the exec: section and created /etc/calamares/modules/shellprocess_partprobe.conf:
# SPDX-FileCopyrightText: no
# SPDX-License-Identifier: CC0-1.0
#
# partprobe
---
dontChroot: true
script:
- "/usr/bin/partprobe"
i18n:
name: "Probes partitions for changes"
and now the installer hangs at startup.
Just noticed the missing colon after module
. Defensive programming is obviously not cool these days…
OK, failed again because of
Warning: Unable to open /dev/sr0 read-write (Read-only file system). /dev/sr0 has been opened read-only.
Error: Can't have a partition outside the disk!
Damn! Changed to
- "/usr/bin/partprobe || true"
Now the installation continues…
its basically not a doc, but a sample module config on its own, only with the documentation written inside itself…
You really should share your used setup, may you have a git outside to add it and share the link?
Will be helpful for other users or even us adding it to the installer.
And sry to not be much helpful, i was busy doing other things…
@dalto Thanks for that shellprocess hint, I got the installer working now
@joekamprad Sry, I don’t have any repo. I just followed Unofficial zfs on root installation instructions (if you look at my last post summarizing all the needed steps) and just added this partprobe step to the installation process. So to summarize the addition again:
Add
- id: partprobe
module: shellprocess
config: shellprocess_partprobe.conf
to /etc/calamares/settings_online.conf and
- shellprocess@partprobe
after partition unit and before zfs unit in the exec: section and created /etc/calamares/modules/shellprocess_partprobe.conf:
# SPDX-FileCopyrightText: no
# SPDX-License-Identifier: CC0-1.0
#
# partprobe
---
dontChroot: true
script:
- "/usr/bin/partprobe || true"
i18n:
name: "Probes partitions for changes"
That’s all that’s needed (well the installation is not finished yet, still installing the system, I got only one CPU in the VirtualBox VM )