Skip to content
This repository has been archived by the owner on May 9, 2022. It is now read-only.

rhinstaller/fedup-dracut

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 

fedup-dracut - initramfs environment for Fedora Upgrades

This is fedup-dracut, the initramfs environment for Fedora Upgrades.

Components

It has the following parts:

90system-upgrade/

This module provides a (distro-neutral) framework for running upgrades.

  • Adds three dracut hooks: upgrade-pre, upgrade, and upgrade-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

85system-upgrade-fedora/

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

system-upgrade-fedora.c

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

Building

You’ll want to build the initramfs on the newer distro version.

  1. Install build requirements

    • rpm-devel >= 4.10.0

    • plymouth-devel >= 0.8.6

    • systemd >= 195

    • glib2-devel

  2. Install dracut modules

    • make install, or

      1. make archive

      2. rpmbuild -ta fedup-dracut*.tar.xz

      3. rpm -ivh [freshly-built RPMs]

  3. Build upgrade initramfs

    • OLDTHEME=$(plymouth-set-default-theme)

    • plymouth-set-default-theme fedup

    • dracut --add system-upgrade upgrade.img

    • plymouth-set-default-theme $OLDTHEME