1. Please describe the problem: After upgrade of kernel, the running kernel aren't changed 2. What is the Version-Release number of the kernel: 5.5.8-200.fc31 3. Did it work previously in Fedora? If so, what kernel version did the issue *first* appear? Old kernels are available for download at https://koji.fedoraproject.org/koji/packageinfo?packageID=8 : The problem may have existed since Fedora 29. After upgrade to Fedora 31, the network didn't start, had to boot with an old kernel. The network problem was solved in bug 1783358. When I noticed that Fedora started an old kernel, I started to build a new grub.cfg with grub2-mkconfig 4. Can you reproduce this issue? If so, please provide the steps to reproduce the issue below: dnf update 5. Does this problem occur with the latest Rawhide kernel? To install the Rawhide kernel, run ``sudo dnf install fedora-repos-rawhide`` followed by ``sudo dnf update --enablerepo=rawhide kernel``: I'm running latest kernel after updating grub.cfg 6. Are you running any modules that not shipped with directly Fedora's kernel?: Not what I remember 7. Please attach the kernel logs. You can get the complete kernel log for a boot with ``journalctl --no-hostname -k > dmesg.txt``. If the issue occurred on a previous boot, use the journalctl ``-b`` flag.
Created attachment 1675317 [details] journalctl --no-hostname -k -b-1 > dmesg-1.txt
(In reply to henrik.johansson.kank from comment #0) ... > After upgrade of kernel, the running kernel aren't changed ... Thanks for your report. This sounds more like a grub2 issue than a kernel problem. Can you see the grub2 menu when you boot? If not, try pressing or tapping the "Esc" key while booting to see it. > I started to build a new grub.cfg with grub2-mkconfig If /etc/default/grub has GRUB_ENABLE_BLSCFG="true" you shouldn't need to do that. With BLS enabled, all the grub2 menu entries are in separate ".conf" files in: /boot/loader/entries/ "BLS" means "Boot Loader Specification".
Could you post the output from: $ cat /etc/default/grub For comparison, here is what the default /etc/default/grub file has in it after installing F32 from a live image: $ cat /etc/default/grub.ORIG GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="resume=/dev/mapper/fedora_localhost--live-swap rd.lvm.lv=fedora_localhost-live/root rd.lvm.lv=fedora_localhost-live/swap rhgb quiet" GRUB_DISABLE_RECOVERY="true" GRUB_ENABLE_BLSCFG=true
Created attachment 1675472 [details] /etc/default/grub /etc/default/grub
I can see the grub2 menu, 3 entries on first level and 6 under Advanced: menuentry 'Fedora' --class fedora --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-simple-6ae3f7d8-0b95-4c30-891e-1e848f2819fb' { submenu 'Advanced options for Fedora' $menuentry_id_option 'gnulinux-advanced-6ae3f7d8-0b95-4c30-891e-1e848f2819fb' { menuentry 'Fedora (5.5.8-200.fc31.x86_64) 31 (Workstation Edition)' --class fedora --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-5.5.8-200.fc31.x86_64-advanced-6ae3f7d8-0b95-4c30-891e-1e848f2819fb' { menuentry 'Fedora (5.5.8-200.fc31.x86_64) 31 (Workstation Edition) (recovery mode)' --class fedora --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-5.5.8-200.fc31.x86_64-recovery-6ae3f7d8-0b95-4c30-891e-1e848f2819fb' { menuentry 'Fedora (5.3.14-200.fc30.x86_64) 31 (Workstation Edition)' --class fedora --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-5.3.14-200.fc30.x86_64-advanced-6ae3f7d8-0b95-4c30-891e-1e848f2819fb' { menuentry 'Fedora (5.3.14-200.fc30.x86_64) 31 (Workstation Edition) (recovery mode)' --class fedora --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-5.3.14-200.fc30.x86_64-recovery-6ae3f7d8-0b95-4c30-891e-1e848f2819fb' { menuentry 'Fedora (0-rescue-7a31d0629cd24a4aa18810f3945946a0) 31 (Workstation Edition)' --class fedora --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-0-rescue-7a31d0629cd24a4aa18810f3945946a0-advanced-6ae3f7d8-0b95-4c30-891e-1e848f2819fb' { menuentry 'Fedora (0-rescue-7a31d0629cd24a4aa18810f3945946a0) 31 (Workstation Edition) (recovery mode)' --class fedora --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-0-rescue-7a31d0629cd24a4aa18810f3945946a0-recovery-6ae3f7d8-0b95-4c30-891e-1e848f2819fb' { menuentry 'Windows 7 (on /dev/sdc1)' --class windows --class os $menuentry_id_option 'osprober-chain-366C396D6C39294F' { grub.cfg was built (by me), before installation of kernel-5.5.11 # egrep BLS /etc/default/grub GRUB_ENABLE_BLSCFG=true # ls -l /boot/loader/entries/ total 8 -rw-r--r--. 1 root root 392 Jun 22 2019 7a31d0629cd24a4aa18810f3945946a0-0-rescue.conf -rw-r--r--. 1 root root 249 Dec 2 17:22 7a31d0629cd24a4aa18810f3945946a0-5.3.14-200.fc30.x86_64.conf -rw-r--r--. 1 root root 253 Mar 23 18:45 7a31d0629cd24a4aa18810f3945946a0-5.5.11-200.fc31.x86_64.conf -rw-r--r--. 1 root root 249 Mar 5 22:42 7a31d0629cd24a4aa18810f3945946a0-5.5.8-200.fc31.x86_64.conf
(In reply to henrik.johansson.kank from comment #4) > Created attachment 1675472 [details] > /etc/default/grub > > /etc/default/grub Could you try testing with these settings added back in (They are in the default grub.cfg in Comment 3): GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_DISABLE_RECOVERY="true" (In reply to henrik.johansson.kank from comment #5) ... > menuentry 'Fedora' --class fedora --class gnu-linux --class gnu --class os ... ... There shouldn't be any "menuentry 'Fedora'" items in grub.cfg. Could you post your grub2 package info: $ rpm -qa grub2\* | sort
After editing: # cat /etc/default/grub GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="Fedora" GRUB_DEFAULT=saved GRUB_CMDLINE_LINUX="rd.md=0 rd.dm=0 rd.lvm.lv=vg_xsy12/lv_swap KEYTABLE=sv-latin1 quiet SYSFONT=latarcyrheb-sun16 rhgb rd.luks=0 LANG=en_US.UTF-8 rd.lvm.lv=vg_xsy12/lv_root" GRUB_ENABLE_BLSCFG=true GRUB_DISABLE_SUBMENU=TRUE GRUB_TERMINAL_OUTPUT="console" GRUB_DISABLE_RECOVERY="true" # rpm -qa grub2\* | sort grub2-common-2.02-106.fc31.noarch grub2-pc-2.02-106.fc31.x86_64 grub2-pc-modules-2.02-106.fc31.noarch grub2-tools-2.02-106.fc31.x86_64 grub2-tools-efi-2.02-106.fc31.x86_64 grub2-tools-extra-2.02-106.fc31.x86_64 grub2-tools-minimal-2.02-106.fc31.x86_64 Should create a new grub.cfg with grub2-mkconfig or edit grub.cfg directly?
(In reply to henrik.johansson.kank from comment #7) > After editing: > # cat /etc/default/grub ... > # rpm -qa grub2\* | sort > grub2-common-2.02-106.fc31.noarch ... That all looks good. In my F31 VM: $ rpm -qa grub2\* | sort grub2-common-2.02-106.fc31.noarch ... > Should create a new grub.cfg with grub2-mkconfig or edit grub.cfg directly? Always use grub2-mkconfig. Please clarify -- have you been trying to hand-edit /boot/grub2/grub.cfg?
Created attachment 1675504 [details] # grub2-mkconfig -o grub.cfg.EXP1 This is what grub2-mkconfig generates using your /etc/default/grub: # grub2-mkconfig -o grub.cfg.EXP1 Generating grub configuration file ... done Note that it says at the top: # DO NOT EDIT THIS FILE Generated with the config file from comment 7: $ cat /etc/default/grub GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="Fedora" GRUB_DEFAULT=saved GRUB_CMDLINE_LINUX="rd.md=0 rd.dm=0 rd.lvm.lv=vg_xsy12/lv_swap KEYTABLE=sv-latin1 quiet SYSFONT=latarcyrheb-sun16 rhgb rd.luks=0 LANG=en_US.UTF-8 rd.lvm.lv=vg_xsy12/lv_root" GRUB_ENABLE_BLSCFG=true GRUB_DISABLE_SUBMENU=TRUE GRUB_TERMINAL_OUTPUT="console" GRUB_DISABLE_RECOVERY="true"
I have always used grub2-mkconfig, when updating grub.cfg. # grub2-mkconfig -o grub.cfg.20200401 Generating grub configuration file ... Found Windows 7 on /dev/sdc1 done # ls -l grub.cfg grub.cfg.20200401 -rw-r--r--. 1 root root 12529 Mar 13 13:45 grub.cfg -rw-r--r--. 1 root root 6520 Apr 1 22:26 grub.cfg.20200401 ]# egrep -n menuentry grub.cfg.20200401 25:if [ x"${feature_menuentry_id}" = xy ]; then 26: menuentry_id_option="--id" 28: menuentry_id_option="" 31:export menuentry_id_option 181:menuentry 'Windows 7 (on /dev/sdc1)' --class windows --class os $menuentry_id_option 'osprober-chain-366C396D6C39294F' { Is this OK? I attach the new grub.cfg.
Created attachment 1675519 [details] New grub.cfg created with grub2-mkconfig New grub.cfg created with grub2-mkconfig
(In reply to henrik.johansson.kank from comment #11) > Created attachment 1675519 [details] > New grub.cfg created with grub2-mkconfig > > New grub.cfg created with grub2-mkconfig That looks good. I believe the Windows menuentry is needed because there is no ".conf" file for it in /boot/loader/entries/.* You can check the differences for yourself with: $ diff -u grub.cfg.EXP1 grub.cfg.20200401 | less Now for the BIG QUESTION: When you boot with grub.cfg.20200401 (renamed), do you see a grub2 menu entry for 5.5.11-200.fc31.x86_64? * You could put a ".conf" file for Windows in there if you wanted and set GRUB_DISABLE_OS_PROBER=true in /etc/default/grub. Disclaimer: I haven't fully tested that. See "info grub2", "6.1 Simple configuration handling".
(In reply to Steve from comment #12) ... > ... When you boot with grub.cfg.20200401 (renamed) ... There is a possible problem -- you might need to run grub2-install. Javier writes in Bug 1713902, Comment 13: "The other option is to set GRUB_ENABLE_BLSCFG=true in /etc/default/grub and re-generate your grub.cfg. If you have a legacy BIOS install, then it may be needed to update the GRUB core.img with grub2-install /dev/X (where X is the block device where the GRUB was installed)." Before you do that, let's try to get the grub2 version: 1. Boot to the grub2 menu. 2. Press "c" to get the grub2 command prompt. 3. Type "version" to get the version. 4. If the version is displayed, make a note of the version numbers -- there are two, "GNU GRUB" and "Compiler version". 5. Type "reboot" to get back to the grub2 menu.
(In reply to Steve from comment #13) ... > Before you do that, let's try to get the grub2 version: > > 1. Boot to the grub2 menu. > 2. Press "c" to get the grub2 command prompt. > 3. Type "version" to get the version. > 4. If the version is displayed, make a note of the version numbers -- there > are two, "GNU GRUB" and "Compiler version". > 5. Type "reboot" to get back to the grub2 menu. Actually, more pertinent is whether this command works: "insmod blscfg". That's what let's grub find the menu entries: $ grep -n -A8 'blscfg command' grub.cfg.20200401 122:# The blscfg command parses the BootLoaderSpec files stored in /boot/loader/entries and 123-# populates the boot menu. Please refer to the Boot Loader Specification documentation 124-# for the files format: https://www.freedesktop.org/wiki/Specifications/BootLoaderSpec/. 125- 126-set default_kernelopts="root=/dev/mapper/vg_xsy12-lv_root ro rd.md=0 rd.dm=0 rd.lvm.lv=vg_xsy12/lv_swap KEYTABLE=sv-latin1 quiet SYSFONT=latarcyrheb-sun16 rhgb rd.luks=0 LANG=en_US.UTF-8 rd.lvm.lv=vg_xsy12/lv_root " 127- 128-insmod blscfg 129-blscfg 130-### END /etc/grub.d/10_linux ###
(In reply to Steve from comment #13) > (In reply to Steve from comment #12) ... > Before you do that, let's try to get the grub2 version: > > 1. Boot to the grub2 menu. > 2. Press "c" to get the grub2 command prompt. > 3. Type "version" to get the version. > 4. If the version is displayed, make a note of the version numbers -- there > are two, "GNU GRUB" and "Compiler version". > 5. Type "reboot" to get back to the grub2 menu. grub> version GNU GRUB version 2.03 Platform i386-pc Compiler version (In reply to Steve from comment #14) > (In reply to Steve from comment #13) ... > Actually, more pertinent is whether this command works: "insmod blscfg". > That's what let's grub find the menu entries: > > $ grep -n -A8 'blscfg command' grub.cfg.20200401 > 122:# The blscfg command parses the BootLoaderSpec files stored in > /boot/loader/entries and > 123-# populates the boot menu. Please refer to the Boot Loader Specification > documentation > 124-# for the files format: > https://www.freedesktop.org/wiki/Specifications/BootLoaderSpec/. > 125- > 126-set default_kernelopts="root=/dev/mapper/vg_xsy12-lv_root ro rd.md=0 > rd.dm=0 rd.lvm.lv=vg_xsy12/lv_swap KEYTABLE=sv-latin1 quiet > SYSFONT=latarcyrheb-sun16 rhgb rd.luks=0 LANG=en_US.UTF-8 > rd.lvm.lv=vg_xsy12/lv_root " > 127- > 128-insmod blscfg > 129-blscfg > 130-### END /etc/grub.d/10_linux ### # grep -n -A8 'blscfg command' grub.cfg.20200401 122:# The blscfg command parses the BootLoaderSpec files stored in /boot/loader/entries and 123-# populates the boot menu. Please refer to the Boot Loader Specification documentation 124-# for the files format: https://www.freedesktop.org/wiki/Specifications/BootLoaderSpec/. 125- 126-set default_kernelopts="root=/dev/mapper/vg_xsy12-lv_root ro rd.md=0 rd.dm=0 rd.lvm.lv=vg_xsy12/lv_swap KEYTABLE=sv-latin1 quiet SYSFONT=latarcyrheb-sun16 rhgb rd.luks=0 LANG=en_US.UTF-8 rd.lvm.lv=vg_xsy12/lv_root " 127- 128-insmod blscfg 129-blscfg 130-### END /etc/grub.d/10_linux ###
Created attachment 1675778 [details] diff -u grub.cfg grub.cfg.20200401 Ran the suggested command i comment 12 # diff -u grub.cfg grub.cfg.20200401 > /tmp/diff_-u_grub.cfg_grub.cfg.20200401
(In reply to henrik.johansson.kank from comment #16) > Created attachment 1675778 [details] > diff -u grub.cfg grub.cfg.20200401 > > Ran the suggested command i comment 12 > # diff -u grub.cfg grub.cfg.20200401 > > /tmp/diff_-u_grub.cfg_grub.cfg.20200401 Thanks. Bugzilla generates a beautiful side-by-side diff display for that. As the diff shows, grub.cfg.20200401 uses the "insmod blscfg" command. If the "blscfg" grub2 module is not in your grub2 configuration, grub2 will not be able to load the BLS menu entries from /boot/loader/entries/, and will probably drop you into the grub2 rescue shell. So, before attempting to use grub.cfg.20200401, please: 1. Make sure you have a recent Fedora Live image (on a USB flash drive or a DVD) that you can boot from. 2. Using your current grub.cfg, please check that the "insmod blscfg" command works from the grub2 command-line (Comment 12, Comment 13). That is all intended to make sure that you can boot successfully from grub.cfg.20200401 and have a way to recover if not. (In reply to henrik.johansson.kank from comment #15) ... > grub> version > GNU GRUB version 2.03 > Platform i386-pc > Compiler version ... Thanks. There should have been some numbers and a date after the "Compiler version". Those grub2 version numbers are not always completely precise. Could you also try the "insmod blscfg" command? That just loads the "blscfg" grub2 module and should give an error message if it does not exist.
Created attachment 1675842 [details] screenshot of f31 test vm with grub2 version info and insmod commands
(In reply to Steve from comment #17) > (In reply to henrik.johansson.kank from comment #16) ... > (In reply to henrik.johansson.kank from comment #15) > ... > > grub> version > > GNU GRUB version 2.03 > > Platform i386-pc > > Compiler version > ... > > Thanks. There should have been some numbers and a date after the "Compiler > version". Those grub2 version numbers are not always completely precise. > > Could you also try the "insmod blscfg" command? That just loads the "blscfg" > grub2 module and should give an error message if it does not exist. I must have made som mistake, when writing the answer grub> version GNU GRUB version 2.03 Platform i386-pc Compiler version 9.2.1 20190827 (Red Hat 9.2.1-1) ... > So, before attempting to use grub.cfg.20200401, please: > > 1. Make sure you have a recent Fedora Live image (on a USB flash drive or a DVD) that you can boot from. > 2. Using your current grub.cfg, please check that the "insmod blscfg" command works from the grub2 command-line (Comment 12, Comment 13). I'm going to download a Fedora Live and check "insmod blscfg"
Check of "insmod blscfg" grub> insmod blscfg grub> Download of Fedora Live, in progress (at least 27 mins left)
(In reply to henrik.johansson.kank from comment #19) ... > I must have made som mistake, when writing the answer > grub> version > GNU GRUB version 2.03 > Platform i386-pc > Compiler version 9.2.1 20190827 (Red Hat 9.2.1-1) ... Thanks. That looks good. > I'm going to download a Fedora Live and check "insmod blscfg" (In reply to henrik.johansson.kank from comment #20) > Check of "insmod blscfg" > grub> insmod blscfg > grub> There is no error message, so that also looks good. > Download of Fedora Live, in progress (at least 27 mins left) OK.
(In reply to Steve from comment #21) > (In reply to henrik.johansson.kank from comment #19) ... Changed to grub.cfg.20200401 # cp grub.cfg.20200401 grub.cfg restart grub-menu 5 entries started default (kernel-5.5.11-....) dnf update, installed new kernel 5.5.13-... restart grub-menu 5 entries: Fedora (5.5.13-... Fedora (5.5.11-... Fedora (5.5.8-... Fedora (0-rescue... Windows 7 ... Tested start of default 5.5.13 and Windows.
(In reply to henrik.johansson.kank from comment #22) > (In reply to Steve from comment #21) > > (In reply to henrik.johansson.kank from comment #19) > ... > > Changed to grub.cfg.20200401 > # cp grub.cfg.20200401 grub.cfg > > restart > grub-menu 5 entries > started default (kernel-5.5.11-....) > > dnf update, installed new kernel 5.5.13-... > > restart > grub-menu 5 entries: > Fedora (5.5.13-... > Fedora (5.5.11-... > Fedora (5.5.8-... > Fedora (0-rescue... > Windows 7 ... > > Tested start of default 5.5.13 and Windows. Thanks for testing and for your report. That's great! I believe this bug is the same as: Bug 1713902 - With Fedora 30 the kernel update does not update the grub configuration anymore That's against "grub2", so could you change the component of this bug to "grub2"?
(In reply to Steve from comment #23) > (In reply to henrik.johansson.kank from comment #22) > > (In reply to Steve from comment #21) > > > (In reply to henrik.johansson.kank from comment #19) ... > I believe this bug is the same as: > > Bug 1713902 - With Fedora 30 the kernel update does not update the grub > configuration anymore > > That's against "grub2", so could you change the component of this bug to > "grub2"? Changed component to grub2
I'm closing this since as far as I can tell the problem was that the installed GRUB was too old and it was needed to update the installed GRUB with grub2-install as mentioned in: https://fedoraproject.org/wiki/Common_F30_bugs#GRUB_boot_menu_is_not_populated_after_an_upgrade