You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
2.1 KiB
67 lines
2.1 KiB
7 years ago
|
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:
|