Toshaan Bharvani 8ce04dae17 initial push 1 year ago
85system-upgrade-powerel initial push 1 year ago
90system-upgrade initial push 1 year ago
plymouth initial push 1 year ago
COPYING initial push 1 year ago
Makefile initial push 1 year ago
README.asciidoc initial push 1 year ago
TODO.asciidoc initial push 1 year ago
make-powerel-upgrade-repo initial push 1 year ago
system-upgrade-powerel.c initial push 1 year ago

README.asciidoc

powerel-upgrade-dracut - initramfs environment for PEL Upgrades
================================================================
Toshaan Bharvani <toshaan@vantosh.com>

This is 'powerel-upgrade-dracut', the initramfs environment for PEL Upgrades.

This tool is forked from/based upon 'redhat-upgrade-dracut' with original
author Will Woods <wwoods@redhat.com>

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-powerel/`
~~~~~~~~~~~~~~~~~~~~~~~~~~
This is the PEL 'system-upgrade' implementation.

* Includes upgrade tool, SELinux policy, plymouth, etc.
* Copies initramfs to `$NEWROOT/system-upgrade-root`
* Runs 'system-upgrade-powerel' binary in the `upgrade` hook
* Save log & journal to `/var/log/upgrade.{log,journal}` before reboot

`system-upgrade-powerel.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 'powerel-upgrade-tool' package.
Based upon the 'redhat-upgrade-tool', which can be found here:
https://github.com/dashea/powerel-upgrade-tool

Building
--------

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 redhat-upgrade-dracut*.tar.xz`
.. +rpm -ivh '[freshly-built RPMs]'+
. Build upgrade initramfs
* `OLDTHEME=$(plymouth-set-default-theme)`
* `plymouth-set-default-theme powerel-upgrade-tool`
* `dracut --add system-upgrade upgrade.img`
* `plymouth-set-default-theme $OLDTHEME`

// vim: set syn=asciidoc tw=78: