Bug 820803

Summary: Only one additional menu entry is generated when kernel is upgraded.
Product: [Fedora] Fedora Reporter: Mark Harig <tpeplt>
Component: grub2Assignee: Peter Jones <pjones>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: unspecified    
Version: 17CC: bcl, dennis, mads, pjones
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-05-11 08:09:58 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:
Description Flags
Copy of configuration file /etc/default/grub none

Description Mark Harig 2012-05-11 02:29:38 UTC
Created attachment 583696 [details]
Copy of configuration file /etc/default/grub

Description of problem:
When a kernel upgrade is downloaded and installed using PackageKit, only one additional menu entry is generated in /boot/grub2/grub.cfg.  Two menu entries should be generated because GRUB_DISABLE_RECOVERY is not set to `true' in /etc/default/grub.

Version-Release number of selected component (if applicable):
$ rpm -q grub2
grub2-2.0-0.24.beta4.fc17.x86_64


How reproducible:
This has failed through 2 kernel upgrades.

Steps to Reproduce:
1. Upgrade the kernel.
2. Check /boot/grub2/grub.cfg for submenu entries for the new kernel.
  
Actual results:
/boot/grub2/grub.cfg has a new menu entry for the new kernel version, but no submenu entries for standard and "recovery" mode.

Expected results:
/boot/grub2/grub.cfg should also contain submenu entries for standard booting and "recovery" mode.

Additional info:
Here is the description of the variables GRUB_DISABLE_RECOVERY and GRUB_CMDLINE_LINUX_DEFAULT in the grub2.info file:

`GRUB_CMDLINE_LINUX_DEFAULT'
     Unless `GRUB_DISABLE_RECOVERY' is set to `true', two menu entries
     will be generated for each Linux kernel: one default entry and one
     entry for recovery mode.  This option lists command-line arguments
     to add only to the default menu entry, after those listed in
     `GRUB_CMDLINE_LINUX'.

`GRUB_DISABLE_RECOVERY'
     If this option is set to `true', disable the generation of recovery
     mode menu entries.

$ grep -i grub_disable_recovery /etc/default/grub || echo Not disabled
Not disabled

Comment 1 Mads Kiilerich 2012-05-11 08:09:58 UTC
(In reply to comment #0)
> When a kernel upgrade is downloaded and installed using PackageKit, only one
> additional menu entry is generated in /boot/grub2/grub.cfg. 

Correct. When new packages are installed grubby are responsible for patching grub.cfg using a simple heuristic for duplicating the "best" existing entry.

> Two menu entries
> should be generated because GRUB_DISABLE_RECOVERY is not set to `true' in
> /etc/default/grub.

Yes and no.

That file is for configuration of grub2 when running grub2-mkconfig, and there it works correctly.

It is not a grubby configuration file.

This thus works as designed and as expected.