I’m having some trouble building a custom Fedora spin using Lorax on Fedora 42. The build completes successfully, but when trying to boot the Live image, it fails with an error about an executable file not being found.
The specific error is:
initrd-parse-etc.service: Unable to locate executable ‘/usr/lib/systemd/systemd-sysroot-fstab-check’: No such file or directory
initrd-parse-etc.service: Failed at step EXEC spawning /usr/lib/systemd/systemd-sysroot-fstab-check: No such file or directory
I took a closer look at the initrd image from the ISO, and it appears that symlinks are not being created for the fstab-check
executable.
Specifically, on Fedora 42, I see:
lsinitrd ./out/images/pxeboot/initrd.img | grep fstab-
-rwxr-xr-x 1 root root 57888 Feb 16 01:00 usr/lib/systemd/system-generators/systemd-fstab-generator
But on Fedora 41, I see:
lsinitrd ./out/images/pxeboot/initrd.img | grep fstab-
lrwxrwxrwx 1 root root 41 Nov 27 01:00 usr/lib/systemd/systemd-sysroot-fstab-check → system-generators/systemd-fstab-generator
-rwxr-xr-x 1 root root 62168 Nov 27 01:00 usr/lib/systemd/system-generators/systemd-fstab-generator
As you can see, the symlink is present on Fedora 41 but not on Fedora 42. There appear to even more missing symlinks.
Anyone encountered a similar issue when building custom 42 images? Any ideas on how to resolve this? Not sure if the problem is lorax(tried 41 version 42) or dracut or something else.
I am using the following to build the iso.
livemedia-creator --make-iso --no-virt --nomacboot --resultdir=./out --iso-name=fedora.iso --ks=./fedora-live-workstation.ks --releasever=42 --project=“Fedora” --app-name=“Fedora” --dracut-arg=“–xz” --dracut-arg=“–no-hostonly” --dracut-arg=“–no-early-microcode” --dracut-arg=“–add livenet dmsquash-live dmsquash-live-ntfs convertfs pollcdrom qemu qemu-net”
fedora-live-workstation.ks
Base Configuration
lang en_US.UTF-8
keyboard us
timezone US/Eastern
selinux --enforcing
firewall --enabled --service=mdns
xconfig --startxonboot
rootpw --lock --iscrypted locked
shutdown
Storage Configuration
zerombr
clearpart --all
part / --size 8576 --fstype ext4
Network Configuration
services --enabled=NetworkManager,ModemManager --disabled=sshd
network --bootproto=dhcp --device=link --activate
Repository Configuration
url --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
repo --name=fedora --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
repo --name=updates --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch
repo --name=updates-testing --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-testing-f$releasever&arch=$basearch
repo --name=rpmfusion-free --mirrorlist=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-$releasever&arch=$basearch
repo --name=rpmfusion-free-updates --mirrorlist=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-updates-released-$releasever&arch=$basearch
repo --name=rpmfusion-nonfree --mirrorlist=https://mirrors.rpmfusion.org/metalink?repo=nonfree-fedora-$releasever&arch=$basearch
repo --name=rpmfusion-nonfree-updates --mirrorlist=https://mirrors.rpmfusion.org/metalink?repo=nonfree-fedora-updates-released-$releasever&arch=$basearch
Package Selection
%packages
Core system packages
kernel
kernel-modules
kernel-modules-extra
Anaconda installer packages
anaconda
anaconda-install-env-deps
anaconda-live
@anaconda-tools
-fcoe-utils
-device-mapper-multipath
-sdubby
Additional required packages
aajohan-comfortaa-fonts # Needed for SVG rnotes images
dracut-live # Required for initramfs generation
glibc-all-langpacks # Needed for Anaconda locale support
livesys-scripts # Live system scripts
Environment and group exclusions
-@dial-up
-@input-methods
-@standard
@^workstation-product-environment
Specific package exclusions
-gfs2-utils
-reiserfs-utils
-python3-botocore
%end
Post-installation Configuration
%post
Enable services
systemctl enable livesys.service
systemctl enable livesys-late.service
systemctl enable tmp.mount
Configure tmpfs for /var/tmp
cat >> /etc/fstab << EOF
vartmp /var/tmp tmpfs defaults 0 0
EOF
Configure system settings
rm -f /var/lib/rpm/__db*
rpm -qa --qf ‘%{size}\t%{name}-%{version}-%{release}.%{arch}\n’ | sort -rn
rm -f /var/lib/rpm/__db*
/usr/bin/mandb
rm -f /core*
rm -f /var/lib/systemd/random-seed
System update marker
echo ‘File created by kickstart. See systemd-update-done.service(8).’
| tee /etc/.updated >/var/.updated
Cleanup
rm -f /boot/-rescue
systemctl disable network
rm -f /etc/machine-id
touch /etc/machine-id
Set livesys session type
sed -i ‘s/^livesys_session=.*/livesys_session=“gnome”/’ /etc/sysconfig/livesys
%end