Bug 1765297
Summary: | System become unbootable (Failed to start Switch Root) after the last upgrade | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Mikhail <mikhail.v.gavrilov> | ||||||||||||||||||||
Component: | grub2 | Assignee: | Peter Jones <pjones> | ||||||||||||||||||||
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||||||||||||||||
Severity: | high | Docs Contact: | |||||||||||||||||||||
Priority: | high | ||||||||||||||||||||||
Version: | 32 | CC: | bobgus, cpp123, david.southwick, d.j, fadnix, fmartine, goodmirek, jbk, lkundrak, lnykryn, ltuan, luya_tfz, msekleta, pjdisclafani, pjones, ppywlkiqletw, rguerra.marin, s, systemd-maint, zbyszek | ||||||||||||||||||||
Target Milestone: | --- | ||||||||||||||||||||||
Target Release: | --- | ||||||||||||||||||||||
Hardware: | Unspecified | ||||||||||||||||||||||
OS: | Unspecified | ||||||||||||||||||||||
Whiteboard: | |||||||||||||||||||||||
Fixed In Version: | grub2-2.04-15.fc32 | Doc Type: | If docs needed, set a value | ||||||||||||||||||||
Doc Text: | Story Points: | --- | |||||||||||||||||||||
Clone Of: | |||||||||||||||||||||||
: | 1893974 (view as bug list) | Environment: | |||||||||||||||||||||
Last Closed: | 2020-05-01 04:06:25 UTC | Type: | Bug | ||||||||||||||||||||
Regression: | --- | Mount Type: | --- | ||||||||||||||||||||
Documentation: | --- | CRM: | |||||||||||||||||||||
Verified Versions: | Category: | --- | |||||||||||||||||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||||||||||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||||||||||||||||
Embargoed: | |||||||||||||||||||||||
Attachments: |
|
Created attachment 1628929 [details]
photo of error message on the boot screen
> Failed to switch root: Specified switch root path '/sysroot' does not seem to be an OS tree. os-release file is missing.
That seems to be the crucial error. If you use 'rd.break' on the kernel command line, and look
in /sysroot, do you see /etc/os-release or /usr/lib/os-release?
(In reply to Zbigniew Jędrzejewski-Szmek from comment #2) > > Failed to switch root: Specified switch root path '/sysroot' does not seem to be an OS tree. os-release file is missing. > > That seems to be the crucial error. If you use 'rd.break' on the kernel > command line, and look > in /sysroot, do you see /etc/os-release or /usr/lib/os-release? # ls -la /sysroot total 0 drwxr-xr-x 2 root root 40 Jul 24 22:24 . drwxr-xr-x 14 root root 460 Oct 25 03:54 .. # ls -la /etc/os-release lrwxrwxrwx 1 root root 14 Jul 24 22:24 /etc/os-release -> initrd-release # ls -la /usr/lib/os-release lrwxrwxrwx 1 root root 14 Jul 24 22:24 /usr/lib/os-release -> initrd-release Hmm, what packages were installed in the upgrade that caused this issue? Nothing important changed in systemd, so this is most likely related to some change in the boot loader or the kernel... Created attachment 1629319 [details] dnf.log > Hmm, what packages were installed in the upgrade that caused this issue? I have this same issue on Fedora 31. I have never been able to boot directly into this install. I can boot via other OS grub menu. I get the same output as in post #3. This does not seem to effect systems not booting with the new BLS, at least those of mine. Fixed my issue with update of kernel options. CODE grubby --update-kernel ALL --args="root=UUID=2ccbcb74-4636-424c-bd81-caf5e522b827 ro vconsole.keymap=us resume=UUID=6043208d-2609-4bf8-847d-8e6a54907826 psmouse.proto=bare selinux=0 LANG=en_US.UTF-8" END CODE In prior update I had left out the "root=UUID=2cc....." portion of the arguments. My grubenv block now looks like this: # GRUB Environment Block kernelopts=root=UUID=2ccbcb74-4636-424c-bd81-caf5e522b827 ro vconsole.keymap=us resume=UUID=6043208d-2609-4bf8-847d-8e6a54907826 psmouse.proto=bare selinux=0 boot_success=1 ### hash padded to 1024 bytes. So I don't think the issue is in the initrd but rather may be in grubby not setting or getting the correct environment information. Since the OP is working with rawhide (f32) version this is the direction I would look. > Created attachment 1629319 [details] dnf.log 2019-10-24T04:29:29Z DEBUG ---> Package grub2-common.noarch 1:2.04-2.fc32 will be upgraded 2019-10-24T04:29:29Z DEBUG ---> Package grub2-common.noarch 1:2.04-3.fc32 will be an upgrade 2019-10-24T04:29:29Z DEBUG ---> Package grub2-efi-ia32.x86_64 1:2.04-2.fc32 will be upgraded 2019-10-24T04:29:29Z DEBUG ---> Package grub2-efi-ia32.x86_64 1:2.04-3.fc32 will be an upgrade 2019-10-24T04:29:29Z DEBUG ---> Package grub2-efi-ia32-cdboot.x86_64 1:2.04-2.fc32 will be upgraded 2019-10-24T04:29:29Z DEBUG ---> Package grub2-efi-ia32-cdboot.x86_64 1:2.04-3.fc32 will be an upgrade 2019-10-24T04:29:29Z DEBUG ---> Package grub2-efi-x64.x86_64 1:2.04-2.fc32 will be upgraded 2019-10-24T04:29:29Z DEBUG ---> Package grub2-efi-x64.x86_64 1:2.04-3.fc32 will be an upgrade 2019-10-24T04:29:29Z DEBUG ---> Package grub2-efi-x64-cdboot.x86_64 1:2.04-2.fc32 will be upgraded 2019-10-24T04:29:29Z DEBUG ---> Package grub2-efi-x64-cdboot.x86_64 1:2.04-3.fc32 will be an upgrade 2019-10-24T04:29:29Z DEBUG ---> Package grub2-pc.x86_64 1:2.04-2.fc32 will be upgraded 2019-10-24T04:29:29Z DEBUG ---> Package grub2-pc.x86_64 1:2.04-3.fc32 will be an upgrade 2019-10-24T04:29:29Z DEBUG ---> Package grub2-pc-modules.noarch 1:2.04-2.fc32 will be upgraded 2019-10-24T04:29:29Z DEBUG ---> Package grub2-pc-modules.noarch 1:2.04-3.fc32 will be an upgrade 2019-10-24T04:29:29Z DEBUG ---> Package grub2-tools.x86_64 1:2.04-2.fc32 will be upgraded 2019-10-24T04:29:29Z DEBUG ---> Package grub2-tools.x86_64 1:2.04-3.fc32 will be an upgrade 2019-10-24T04:29:29Z DEBUG ---> Package grub2-tools-efi.x86_64 1:2.04-2.fc32 will be upgraded 2019-10-24T04:29:29Z DEBUG ---> Package grub2-tools-efi.x86_64 1:2.04-3.fc32 will be an upgrade 2019-10-24T04:29:29Z DEBUG ---> Package grub2-tools-extra.x86_64 1:2.04-2.fc32 will be upgraded 2019-10-24T04:29:29Z DEBUG ---> Package grub2-tools-extra.x86_64 1:2.04-3.fc32 will be an upgrade 2019-10-24T04:29:29Z DEBUG ---> Package grub2-tools-minimal.x86_64 1:2.04-2.fc32 will be upgraded + cat /proc/cmdline + sed -e 's/\(ftp:\/\/.*\):.*@/\1:*******@/g;s/\(cifs:\/\/.*\):.*@/\1:*******@/g;s/cifspass=[^ ]*/cifspass=*******/g;s/iscsi:.*@/iscsi:******@/g;s/rd.iscsi.password=[^ ]*/rd.iscsi.password=******/g;s/rd.iscsi.in.password=[^ ]*/rd.iscsi.in.password=******/g' BOOT_IMAGE=(hd1,gpt2)/boot/vmlinuz-5.4.0-0.rc4.git1.1.fc32.x86_64 Indeed, it looks as if the commandline has gone empty. (In reply to Mikhail from comment #0) > Created attachment 1628928 [details] > rdsosreport.txt > > Description of problem: > System become unbootable (Failed to start Switch Root) after the last upgrade Could you please share the the following files: /boot/grub2/grubenv, /etc/grub2-efi.cfg (or /etc/grub2.cfg if is a legacy BIOS install) and all the files in the /boot/loader/entries directory. This bug appears to have been reported against 'rawhide' during the Fedora 32 development cycle. Changing version to 32. I've hit this problem after upgrading my laptop from f31 to f32. The logs mirror those above and indicate that no parameters were being passed to the kernel on boot. The /sysroot had no filesystem mounted in it to switch to. The file /boot/grub2/grubenv was zero bytes when it failed. I'll attach the grub and loader entries shortly. My machine is dual-boot with Windows 10 but doesn't see a lot of use so sees upgrades irregularly. It had been working well with fc31. I was able to fix the machine by: - booting a live CD and mounting the partitions manually and chrooting in - recreating the grubenv file with "grub2-editenv create" - rebuilding the config with "grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg Created attachment 1666390 [details]
Failing grub.cfg
Created attachment 1666391 [details]
Failing /boot/loader/entries
I hit a similar issue when upgrading from f31 to f32 and also doing a fresh installation. As the problem could be a potential blocker for the beta release of Fedora 32, changing the severity to high. I am facing this issue with the released version 32! I just upgraded from 31 to 32 and now the system won't boot. /sysroot is empty as the others have reported, however, when i try to mount my drive to the same folder i get an error telling me it is already mounted! and after mounting it to a new folder the files appears also under sysroot. I will now follow what David has suggested. From the log file "rdsosreport.txt" i see the following lines, not sure if they are relevant: [ 36.502759] mypc systemd-gpt-auto-generator[510]: EFI loader partition unknown, exiting. [ 36.502811] mypc systemd-gpt-auto-generator[510]: (The boot loader did not set EFI variable LoaderDevicePartUUID.) then later I get the "Failed to switch root" error: [ 36.627513] mypc systemd[1]: Reached target Switch Root. [ 36.628852] mypc systemd[1]: Starting Switch Root... [ 36.636212] mypc systemctl[548]: Failed to switch root: Specified switch root path '/sysroot' does not seem to be an OS tree. os-release file is missing. [ 36.636781] mypc systemd[1]: initrd-switch-root.service: Main process exited, code=exited, status=1/FAILURE [ 36.636856] mypc systemd[1]: initrd-switch-root.service: Failed with result 'exit-code'. [ 36.636950] mypc systemd[1]: Failed to start Switch Root. [ 36.641469] mypc systemd[1]: Startup finished in 1.123s (kernel) + 0 (initrd) + 35.517s (userspace) = 36.641s. [ 36.641537] mypc audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj=kernel msg='unit=initrd-switch-root comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=failed' [ 36.641565] mypc systemd[1]: initrd-switch-root.service: Triggering OnFailure= dependencies. [ 36.641973] mypc systemd[1]: Started Emergency Shell. (In reply to Fahad Alduraibi from comment #15) > I am facing this issue with the released version 32! > I just upgraded from 31 to 32 and now the system won't boot. > > /sysroot is empty as the others have reported, however, when i try to mount > my drive to the same folder i get an error telling me it is already mounted! > and after mounting it to a new folder the files appears also under sysroot. > Could you please share the the following files: /boot/grub2/grubenv /boot/efi/EFI/fedora/grub.cfg (or /boot/grub2/grub.cfg if is a legacy BIOS install) the files in the /boot/loader/entries directory (In reply to Fahad Alduraibi from comment #15) > /sysroot is empty as the others have reported, however, when i try to mount > my drive to the same folder i get an error telling me it is already mounted! > and after mounting it to a new folder the files appears also under sysroot. Correction about it being already mounted, i think I was mistaken at that time since I tried it a few times later and didn't face the same issue. Not sure what caused the previous behavior Created attachment 1683032 [details]
grub.cfg
Created attachment 1683033 [details]
loader folder
Created attachment 1683034 [details]
grubenv (might not be the original)
The attached file might not be the original since I have already ran the following command:
"grub2-editenv create"
and the file date and time are from the time when i ran the command. Not sure what it was before running this command.
Created attachment 1683036 [details]
grubx64.efi
Can you please test the attached grubx64.efi binary? This is a test build so is not signed, if you have Secure Boot enabled you need to disable it to test.
(In reply to Javier Martinez Canillas from comment #21) > Created attachment 1683036 [details] > grubx64.efi > > Can you please test the attached grubx64.efi binary? This is a test build so > is not signed, if you have Secure Boot enabled you need to disable it to > test. Yes it works now. But when can we expect a signed one? since I switch between Windows and Fedora, and windows won't boot without secure boot enabled. Or can I can sign the file myself the way i sign driver? (In reply to Fahad Alduraibi from comment #22) > (In reply to Javier Martinez Canillas from comment #21) > > Created attachment 1683036 [details] > > grubx64.efi > > > > Can you please test the attached grubx64.efi binary? This is a test build so > > is not signed, if you have Secure Boot enabled you need to disable it to > > test. > > Yes it works now. > Thanks a lot for testing. > But when can we expect a signed one? since I switch between Windows and > Fedora, and windows won't boot without secure boot enabled. Or can I can > sign the file myself the way i sign driver? The signed build is in process now https://koji.fedoraproject.org/koji/taskinfo?taskID=43910644 I just wanted you to test and confirm that it solves the issue before doing the package update. FEDORA-2020-50ee8dac68 has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2020-50ee8dac68 FEDORA-2020-50ee8dac68 has been pushed to the Fedora 32 testing repository. In short time you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-50ee8dac68` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-50ee8dac68 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates. Now that my system will only boot into emergency mode, the "dnf" command is not available to me. So I'm not going to be able to run sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-50ee8dac68 I imagine this bug fix will help people who have not yet upgraded their systems, but what is the solution for people who have already done the upgrade and ran into this bug and can only enter emergency mode? I hoped to attach files to this ticket, but as far as I can tell I don't have a /boot directory to include the files requested above (/boot/grub2/grubenv, /boot/efi/EFI/fedora/grub.cfg or /boot/grub2/grub.cfg, and the files in the /boot/loader/entries directory). Also, I haven't figured out how to write to a USB file from emergency mode, so I haven't included the rdosreport.txt, either. (In reply to PJ D from comment #26) > Now that my system will only boot into emergency mode, the "dnf" command is > not available to me. So I'm not going to be able to run > sudo dnf upgrade --enablerepo=updates-testing > --advisory=FEDORA-2020-50ee8dac68 > > I imagine this bug fix will help people who have not yet upgraded their > systems, but what is the solution for people who have already done the > upgrade and ran into this bug and can only enter emergency mode? > > I hoped to attach files to this ticket, but as far as I can tell I don't > have a /boot directory to include the files requested above > (/boot/grub2/grubenv, /boot/efi/EFI/fedora/grub.cfg or /boot/grub2/grub.cfg, > and the files in the /boot/loader/entries directory). Also, I haven't > figured out how to write to a USB file from emergency mode, so I haven't > included the rdosreport.txt, either. Are you booting with EFI or legacy BIOS? You may try mounting your boot and EFI System Partitions to get that information. Also, since the bug is about grub not getting the kernel command line parameters for the entries, you could try editing the menu entries in GRUB (by pressing e when an entry is selected), add your command line parameters and then booting using Ctrl + x FEDORA-2020-50ee8dac68 has been pushed to the Fedora 32 stable repository. If problem still persists, please make note of it in this bug report. Per my system settings menu I am booting in UEFI mode. I'll try to figure out the settings I need and give the grub menu edit a try. Thank you.
>
> Are you booting with EFI or legacy BIOS? You may try mounting your boot and
> EFI System Partitions to get that information.
>
> Also, since the bug is about grub not getting the kernel command line
> parameters for the entries, you could try editing the menu entries in GRUB
> (by pressing e when an entry is selected), add your command line parameters
> and then booting using Ctrl + x
Hi, I upgraded from fedora 31 to 32 (stable) today, and I encountered this exact issue. Somebody in a Fedora forum (https://ask.fedoraproject.org/t/fedora-32-switch-root-wont-start-after-upgrade/6634/20?u=rugebiker) mentioned that @rug Javier Martinez Canillas fix worked for him. I tried it and it also worked for me. A lot of other people in that fedoraproject thread are having the same issue, so this is still an ongoing thing. (In reply to Ruben Guerra Marin from comment #30) > Hi, I upgraded from fedora 31 to 32 (stable) today, and I encountered this > exact issue. Somebody in a Fedora forum > (https://ask.fedoraproject.org/t/fedora-32-switch-root-wont-start-after- > upgrade/6634/20?u=rugebiker) mentioned that @rug Javier Martinez Canillas > fix worked for him. I tried it and it also worked for me. A lot of other > people in that fedoraproject thread are having the same issue, so this is > still an ongoing thing. The root of the issue is that we are storing the kernel command line parameters in the grubenv file as a $kernelopts variable, but that turned being quite fragile since it seems the grubenv file can get easily corrupted. Because all the boot entries use the same variable for the cmdline, then none of them will have a root parameter set if GRUB isn't able to read the variables from the grubenv. There's a fallback kernel cmdline variable that's set in the grub.cfg file. But that wasn't the case in F30 and since the grub.cfg is never re-generated, you may not had that if variable if were upgrading since F30 or earlier. For F33 we will change how the kernel cmdline is stored and have it in the BLS snippets instead of the grubenv file. That will prevent this issue to happen again. (In reply to Javier Martinez Canillas from comment #31) > > For F33 we will change how the kernel cmdline is stored and have it in the > BLS snippets instead of the grubenv file. That will prevent this issue to > happen again. Just curious: why was the boot command line put in the grubenv file in the first place? (In reply to Villy Kruse from comment #32) > (In reply to Javier Martinez Canillas from comment #31) > > > > > > For F33 we will change how the kernel cmdline is stored and have it in the > > BLS snippets instead of the grubenv file. That will prevent this issue to > > happen again. > > Just curious: why was the boot command line put in the grubenv file in the > first place? The rationale was that it would allow the following: * Add a boot entry by just dropping a file in /boot/loader/entries without needing to do any modification to this file. That's why the BLS file is a static file generated at kernel build time and shipped in the kernel package (/lib/modules/$kernel_version/bls.conf). * Update the kernel cmdline for all the entries without needing to iterate over all installed BLS files and modify them. But in the end it wasn't the best trade off, since the grubenv file is quite fragile. The file gets easily corrupted, the GRUB tools are very strict about the file size and format (it must have an exact size of 1024 bytes, must be padded with # chars, etc) and the tools refuse to modify them if it was edited by the users (due the strict file size and format mentioned). Hi All, I'm posting here the steps helped me in my case (HP 450 laptop, dual boot, ssd + hdd) 1. Boot from fedora 32 live USB, open terminal, become root 2. Determine efi, boot and root partitions ( fdisk -l; lsblk -f ) 3. Prepare environment, chroot, fix, exit and reboot su mkdir -pv /mnt/root mount /dev/mapper/fedora_localhost--live-root /mnt/root mount /dev/nvme0n1p6 /mnt/root/boot/ mount /dev/nvme0n1p2 /mnt/root/boot/efi mount -o bind /dev /mnt/root/dev mount -o bind /proc /mnt/root/proc mount -o bind /sys /mnt/root/sys mount -o bind /run /mnt/root/run chroot /mnt/root grub2-editenv /boot/efi/EFI/fedora/grubenv create grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg dracut --force --regenerate-all exit reboot *** Bug 1829172 has been marked as a duplicate of this bug. *** Comment #34 nice summary of commands Unfortunately, it did not work for me. Still thrown into emergency shell. My disks are fine - I can mount them and look at data (copied off a few critical files). I did the chroot, grub2-editenv, grub2-mkconfig, dracut and then reboot.. -- Originally on my upgrade 31->32, I was doing fine on the dns steps, but then when I did the reboot step to update, almost immediately I was thrown into the emergency shell. It would be nice to be able to go back to a regular terminal window and re-do the dns steps. --- I have another system that successfully upgraded to 32 and I have another bare metal that is now running 32. Perhaps I got overconfident.. >>> It would be nice to be able to go back to a regular terminal window and re-do the dns steps.
>>>
>>> ---
Even better, it would be nice to have a 'sanity check' that would always be run at this critical moment to see if everything is a 'go' for the reboot step.
Before the reboot, everything can be undone, the dns steps can be redone, the files can be downloaded again (with perhaps a newer version of a problematic file..) and the 'sanity check' done again.
If the 'sanity check' comes up a no-go, at least one still has a running system. It is possible to go on-line and see if others have had the same problem.
This just happened to me from a normal dnf update on F32 stable, not sure what triggered it however. @Greg's steps from liveCD were able to recover the system however. Packages changes from DNF history: Packages Altered: Install kernel-5.6.12-300.fc32.x86_64 @updates Install kernel-core-5.6.12-300.fc32.x86_64 @updates Install kernel-devel-5.6.12-300.fc32.x86_64 @updates Install kernel-modules-5.6.12-300.fc32.x86_64 @updates Install kernel-modules-extra-5.6.12-300.fc32.x86_64 @updates Upgrade abrt-2.14.2-1.fc32.x86_64 @updates Upgraded abrt-2.14.0-2.fc32.x86_64 @@System Upgrade abrt-addon-ccpp-2.14.2-1.fc32.x86_64 @updates Upgraded abrt-addon-ccpp-2.14.0-2.fc32.x86_64 @@System Upgrade abrt-addon-kerneloops-2.14.2-1.fc32.x86_64 @updates Upgraded abrt-addon-kerneloops-2.14.0-2.fc32.x86_64 @@System Upgrade abrt-addon-pstoreoops-2.14.2-1.fc32.x86_64 @updates Upgraded abrt-addon-pstoreoops-2.14.0-2.fc32.x86_64 @@System Upgrade abrt-addon-vmcore-2.14.2-1.fc32.x86_64 @updates Upgraded abrt-addon-vmcore-2.14.0-2.fc32.x86_64 @@System Upgrade abrt-addon-xorg-2.14.2-1.fc32.x86_64 @updates Upgraded abrt-addon-xorg-2.14.0-2.fc32.x86_64 @@System Upgrade abrt-cli-2.14.2-1.fc32.x86_64 @updates Upgraded abrt-cli-2.14.0-2.fc32.x86_64 @@System Upgrade abrt-dbus-2.14.2-1.fc32.x86_64 @updates Upgraded abrt-dbus-2.14.0-2.fc32.x86_64 @@System Upgrade abrt-desktop-2.14.2-1.fc32.x86_64 @updates Upgraded abrt-desktop-2.14.0-2.fc32.x86_64 @@System Upgrade abrt-gui-2.14.2-1.fc32.x86_64 @updates Upgraded abrt-gui-2.14.0-2.fc32.x86_64 @@System Upgrade abrt-gui-libs-2.14.2-1.fc32.x86_64 @updates Upgraded abrt-gui-libs-2.14.0-2.fc32.x86_64 @@System Upgrade abrt-java-connector-1.1.5-1.fc32.x86_64 @updates Upgraded abrt-java-connector-1.1.4-1.fc32.x86_64 @@System Upgrade abrt-libs-2.14.2-1.fc32.x86_64 @updates Upgraded abrt-libs-2.14.0-2.fc32.x86_64 @@System Upgrade abrt-plugin-bodhi-2.14.2-1.fc32.x86_64 @updates Upgraded abrt-plugin-bodhi-2.14.0-2.fc32.x86_64 @@System Upgrade abrt-retrace-client-2.14.2-1.fc32.x86_64 @updates Upgraded abrt-retrace-client-2.14.0-2.fc32.x86_64 @@System Upgrade abrt-tui-2.14.2-1.fc32.x86_64 @updates Upgraded abrt-tui-2.14.0-2.fc32.x86_64 @@System Upgrade adwaita-qt4-1.1.3-1.fc32.x86_64 @updates Upgraded adwaita-qt4-1.1.2-1.fc32.x86_64 @@System Upgrade adwaita-qt5-1.1.3-1.fc32.x86_64 @updates Upgraded adwaita-qt5-1.1.2-1.fc32.x86_64 @@System Upgrade autocorr-en-1:6.4.3.2-3.fc32.noarch @updates Upgraded autocorr-en-1:6.4.3.2-1.fc32.noarch @@System Upgrade boost-chrono-1.69.0-18.fc32.x86_64 @updates Upgraded boost-chrono-1.69.0-17.fc32.x86_64 @@System Upgrade boost-date-time-1.69.0-18.fc32.x86_64 @updates Upgraded boost-date-time-1.69.0-17.fc32.x86_64 @@System Upgrade boost-filesystem-1.69.0-18.fc32.x86_64 @updates Upgraded boost-filesystem-1.69.0-17.fc32.x86_64 @@System Upgrade boost-iostreams-1.69.0-18.fc32.x86_64 @updates Upgraded boost-iostreams-1.69.0-17.fc32.x86_64 @@System Upgrade boost-locale-1.69.0-18.fc32.x86_64 @updates Upgraded boost-locale-1.69.0-17.fc32.x86_64 @@System Upgrade boost-regex-1.69.0-18.fc32.x86_64 @updates Upgraded boost-regex-1.69.0-17.fc32.x86_64 @@System Upgrade boost-system-1.69.0-18.fc32.x86_64 @updates Upgraded boost-system-1.69.0-17.fc32.x86_64 @@System Upgrade boost-thread-1.69.0-18.fc32.x86_64 @updates Upgraded boost-thread-1.69.0-17.fc32.x86_64 @@System Upgrade dnsmasq-2.81-3.fc32.x86_64 @updates Upgraded dnsmasq-2.81-2.fc32.x86_64 @@System Upgrade firewalld-0.8.2-3.fc32.noarch @updates Upgraded firewalld-0.8.2-2.fc32.noarch @@System Upgrade firewalld-filesystem-0.8.2-3.fc32.noarch @updates Upgraded firewalld-filesystem-0.8.2-2.fc32.noarch @@System Upgrade gnome-abrt-1.3.2-1.fc32.x86_64 @updates Upgraded gnome-abrt-1.3.1-1.fc32.x86_64 @@System Upgrade gnutls-3.6.13-2.fc32.x86_64 @updates Upgraded gnutls-3.6.13-1.fc32.x86_64 @@System Upgrade gnutls-dane-3.6.13-2.fc32.x86_64 @updates Upgraded gnutls-dane-3.6.13-1.fc32.x86_64 @@System Upgrade gnutls-utils-3.6.13-2.fc32.x86_64 @updates Upgraded gnutls-utils-3.6.13-1.fc32.x86_64 @@System Upgrade json-c-0.13.1-12.fc32.x86_64 @updates Upgraded json-c-0.13.1-11.fc32.x86_64 @@System Upgrade mesa-dri-drivers-20.0.7-1.fc32.x86_64 @updates Upgraded mesa-dri-drivers-20.0.6-1.fc32.x86_64 @@System Upgrade mesa-filesystem-20.0.7-1.fc32.x86_64 @updates Upgraded mesa-filesystem-20.0.6-1.fc32.x86_64 @@System Upgrade mesa-libEGL-20.0.7-1.fc32.x86_64 @updates Upgraded mesa-libEGL-20.0.6-1.fc32.x86_64 @@System Upgrade mesa-libGL-20.0.7-1.fc32.x86_64 @updates Upgraded mesa-libGL-20.0.6-1.fc32.x86_64 @@System Upgrade mesa-libgbm-20.0.7-1.fc32.x86_64 @updates Upgraded mesa-libgbm-20.0.6-1.fc32.x86_64 @@System Upgrade mesa-libglapi-20.0.7-1.fc32.x86_64 @updates Upgraded mesa-libglapi-20.0.6-1.fc32.x86_64 @@System Upgrade mesa-libxatracker-20.0.7-1.fc32.x86_64 @updates Upgraded mesa-libxatracker-20.0.6-1.fc32.x86_64 @@System Upgrade mesa-vulkan-drivers-20.0.7-1.fc32.x86_64 @updates Upgraded mesa-vulkan-drivers-20.0.6-1.fc32.x86_64 @@System Upgrade nftables-1:0.9.3-3.fc32.x86_64 @updates Upgraded nftables-1:0.9.3-2.fc32.x86_64 @@System Upgrade openconnect-8.10-1.fc32.x86_64 @updates Upgraded openconnect-8.05-2.fc32.x86_64 @@System Upgrade osinfo-db-20200515-1.fc32.noarch @updates Upgraded osinfo-db-20200325-1.fc32.noarch @@System Upgrade pcre2-10.35-1.fc32.x86_64 @updates Upgraded pcre2-10.34-9.fc32.x86_64 @@System Upgrade pcre2-syntax-10.35-1.fc32.noarch @updates Upgraded pcre2-syntax-10.34-9.fc32.noarch @@System Upgrade pcre2-utf16-10.35-1.fc32.x86_64 @updates Upgraded pcre2-utf16-10.34-9.fc32.x86_64 @@System Upgrade pcre2-utf32-10.35-1.fc32.x86_64 @updates Upgraded pcre2-utf32-10.34-9.fc32.x86_64 @@System Upgrade python3-abrt-2.14.2-1.fc32.x86_64 @updates Upgraded python3-abrt-2.14.0-2.fc32.x86_64 @@System Upgrade python3-abrt-addon-2.14.2-1.fc32.noarch @updates Upgraded python3-abrt-addon-2.14.0-2.fc32.noarch @@System Upgrade python3-firewall-0.8.2-3.fc32.noarch @updates Upgraded python3-firewall-0.8.2-2.fc32.noarch @@System Upgrade python3-libreport-2.13.1-4.fc32.x86_64 @updates Upgraded python3-libreport-2.12.0-3.fc32.x86_64 @@System Upgrade python3-nftables-1:0.9.3-3.fc32.x86_64 @updates Upgraded python3-nftables-1:0.9.3-2.fc32.x86_64 @@System Upgrade tcl-1:8.6.10-2.fc32.x86_64 @updates Upgraded tcl-1:8.6.10-1.fc32.x86_64 @@System Upgrade tpm2-tss-2.4.1-1.fc32.x86_64 @updates Upgraded tpm2-tss-2.4.0-1.fc32.x86_64 @@System Upgrade vim-common-2:8.2.752-1.fc32.x86_64 @updates Upgraded vim-common-2:8.2.735-1.fc32.x86_64 @@System Upgrade vim-enhanced-2:8.2.752-1.fc32.x86_64 @updates Upgraded vim-enhanced-2:8.2.735-1.fc32.x86_64 @@System Upgrade vim-filesystem-2:8.2.752-1.fc32.noarch @updates Upgraded vim-filesystem-2:8.2.735-1.fc32.noarch @@System Upgrade vim-minimal-2:8.2.752-1.fc32.x86_64 @updates Upgraded vim-minimal-2:8.2.735-1.fc32.x86_64 @@System Upgrade codium-1.45.1-1589539729.el7.x86_64 @gitlab.com_paulcarroty_vscodium_repo Upgraded codium-1.45.0-1588934872.el7.x86_64 @@System Removed kernel-5.6.7-300.fc32.x86_64 @@System Removed kernel-core-5.6.7-300.fc32.x86_64 @@System Removed kernel-devel-5.6.7-300.fc32.x86_64 @@System Removed kernel-modules-5.6.7-300.fc32.x86_64 @@System Removed kernel-modules-extra-5.6.7-300.fc32.x86_64 @@System Removed kmod-nvidia-5.6.7-300.fc32.x86_64-3:440.82-1.fc32.x86_64 @@System Removed kmod-wl-5.6.7-300.fc32.x86_64-6.30.223.271-32.fc32.x86_64 @@System Scriptlet output: 1 Warning: The unit file, source configuration file or drop-ins of abrt-journal-core.service changed on disk. Run 'systemctl daemon-reload' to reload units. 2 Warning: The unit file, source configuration file or drop-ins of abrt-vmcore.service changed on disk. Run 'systemctl daemon-reload' to reload units. 3 Warning: The unit file, source configuration file or drop-ins of abrt-oops.service changed on disk. Run 'systemctl daemon-reload' to reload units. 4 Warning: The unit file, source configuration file or drop-ins of abrt-xorg.service changed on disk. Run 'systemctl daemon-reload' to reload units. 5 Warning: The unit file, source configuration file or drop-ins of firewalld.service changed on disk. Run 'systemctl daemon-reload' to reload units. 6 Warning: The unit file, source configuration file or drop-ins of abrtd.service changed on disk. Run 'systemctl daemon-reload' to reload units. 7 dkms: removing: anbox-ashmem 1 (5.6.7-300.fc32.x86_64) (x86_64) 8 9 -------- Uninstall Beginning -------- 10 Module: anbox-ashmem 11 Version: 1 12 Kernel: 5.6.7-300.fc32.x86_64 (x86_64) 13 ------------------------------------- 14 15 Status: Before uninstall, this module version was ACTIVE on this kernel. 16 Removing any linked weak-modules 17 18 ashmem_linux.ko.xz: 19 - Uninstallation 20 - Deleting from: /lib/modules/5.6.7-300.fc32.x86_64/extra/ 21 - Original module 22 - No original module was found for this module on this kernel. 23 - Use the dkms install command to reinstall any previous module version. 24 25 depmod.... 26 27 DKMS: uninstall completed. 28 dkms: removing: anbox-binder 1 (5.6.7-300.fc32.x86_64) (x86_64) 29 30 -------- Uninstall Beginning -------- 31 Module: anbox-binder 32 Version: 1 33 Kernel: 5.6.7-300.fc32.x86_64 (x86_64) 34 ------------------------------------- 35 36 Status: Before uninstall, this module version was ACTIVE on this kernel. 37 Removing any linked weak-modules 38 39 binder_linux.ko.xz: 40 - Uninstallation 41 - Deleting from: /lib/modules/5.6.7-300.fc32.x86_64/extra/ 42 - Original module 43 - No original module was found for this module on this kernel. 44 - Use the dkms install command to reinstall any previous module version. 45 46 depmod.... 47 48 DKMS: uninstall completed. 49 warning: file /lib/modules/5.6.7-300.fc32.x86_64/updates: remove failed: No such file or directory 50 grub2-editenv: error: invalid environment block. 51 dkms: running auto installation service for kernel 5.6.12-300.fc32.x86_64 52 53 Kernel preparation unnecessary for this kernel. Skipping... 54 55 Building module: 56 cleaning build area.... 57 make -j12 KERNELRELEASE=5.6.12-300.fc32.x86_64 all KERNEL_SRC=/lib/modules/5.6.12-300.fc32.x86_64/build.... 58 cleaning build area.... 59 60 DKMS: build completed. 61 62 ashmem_linux.ko.xz: 63 Running module version sanity check. 64 - Original module 65 - No original module exists within this kernel 66 - Installation 67 - Installing to /lib/modules/5.6.12-300.fc32.x86_64/extra/ 68 Adding any weak-modules 69 70 depmod..... 71 72 DKMS: install completed. 73 74 Kernel preparation unnecessary for this kernel. Skipping... 75 76 Building module: 77 cleaning build area.... 78 make -j12 KERNELRELEASE=5.6.12-300.fc32.x86_64 all KERNEL_SRC=/lib/modules/5.6.12-300.fc32.x86_64/build.... 79 cleaning build area.... 80 81 DKMS: build completed. 82 83 binder_linux.ko.xz: 84 Running module version sanity check. 85 - Original module 86 - No original module exists within this kernel 87 - Installation 88 - Installing to /lib/modules/5.6.12-300.fc32.x86_64/extra/ 89 Adding any weak-modules 90 91 depmod..... 92 93 DKMS: install completed. 94 Done. 95 dkms: running auto installation service for kernel 5.6.12-300.fc32.x86_64 96 Done. (In reply to Bob Gustafson from comment #37) > >>> It would be nice to be able to go back to a regular terminal window and re-do the dns steps. > >>> > >>> --- > > Even better, it would be nice to have a 'sanity check' that would always be > run at this critical moment to see if everything is a 'go' for the reboot > step. > > Before the reboot, everything can be undone, the dns steps can be redone, > the files can be downloaded again (with perhaps a newer version of a > problematic file..) and the 'sanity check' done again. > > If the 'sanity check' comes up a no-go, at least one still has a running > system. It is possible to go on-line and see if others have had the same > problem. Most of my above wish list can be done from a USB live boot (except for the actual crash recovery). My problem was that I had a loop mount active before I started my dnf upgrade process. At some point, the file that was being loop mounted was deleted. When I came time to reboot and install the 32 system, the loop mount failed. Apparently, a failing mount is a Dependency for the new install and that is what failed it and dumped me into emergency. The fix was just to comment out that loop mount line in /etc/fstab. All this can be done while in the USB live system. I will write this up in a "Common Problems" note. This issue just happened to me yesterday, on Fedora 31, after dnf update, using stable updates repo. I have collected whole /boot, /etc and output of dnf history info before fixing the issue. Does it make sense to post the information I have collected here? Or should I do anything else to help preventing the issue happening to others? If you get dumped into the emergency shell, type in the root password and when you get a prompt: # journalctl -b | grep fail Look at the last fail lines for a clue. If there is the word 'dependency' in the line, look at previous fail lines for a possible clue. My problem was a loop mount in /etc/fstab which could not find its file. I commented out that line in /etc/fstab and the next boot was able to move past that point. The dependency on finding all mounts seems to be a feature of the upgrade reboot. (In reply to Mirek Svoboda from comment #40) > This issue just happened to me yesterday, on Fedora 31, after dnf update, > using stable updates repo. > I have collected whole /boot, /etc and output of dnf history info before > fixing the issue. > Does it make sense to post the information I have collected here? Yes, please share your grubenv, grub.cfg and /boot/loader/entries/*.conf files. Was this on an EFI or legacy BIOS install? (In reply to Javier Martinez Canillas from comment #42) > (In reply to Mirek Svoboda from comment #40) > > This issue just happened to me yesterday, on Fedora 31, after dnf update, > > using stable updates repo. > > I have collected whole /boot, /etc and output of dnf history info before > > fixing the issue. > > Does it make sense to post the information I have collected here? > > Yes, please share your grubenv, grub.cfg and /boot/loader/entries/*.conf > files. Was this on an EFI or legacy BIOS install? Also show the output of lsblk -f |
Created attachment 1628928 [details] rdsosreport.txt Description of problem: System become unbootable (Failed to start Switch Root) after the last upgrade [ 6.065641] localhost.localdomain systemd[1]: Reached target Switch Root. [ 6.067125] localhost.localdomain systemd[1]: Starting Switch Root... [ 6.075303] localhost.localdomain systemctl[600]: Failed to switch root: Specified switch root path '/sysroot' does not seem to be an OS tree. os-release file is missing. [ 6.076535] localhost.localdomain systemd[1]: initrd-switch-root.service: Main process exited, code=exited, status=1/FAILURE [ 6.076767] localhost.localdomain systemd[1]: initrd-switch-root.service: Failed with result 'exit-code'. [ 6.077252] localhost.localdomain systemd[1]: Failed to start Switch Root. [ 6.082124] localhost.localdomain systemd[1]: Startup finished in 10.530s (firmware) + 4.243s (loader) + 3.656s (kernel) + 0 (initrd) + 2.425s (userspace) = 20.855s. [ 6.082156] localhost.localdomain systemd[1]: initrd-switch-root.service: Triggering OnFailure= dependencies. [ 6.082218] localhost.localdomain audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj=kernel msg='unit=initrd-switch-root comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=failed' [ 6.083912] localhost.localdomain systemd[1]: Starting Setup Virtual Console... [ 6.167262] localhost.localdomain systemd[1]: systemd-vconsole-setup.service: Succeeded. [ 6.167862] localhost.localdomain systemd[1]: Started Setup Virtual Console. [ 6.167908] localhost.localdomain audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj=kernel msg='unit=systemd-vconsole-setup comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' [ 6.167937] localhost.localdomain audit[1]: SERVICE_STOP pid=1 uid=0 auid=4294967295 ses=4294967295 subj=kernel msg='unit=systemd-vconsole-setup comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' [ 6.169530] localhost.localdomain systemd[1]: Started Emergency Shell. [ 6.169686] localhost.localdomain audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj=kernel msg='unit=emergency comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' [ 6.169836] localhost.localdomain systemd[1]: Reached target Emergency Mode. [ 6.187663] localhost.localdomain systemd[1]: Received SIGRTMIN+21 from PID 496 (plymouthd). [ 6.197725] localhost.localdomain systemd[1]: Received SIGRTMIN+21 from PID 496 (plymouthd). [ 6.198367] localhost.localdomain systemd[1]: plymouth-start.service: Succeeded. [ 6.198867] localhost.localdomain audit[1]: SERVICE_STOP pid=1 uid=0 auid=4294967295 ses=4294967295 subj=kernel msg='unit=plymouth-start comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'