RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 806172 - grub2-reboot/set-default doesn't work
Summary: grub2-reboot/set-default doesn't work
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: grub2
Version: 7.0
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: rc
: ---
Assignee: Peter Jones
QA Contact:
URL:
Whiteboard:
Depends On: 732058
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-03-23 05:37 UTC by WANG Chao
Modified: 2015-02-08 21:42 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of: 732058
Environment:
Last Closed: 2013-08-19 07:01:05 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description WANG Chao 2012-03-23 05:37:14 UTC
+++ This bug was initially created as a clone of Bug #732058 +++

Description of problem:
With default setup, two kernel images, 'grub2-reboot 1' updates grubenv, but this settings is not honoured, kernel 0 is booted instead.

Version-Release number of selected component (if applicable):
grub2-1.99-0.2.fc16.x86_64

How reproducible:
Always

Steps to Reproduce:
1. setup 2 kernels
2. grub2-reboot 1
3. reboot
  
Actual results:
kernel 0 is booted

Expected results:
kernel 1 is booted once

Additional info:
Same with grub2-set-default

--- Additional comment from jskarvad on 2011-08-22 17:26:20 CST ---

My fault, it needs a bit grub2 config tweaking:
$ cat /etc/default/grub 
GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true

Then it works OK. Could we go with it by default in Fedora? I need this functionality in pm-utils 01grub hook. I can also only document this requirement. Or is there any other possibility how to emulate the --once in grub2 with default config?

--- Additional comment from fedora-admin-xmlrpc on 2011-09-17 03:08:07 CST ---

This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

--- Additional comment from mads on 2011-10-25 04:31:10 CST ---

Note that anaconda by default will overwrite /etc/default/grub with GRUB_DEFAULT=saved but no GRUB_SAVEDEFAULT.

grubby will however be invoked with --make-default and replace
  set default="${saved_entry}"
with
  set default="0"

I guess the best way to get "boot once" would be to create some /etc/grub.d/01_pm that set the default based on the boot environment variables in another way.

grub2-set-default is apparently a bad fit for Fedora where that usually is handled by grubby.

--- Additional comment from mads on 2011-10-26 03:23:23 CST ---

I just noticed that anaconda runs grub2-set-default.

--- Additional comment from jskarvad on 2011-11-18 16:31:02 CST ---

*** Bug 753633 has been marked as a duplicate of this bug. ***

--- Additional comment from jskarvad on 2011-11-18 16:41:19 CST ---

(In reply to comment #3)
> I guess the best way to get "boot once" would be to create some
> /etc/grub.d/01_pm that set the default based on the boot environment variables
> in another way.
> 
I can reinvent the wheel and implement own /etc/grub.d/01_pm, but I think the boot once functionality should be there out of the box as was in previous fedoras. Other packages could also benefit from it, not only the pm-utils.

--- Additional comment from a.vanloon on 2011-11-27 21:14:30 CST ---

What I just discovered after doing a fresh install of F16 is that it keeps booting the kernel which came with the installation, even after it installed a new kernel through the updates. Is my problem related to this bug or should I file a new bug?

I also don't understand why GRUB_DEFAULT is set to 'saved' (which I assume has something to do with this problem)? On my Kubuntu machine it is set to '0' so that the latest kernel is always booted, why does Fedora do it differently?

--- Additional comment from mads on 2011-11-28 00:38:42 CST ---

Alexander, please file a new bug for the grubby component and attach your grub.cfg.

--- Additional comment from a.vanloon on 2011-11-28 21:37:51 CST ---

Done, bug #757712.

--- Additional comment from mads on 2011-11-29 01:01:14 CST ---

*** Bug 757712 has been marked as a duplicate of this bug. ***

--- Additional comment from mads on 2011-12-09 18:58:25 CST ---

*** Bug 761055 has been marked as a duplicate of this bug. ***

--- Additional comment from Jmlevick on 2011-12-10 05:09:24 CST ---

I have a workaround for this...

You have to add these two lines to your "/etc/default/grub" file:

GRUB_DEFAULT=0
GRUB_SAVEDEFAULT=true

(Maybe you already have "GRUB_DEFAULT" but with "saved" value, change it to 0, the other line I'll bet you don't have it by default in that file...) We can also change "GRUB_TIMEOUT" to 0 if we don't want to see the kernels list when booting.

Then, we have to run:

su -
grub2-mkconfig -o /boot/grub2/grub.cfg 

And that's it, You'll be always booting into the last kernel without any problems.

That fixed the bug for me, in my case, I noticed same thing than Alexander van Loon.

--- Additional comment from urilabob on 2011-12-10 10:44:23 CST ---

*** Bug 758627 has been marked as a duplicate of this bug. ***

--- Additional comment from urilabob on 2011-12-10 10:53:57 CST ---

I'd like to support Jaroslav's request, that
  $ cat /etc/default/grub 
  GRUB_DEFAULT=saved
  GRUB_SAVEDEFAULT=true
become the default. The problem with the current configuration is that grub2
works in an easy-to-understand way out-of-the-box, but making any change - just
changing kernel parameters, for example - requires running grub2-mkconfig,
which then changes the behaviour in completely unexpected ways (just look at
the number of bugs marked as duplicates of this one). Changing a kernel
parameter should not require a detailed understanding of grub2 and how it
differs from grub.

--- Additional comment from updates on 2011-12-10 14:09:20 CST ---

grub2-1.99-13.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/grub2-1.99-13.fc16

--- Additional comment from mads on 2011-12-10 23:34:58 CST ---

(In reply to comment #12)
> I have a workaround for this...

It is only a partial workaround. It will only work until the first time a new kernel is installed, as mentioned in comment 3. I don't know if that is by design or not.

A solution could be if new-kernel-pkg used grubby --default-kernel to see if it should use grubby --make-default or grub2-set-default. (That might require a fix for bug 736188 first.)

--- Additional comment from updates on 2011-12-12 05:53:49 CST ---

Package grub2-1.99-13.fc16:
* should fix your issue,
* was pushed to the Fedora 16 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing grub2-1.99-13.fc16'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2011-16975/grub2-1.99-13.fc16
then log in and leave karma (feedback).

--- Additional comment from Jmlevick on 2011-12-14 08:12:46 CST ---

@Mads Kiilerich: the workaround I posted is actually permanent I tested it in two different computers updating their kernels after applying the workaround... Anyway the update pushing is better ;)

--- Additional comment from updates on 2011-12-31 06:56:05 CST ---

grub2-1.99-13.fc16 has been pushed to the Fedora 16 stable repository.  If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.