From Fedora Project Wiki

Revision as of 18:13, 15 December 2012 by Sundaram (talk | contribs) (fix markup)

New Software and Documentation
FedUp is new for Fedora 18 and as such, will be changing before Fedora 18 is released. If you find this documentation to be wrong or out of date, please fix it or let someone know
Stop (medium size).png
Draft Page
This page is still a draft and is being actively edited, it should be mostly complete but will likely change some in the next day or so
Security Considerations
FedUp does not yet ensure that only trusted software from Fedora is run on your system. Refer to Bugzilla: #877623 for more details

What is FedUp?

FedUp (FEDora UPgrader) is the name of a new system for upgrading Fedora installs starting with Fedora 18. It will be replacing all of the currently recommended upgrade methods (PreUpgrade and DVD) that have been used in previous Fedora releases.

Currently, FedUp is capable of upgrading Fedora 17 installs to Fedora 18 using a networked repository, similar to how PreUpgrade worked. More methods for upgrade are currently planned and this page will be updated as those features are completed.

Fedora 16 and Older
The FedUp client does not build or run on anything older than Fedora 17. If you want to upgrade an older Fedora installation, please upgrade to Fedora 17 before continuing

What Does FedUp do?

The FedUp system consistes of two parts - the client used to download packages and prepare for the upgrade and a pre-boot environment which does the actual upgrade using systemd and yum. More details are available in a blog post written by FedUp's primary author

The FedUp Client

The FedUp client runs on the system to be upgraded. It gathers the packages needed for upgrade in addition to downloading the required initramfs and kernel needed for the actual upgrade. At this time, only fedup-cli is implemented but a GUI interface is expected before Fedora 18 is released.

The Upgrade

Plymouth Theme During Upgrade
Unfortnately, the FedUp plymouth theme is not used when upgrading with the initramfs distributed with Fedora 18 beta. This is a known issue and will be fixed before Fedora 18 is released

The actual upgrade takes place when the system has been rebooted after running the FedUp client. The filesystems are mounted during boot, the already downloaded packages are installed and some upgrade-related tasks are performed. During the upgrade process, a special plymouth theme is used which has a progress bar to indicate current upgrade progress.

Frequently Asked Questions

Can I upgrade a Fedora 16 system with FedUp?

No, this is not currently possible. The FedUp client does not currently build or run on Fedora 16 and you need to be running at least Fedora 17 in order to run the client?

How do I report issues that I find with upgrades?

The answer to this depends on the exact issue that you hit.

Issues with upgrade preparation

If you hit issues when using the FedUp client (Package-x-generic-16.pngfedup) before reboot, search for or file a bug against fedup using the version you are upgrading from.

Issues During Upgrade

If you hit issues after upgrade preparation and the initial reboot, search for or file a bug against Package-x-generic-16.pngfedup-dracut using the version you are upgrading to.

Issues After Upgrade

If you hit issues after upgrade with a specific package, file a bug against the package with which you are having issues.

How do I Debug Issues During Upgrade

A troubleshooting and debug guide will be written soon and linked to from here.

Does FedUp verify the software it runs or installs during upgrade

This is a planned feature. See Bug 877623 for a status update.

Where can I ask Questions

For now, the best place to ask questions is probably #fedora-qa on Freenode IRC or the Fedora Test list.

How Can I Upgrade My System with FedUp?

Upgrading to Pre-Release
These instructions are currently written for upgrading to Fedora 18 beta. If you want to try upgrading to the final pre-release, check out the upgrade test case. However, there may be bugs in the newer process if you use it before the release of Fedora 18 - if you try it, be aware that you may run into problems

As alluded to above, there are three parts to upgrading with FedUp - preparation, execution and cleanup.

Preparing for the Upgrade

Latest fedup
Make sure that you install the latest version of the fedup client on the system to be upgraded. At the time of this writing (2012-11-26), that is fedup-0.7.1-1.fc17
  1. Do a full system update and reboot to ensure that any kernel changes are running
  2. Install Package-x-generic-16.pngfedup
    • Be sure to get the latest release, this may involve enabling updates-testing (put --enablerepo=updates-testing between yum and install on the command line)
  3. Find the URL of the branched TC or RC under test. For Fedora 18 beta, this URL would be<arch>/os. You can also substitute the root of a local mirror instead of using the main download site.
    • <arch> is the name of the arch running on the install to be upgraded (i386, x86_64 ...)
  4. Start the upgrade prep by executing following command
    • sudo fedup-cli --network 18 --debuglog fedupdebug.log --instrepo <URL>
    • <URL> is the location found in the previous step
  5. Check the fedupdebug.log file if any errors show up in the output from fedup-cli

Executing the Upgrade

Monitoring Upgrade Progress
At this time, the FedUp progress during the actual upgrade is not shown automatically, but you can trigger it manually
  1. Reboot the system if fedup-cli has completed without error.
  2. Once the system reboots, there should be a new entry in the GRUB menu titled System Upgrade.
  3. Select the System Upgrade option from the GRUB menu
    • If you want to be able to see progress during the upgrade, append plymouth.splash=fedup to the end of the kernel parameters (line starting with linux)
  4. The system should boot into the upgrade process and a plymouth boot screen should be displayed
    • Do not press any key, otherwise the progress screen will be killed and you will have no information about the process
  5. Once the upgrade process has completed, the system will reboot and an option to boot Fedora 35 will be on the grub menu

GRUB Updates

Somewhat Optional
While updating GRUB on your upgraded system isn't strictly required, it is recommended for BIOS systems and very strongly recommended for UEFI systems due to the transition from grub-efi to grub2-efi

Updating GRUB2 (BIOS systems)

  • After upgrade, the grub2 you're booting from will still be the F17 version; upgrading must be done manually
  • Follow the steps in this grub2 page to reinstall and update grub

Updating GRUB (UEFI systems)

Secure Boot
Secure Boot functionality was not completed in time for Fedora 18 beta and these instructions do not cover using Package-x-generic-16.pngshim or the signed kernel. Once Secure Boot functionality is available, these instructions will be updated.
Grub Theme
With the migration to grub2-efi in Fedora 18, you will see no grub splash after initial upgrade nor after upgrading to grub2-efi

Grub2 is not installed as part of the upgrade process, so you'll have to install it:

sudo yum install grub2-efi

Once the Package-x-generic-16.pnggrub2-efi package is installed, we need to add a new EFI boot entry. The easiest way to do this is to just modify the command used when Fedora was first installed. This command can be found in /var/log/anaconda/anaconda.program.log and should end with a command similar to:

efibootmgr -c -w -L Fedora -d /dev/sdX -p Y -l \EFI\redhat\grub.efi

Find the current boot number for fedora using efibootmgr:

efibootmgr -v

You are looking for a line similar to:

Boot0004* Fedora  HD(1,800,34800,6733749f-b42a-4b8c-a0de-5a1d3505f8af)File(\EFI\redhat\grub.efi)

The boot number in this example is 0004.

Remove the old boot entry using the following command (<boot number>) is the boot number you found above:

efibootmgr -b <boot number> -B
Using Quotes
Make sure you put quotes around '\EFI\fedora\grubx64.efi' or bash will interpret \E, \f and \g as control characters and your system will not boot properly

Once you have the command that was used and the boot number of the old boot entry, you can change it to use the new grub2-efi installation:

sudo efibootmgr -c -w -L Fedora -d /dev/sdX -p Y -l '\EFI\fedora\grubx64.efi' -b <boot number>

In order to get a bootable UEFI system, you need to regenerate the grub configuration and symlink it to /etc/grub2-efi.cfg

grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

Once the system reboots, you should be using grub2-efi instead of grub-efi

Cleaning Up Post Upgrade

Some of the stuff from this post upgrade cleanup guide might be wise