This is fedup-dracut, the initramfs environment for Fedora Upgrades.
It has the following parts:
This module provides a (distro-neutral) framework for running upgrades.
-
Adds three dracut hooks:
upgrade-pre
,upgrade
, andupgrade-post
. -
Adds
upgrade.target
, which runs the above hooks (in order) -
Automatically includes any other modules named
system-upgrade-*
-
BONUS: adds system-upgrade-shell.service
This is the Fedora system-upgrade implementation.
-
Includes upgrade tool, SELinux policy, plymouth, etc.
-
Copies initramfs to
$NEWROOT/system-upgrade-root
-
Runs system-upgrade-fedora binary in the
upgrade
hook -
Save log & journal to
/var/log/upgrade.{log,journal}
before reboot
The actual upgrade tool.
-
Upgrades system using packages from
$UPGRADELINK
-
Sends progress updates to
plymouthd
-
Sends status output to console + journal
The actual upgrade setup is handled in the main fedup package, which can be found here: https://github.com/wgwoods/fedup
You’ll want to build the initramfs on the newer distro version.
-
Install build requirements
-
rpm-devel >= 4.10.0
-
plymouth-devel >= 0.8.6
-
systemd >= 195
-
glib2-devel
-
-
Install dracut modules
-
make install
, or-
make archive
-
rpmbuild -ta fedup-dracut*.tar.xz
-
rpm -ivh [freshly-built RPMs]
-
-
-
Build upgrade initramfs
-
OLDTHEME=$(plymouth-set-default-theme)
-
plymouth-set-default-theme fedup
-
dracut --add system-upgrade upgrade.img
-
plymouth-set-default-theme $OLDTHEME
-