Overview

Fedup is a new tool for upgrading Fedora installations that is replacing preupgrade and the DVD methods of upgrading that have been used in previous Fedora releases. It utilizes systemd for much of the upgrade functionality and will eventually be able to source packages from a DVD and use the regular install repos instead of needing a specially created side repo.

State

Fedup is not complete but the following parts are currently working:

Network upgrade using custom side repo

The instructions here involve the use of an unofficial side repo which contains a kernel and the upgrade initramfs needed to complete the upgrade. The process around how this will work once F18 beta and final are released has not yet been determined.

Testing and Filing Bugs

Since fedup is still very young, there may still be bugs in the code. If you run into problems, please file bugs in bugzilla under the 'fedup' component.

Known Issues

At the moment, there are several known issues with fedup.

Upgraded system does not reboot if a kernel upgrade is part of the upgrade

If a kernel upgrade is included as part of the package set to upgrade (which shouldn't happen until the f18 kernel from updates-testing hits stable), the upgraded system doesn't boot due to kernel panic. The error messages shown indicate that the kernel is unable to load the initramfs.

At the moment, fedup requires the --isntrepo argument in order to find the kernel and initramfs needed for the upgrade process. This will change once the initramfs changes make it into the regular tree but until that happens, the --instrepo command will be required.

Doing an Upgrade

This is the current process for doing an upgrade from F17 to F18 using fedup. This documentation will change over time as the process evolves.

sudo or rootThe commands listed below use sudo but could also be run as root

It is possible to install fedup on an F17 system using either git or the fedora package (in updates-testing at the time of this writing). Choose one method or the other, preferably using git only if there are problems with using the fedora package.

Preparation With Fedora Package

On an f17 system, run the follwoing command:

sudo yum --enablerepo=updates-testing install fedup

Preparation Using Git

On an f17 system, make sure that all of the dependencies are installed:

sudo yum install python-devel make

Update the F17 system using yum, packagekit or however you prefer to update but don't use updates-testing

sudo yum --disablerepo=updates-testing update

Clone the fedup git repo

git clone git://github.com/wgwoods/fedup.git

Install fedup on the F17 system

sudo make install

Running Fedup

Using the fedup-cli command, prepare the upgrade using the following command:

Using the correct archMake sure that you replace <insert-arch-here> below with the arch that you're upgrading - either x86_64 or i386

At this point, the F17 system is pretty much ready for upgrade. However, if you want to be able to montor the upgrade process or otherwise interact with the system during the upgrade, you need to enable the upgrade debug shell.

Enabling the Upgrade Shell

In order to enable the Upgrade shell, you need to edit the grub config file (/boot/grub2/grub.cfg on BIOS systems, /boot/EFI/redhat/grub.conf on UEFI systems)

Under the heading "System Upgrade":

add the following to the end of the kernel boot args

rd.upgrade.debugshell

These kernel boot params can also be useful for debugging

rd.debug systemd.log_level=debug console=tty0 console=ttyS0,115200n8

Running the Upgrade

Once you reboot, there will be a 'System Upgrade' boot option at the grub prompt. Note that it is not the default and will need to be selected manually in order for the upgrade process to continue.

If all goes as it should, you might see a few boot messages but will eventually see the fedup plymouth theme
Insert screenshot here

Go get some coffeeThe upgrade process usually takes a while (anywhere from 45-90 minutes, depending on the system), be patient and wait for it to finish

If you enabled the upgrade debug shell, you can access that by switching to VT2 (ctl-alt-F2). Note that you won't be able to access the debug shell until after the upgrade process has started, so you'll want to wait a minute or two before switching.

Once you've switched to VT2, you should see the dracut prompt:

dracut#

In order to get into the actual upgrade debug shell, you may need to exit the currently running shell (another will start up right afterwards) so that you can access all the binaries present in the initramfs

exit

To view the upgrade progress, use:

cat /sysroot/var/log/upgrade.out

If you want to see the system logs, use journalctl

journalctl -a -o cat

Post Upgrade

Once the upgrade process is complete, the system will automatically reboot. At this time, you will still be running a kernel from F17 due to repository status but the system should mostly work.