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.
Toshaan Bharvani
8ce04dae17
|
7 years ago | |
---|---|---|
.. | ||
README.txt | 7 years ago | |
initrd-system-upgrade-generator | 7 years ago | |
module-setup.sh | 7 years ago | |
system-upgrade-shell.service | 7 years ago | |
upgrade-init.sh | 7 years ago | |
upgrade-post.service | 7 years ago | |
upgrade-post.sh | 7 years ago | |
upgrade-pre-pivot.sh | 7 years ago | |
upgrade-pre.service | 7 years ago | |
upgrade-pre.sh | 7 years ago | |
upgrade.service | 7 years ago | |
upgrade.sh | 7 years ago | |
upgrade.target | 7 years ago |
README.txt
system-upgrade
==============
Will Woods <wwoods@redhat.com>
// vim: syn=asciidoc tw=78:
This module adds targets suitable for system upgrades.
The upgrade workflow is something like this:
. Using the *new* distro version, create an initramfs with `system-upgrade`.
* Any other module starting with `system-upgrade-` will be included, e.g.:
* distro-specific upgrade tool
* distro-specific migration scripts
* package-specific migration scripts
. Boot the *new* kernel + initramfs on the system to be upgraded.
* root device is discovered
* distro-specific filesystem migration tasks happen here, using
the `pre-mount` hook
* root device is mounted at `$NEWROOT`
* initramfs copies the `$NEWROOT/system-upgrade` symlink to
`/run/system-upgrade`
* initramfs contents will be copied to `$NEWROOT/system-upgrade-root`
* initramfs does a `switch-root` to the "real" root filesystem
. The system mounts its local disks.
. The system prepares `/system-upgrade-root`
* Mounted filesystems are bind-mounted to `/system-upgrade-root/sysroot`
* distros can unpack their `upgrade.img` into `/system-upgrade-root` here
. The system does a `switch-root` back into the initramfs
* This time we're going to `upgrade.target` instead
. The `upgrade-pre` service/hook runs
* After=`upgrade.target`
. The `upgrade` service/hook runs
* distro-specific upgrade tools should run here
. The `upgrade-post` service/hook runs
. The system is rebooted.
It's probably a good idea to take a filesystem snapshot in `pre-mount` or
`pre-pivot`. If anything goes wrong, restore the snapshot in `upgrade-post`.