grub-reboot or grub-set-default does not work as expected #24

Open
smoser opened this Issue Oct 27, 2016 · 4 comments

Comments

Projects
None yet
3 participants

smoser commented Oct 27, 2016

We have a power8 powerNV system showing bug 1616949 and wanted to basically keep it booting into the working kernel using grub-set-default.

Unfortunately petitboot does not seem to understand this feature.
I'm using boot-kernel to set this all up.

$ sudo ./boot-kernel  4.4.0-36-generic
selected /boot/vmlinux-4.4.0-36-generic. entry: Advanced options for Ubuntu>Ubuntu, with Linux 4.4.0-36-generic

$ head -n 4 /boot/grub/grubenv | sed 's,####\+$,###...\n,'
# GRUB Environment Block
saved_entry=Advanced options for Ubuntu>Ubuntu, with Linux 4.4.0-36-generic
next_entry=Advanced options for Ubuntu>Ubuntu, with Linux 4.4.0-36-generic
###...

$ sudo reboot

The system comes back up in the 4.4.0-45-generic kernel.

See the attached grub.cfg and grubenv for info:

Contributor

sammj commented Oct 28, 2016

grub-reboot and grub-set-default both appear to work properly with a build of master; what version of Petitboot are you using? A few fixups went into the grub parsing code a little while ago, namely 01e104d, perhaps this issue is fixed by them.

smoser commented Oct 28, 2016

I thought you might ask that, i was being lazy. This system is:

version: FW840.11 (SV840_087)
model:   8247-22L

I rebooted and stopped it at petitboot prompt, where it shows: dev.20151111
So I suspect i need new firmware. Is there a released firmware with that? I'm under the impression that firmware upgrade is the only way to get new petitboot, right?

smoser commented Oct 28, 2016

OK, I just upgraded to latest available 840 firmware.
Petitboot now shows dev.20160602.

$ sudo update_flash -d
Current firwmare version :
  P side    : FW840.11 (SV840_087)
  T side    : FW840.40 (SV840_147)
  Boot side : FW840.40 (SV840_147)

I use boot-kernel as above, /boot/grub/grubenv shows:

$ sed 's,####\+$,###...\n,' /boot/grub/grubenv
# GRUB Environment Block
saved_entry=Advanced options for Ubuntu>Ubuntu, with Linux 4.4.0-36-generic
next_entry=Advanced options for Ubuntu>Ubuntu, with Linux 4.4.0-34-generic
###...

reboot, and watch the petitboot prompt say "booting Ubuntu in ...".

Then ssh in, and see:

$ uname -r
4.4.0-45-generic
$ sed 's,####\+$,###...\n,' /boot/grub/grubenv
# GRUB Environment Block
saved_entry=Advanced options for Ubuntu>Ubuntu, with Linux 4.4.0-36-generic
next_entry=
###...

So it seems still not working.

Scott Moser notifications@github.com writes:

OK, I just upgraded to latest available 840 firmware.
Petitboot now shows dev.20160602.

$ sudo update_flash -d
Current firwmare version :
  P side    : FW840.11 (SV840_087)
  T side    : FW840.40 (SV840_147)
  Boot side : FW840.40 (SV840_147)

The soon to be released 860.10 for those systems will have the fix:
git describe --contains 01e104d
v1.0.0~30

we're on an older branch for FW840 though, so it's probably not fixed in
any of those builds (maybe we should be less conservative with petitboot updates?)

Stewart Smith
OPAL Architect, IBM.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment