Line 30: | Line 30: | ||
No, non è attualmente possibile. Il client FedUp non parte su Fedora 16 ma bisogna avviarlo necessariamente almeno in Fedora 17. Se si sta aggiornando da Fedora 16, usare Preupgrade. | No, non è attualmente possibile. Il client FedUp non parte su Fedora 16 ma bisogna avviarlo necessariamente almeno in Fedora 17. Se si sta aggiornando da Fedora 16, usare Preupgrade. | ||
== | == Come posso riportare eventuali problemi trovati durante gli aggiornamenti ? == | ||
Innanzitutto leggere [[Common F18 bugs#Upgrade_issues]] per sapere se il problema è tra quelli conosciuti. Se non lo è, il componente principale del problema dipende dall'esatta questione che s'incontra: | |||
=== Issues with upgrade preparation === | === Issues with upgrade preparation === |
Revision as of 17:40, 11 March 2013
Cos'é FedUp ?
FedUp (FEDora UPgrader) è il nome del nuovo sistema d'aggiornamento (upgrade) delle installazioni Fedora a partire da Fedora 18 Spherical Cow. Rimpiazza tutti gli attuali metodi raccomandati di upgrade (PreUpgrade e DVD) che sono stati usati nei rilasci precedenti a Fedora 18. Anaconda, l'installer di Fedora non ha alcuna funzionalità d'aggiornamento integrata fino a Fedora 18, tale funzionalità è stata delegata completamente a Fedup.
Ad oggi, FedUp è in grado di aggiornare installazioni di Fedora 17 Beefy Miracle a Fedora 18 Spherical Cow usando un repository di rete con un funzionamento simile a PreUpgrade. Molti metodi d'aggiornamento sono attualmente in pianificazione e, a tal proposito, questa pagina verrà aggiornata seguendone gli sviluppi.
Cosa fa FedUp ?
FedUp consiste in due parti: il client usato per scaricare i pacchetti e per la preparazione all'upgrade ed un ambiente di pre-avvio che effettua l'attuale aggiornamento usando systemd e yum. Maggiori dettagli sono disponibili in un articolo sul blog del principale autore di FedUp
Il Client FedUp
Il Client di FedUp parte nel sistema che deve essere aggiornato. Raccoglie i pacchetti necessari per l'aggiornamento oltre a scaricare gli initramfs del kernel richiesti e necessari per l'aggiornamento vero e proprio. In questo momento è implementata la sola interfaccia a riga di comando di fedup ma ci si aspetta un'interfaccia GUI prima del rilascio di Fedora 18.
L'Upgrade
L'aggiornamento attuale ha luogo quando il sistema viene riavviato dopo l'esecuzione del client fedup. I filesystem sono montati durante l'avvio, i pacchetti già scaricati vengono installati ed alcune attività relative all'aggiornamento vengono eseguite. Durante il processo di aggiornamento, un tema speciale plymouth è utilizzato per visualizzare una barra di avanzamento per indicare i progressi in corso.
Domande frequenti
Posso aggiornare un sistema Fedora 16 con FedUp ?
No, non è attualmente possibile. Il client FedUp non parte su Fedora 16 ma bisogna avviarlo necessariamente almeno in Fedora 17. Se si sta aggiornando da Fedora 16, usare Preupgrade.
Come posso riportare eventuali problemi trovati durante gli aggiornamenti ?
Innanzitutto leggere Common F18 bugs#Upgrade_issues per sapere se il problema è tra quelli conosciuti. Se non lo è, il componente principale del problema dipende dall'esatta questione che s'incontra:
Issues with upgrade preparation
If you hit issues when using the FedUp client (fedup
) before reboot, search 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 or file a bug against fedup-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 test mailing list.
How Can I Upgrade My System with FedUp?
As alluded to above, there are three parts to upgrading with FedUp - preparation, execution and cleanup.
Before you start doing anything, be sure to have a look at Common F18 bugs#Upgrade_issues and read about the most common bugs found.
Preparing for the Upgrade
- Do a full system update and reboot to ensure that any kernel changes are running
- Install
fedup
- Be sure to get the latest release, this may involve enabling updates-testing (
yum --enablerepo=updates-testing install fedup
in the command line)
- Be sure to get the latest release, this may involve enabling updates-testing (
There are three options for sourcing the packages needed for upgrade - using a network repository, a local ISO file or a local device (hard drive, optical disk etc.).
Network
Using a network source is the easiest method of upgrading and will pull in updates while upgrading - eliminating the potential issue if your current system has a newer kernel version than the Fedora release to which you are upgrading.
- Start the upgrade prep by executing following command
sudo fedup-cli --network 18 --debuglog fedupdebug.log
- Once the preparations have completed, check the
fedupdebug.log
file if any errors show up in the output fromfedup-cli
ISO File
In order to use an ISO file, it needs to exist locally on the filesystem of the system to be upgraded. The documentation is written as if that file is /home/user/fedora-18.iso but you will need to replace all instances of that path with the actual path of the ISO. Updates will be pulled in if you have network access on the machine to be upgraded.
- Download the Fedora 41 ISO appropriate for the arch that you are running
- For the sake of example, we will assume that the ISO exists at
/home/user/fedora-18.iso
but it can be anwhere in the filesystem as long as you alter the path below to reflect the actual location of the ISO.
- For the sake of example, we will assume that the ISO exists at
- Start the upgrade prep by executing the following command
- sudo fedup-cli --iso /home/user/fedora-18.iso --debuglog=fedupdebug.log
- Once the preparations have completed, check the
fedupdebug.log
file if any errors show up in the output fromfedup-cli
Other Device
Optical drives and other mountable storage can also be used as a package source for upgrade preparations.
- Mount the source material
- For the sake of example, we will assume that this source is mounted at
/mnt/fedora
but you can mount it anywhere as long as you replace/mnt/fedora
in the command below with the actual mounted location of the upgrade source.
- For the sake of example, we will assume that this source is mounted at
- Start the upgrade preparations by executing the following command
- sudo fedup-cli --device /mnt/fedora --debuglog=fedupdebug.log
- Once the preparations have completed, check the
fedupdebug.log
file if any errors show up in the output fromfedup-cli
Executing the Upgrade
- Reboot the system if
fedup
has completed without error. - Once the system reboots, there should be a new entry in the GRUB menu titled
System Upgrade
.- If you add
rd.upgrade.debugshell
boot argument, you will get a login shell on VT2, allowing you to tinker with the system in case something goes wrong
- If you add
- Select the
System Upgrade
option from the GRUB menu - The system should boot into the upgrade process and a plymouth boot screen should be displayed
- If you press 'esc', a more detailed log of progress will be desplayed but if you switch back to the graphical progress indicator, it will remain at 0% for the remainder of the upgrade but that does not mean the upgrade has stopped. See Need section reference here once it's written
- Once the upgrade process has completed, the system will reboot and an option to boot Fedora 41 will be on the grub menu
GRUB Updates
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)
Grub2 is not installed as part of the upgrade process, so you'll have to install it:
sudo yum install grub2-efi
Migrating Grub Configuration
Unfortunately, most boot settings are not migrated to grub2 without manual intervention. To migrate these settings, you will need to look the existing grub configuration to migrate settings. Open the /boot/efi/EFI/redhat/grub.conf
and find the most recent boot entry. The version numbers don't need to exactly match the example, just find the most recent one.
title Fedora (3.6.11-1.fc17.x86_64) root (hd0,2) kernel /vmlinuz-3.6.11-1.fc17.x86_64 rd.luks.uuid=luks-f664c3a9-e939-410e-8478-891f48b80f12 rd.md=0 rd.dm=0 KEYTABLE=us SYSFONT=True rd.lvm.lv=vg_test/lv_root root=/dev/mapper/vg_test-lv_root ro rd.lvm.lv=vg_test/lv_swap LANG=en_US.UTF-8 rhgb quiet initrd /initramfs-3.6.11-1.fc17.x86_64.img
We are not interested in all of the arguments following kernel
, mostly arguments which start with rd.
and a few other specific arguments. In the example listed above, we're interested in:
rd.luks.uuid=luks-f664c3a9-e939-410e-8478-891f48b80f12 rd.md=0 rd.dm=0 rd.lvm.lv=vg_test/lv_root root=/dev/mapper/vg_test-lv_root ro rd.lvm.lv=vg_test/lv_swap rhgb quiet
To migrate the configuration, open /etc/default/grub
with sudo or as root and paste the following template in:
GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_CMDLINE_LINUX="" GRUB_DISABLE_RECOVERY="true" GRUB_THEME="/boot/grub2/themes/system/theme.txt"
Take the kernel args that we extracted before and insert them inside the quotes following GRUB_CMDLINE_LINUX. In this example, it would look like the following. Note that formatting has been slightly altered for the wiki - there should be no newlines in the text following GRUB_CMDLINE_LINUX.
GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_CMDLINE_LINUX="rd.luks.uuid=luks-f664c3a9-e939-410e-8478-891f48b80f12 rd.md=0 rd.dm=0 rd.lvm.lv=vg_test/lv_root root=/dev/mapper/vg_test-lv_root ro rd.lvm.lv=vg_test/lv_swap rhgb quiet" GRUB_DISABLE_RECOVERY="true" GRUB_THEME="/boot/grub2/themes/system/theme.txt"
Now that we've migrated the required grub settings, we can wrap up by generating a new grub configuration using these new settings and symlinking this new configuration to /etc/grub2-efi.cfg
.
grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg ln -s /boot/efi/EFI/fedora/grub.cfg /etc/grub2-efi.cfg
Updating the EFI boot entry
Once the grub2-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. Note that you will not be using the exact same command when upgrading to grub2 as the location of some files has changed. The older reference 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, note that <boot number> is the boot number you found above:
efibootmgr -b <boot number> -B
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>
Now your system should have a working grub2-efi bootloader and it should be loaded when you reboot.
Cleaning Up Post Upgrade
Relevant Bugs: Bug 888085
There are a collection of post-upgrade things to do. Some of which are fixed by doing a distro sync:
yum distribution-synchronization --disablepresto
If you are using google-chrome from the google repository, you must re-install google-chrome due to a packing bug on the Google side of things. Make sure to adjust the command to the build type you would like to install:
yum remove google-chrome-\* && yum install google-chrome-[beta,stable,unstable]
Docs TODO
- Write fedup troubleshooting and debug guide
- add details for secureboot/shim installation
- write commonbugs entries and link to them from this page
- add note about blob drivers if needed
- add notes about how to use other repos or link to discussion/instructions