Over the past few months, I've been working on building new image
build descriptions for the CentOS Hyperscale SIG and Fedora Cloud WG
so we can migrate away from Oz/ImageFactory.
One detour that I took as part of doing this is an attempt to simplify
the creation of live media. The tool I'm using for the Hyperscale SIG
live media for CentOS Stream 9 is called kiwi and it notably does
not support the same script merging+inheritance model that Lorax
and livecd-tools support that we rely on for correctly assembling
the livesys init script (!!!) used to bootstrap the live environment
I took a day to analyze the scripts across all the live media we have
right now and made an initial attempt to convert them into more
regular scripts that are invoked from systemd services. The result is
livesys-scripts, which just landed in Fedora and EPEL 8/9.
The project sources for livesys-scripts is here:
The livesys-scripts package should be agnostic to the image build
tool. If you're previously relying on assembling the init script (e.g.
fedora-kickstarts), the way to switch over is:
1. Delete the init script assembly logic from your kickstarts
2. Add livesys-scripts to %packages section
3. Enable livesys.service and livesys-late.service in services stanza
4. If your live ISO has a desktop environment in it, set
livesys_session in /etc/sysconfig/livesys to load the correct
subscript in %post. (The choices currently are: gnome, kde, cinnamon,
mate, xfce, lxqt, lxde, soas, i3)
If more desktops need to be supported, contribution via pull request
is welcome! :)
The intent of this is to make it easier to support building
Fedora(ish) live media across a wider range of tools and also to
synchronize what it does with improvements in dracut over time. The
livesys-scripts are old and much of its functionality belongs in
dracut itself. This is something that will hopefully be corrected in
the near future...
So, give it a try and let me know how it goes! :)
真実はいつも一つ！/ Always, there's only one truth!