Uses dracut's official 20-apply-live-updates.sh pre-pivot hook: any /updates/ directory tree present at the top level of the boot media gets copied into the live root filesystem before pivoting, verbatim, no initrd or squashfs/EROFS modification needed. build.sh assembles this tree from scripts/, backends/, config/ (mapped under /opt/tuxflotte) plus live-updates/etc/ (an XDG autostart entry that opens a terminal running installer.sh as root, and a sudoers.d drop-in granting liveuser passwordless sudo). xorriso preserves the ownership/permissions recorded at map time, so -chown_r/-chgrp_r 0 on /updates is enough to make sudoers accept the drop-in as root-owned without needing local root to build the ISO. This was tried first as a direct EROFS unpack/repack of /LiveOS/squashfs.img (that file is actually EROFS despite the name on current Fedora), but a fresh self-built erofs-utils (Debian's packaged 1.5-1 can't even read this image's on-disk format) hit a reproducible bug extracting the packed/fragmented inode into a single corrupt file instead of a directory tree. The dracut hook sidesteps that path entirely. Verified end-to-end: booting either Tuxflotte entry reaches the Cinnamon live desktop, autostarts a terminal, and installer.sh runs through every module (network, hardware, enrollment, handshake, device status, Bereitstellungsvorlage selection, commit point, Runtime Blueprint resolution against the real server, full Fedora backend lifecycle, storage detection) to a clean exit.
2 lines
33 B
Plaintext
2 lines
33 B
Plaintext
liveuser ALL=(ALL) NOPASSWD: ALL
|