Opened 3 months ago

Closed 3 months ago

#1198 closed Package Issue - Production (fixed)

App Cafe update killed boot environment in grub with improper setting

Reported by: tbird Owned by: kris
Priority: blocker Milestone:
Component: PBI Updater Version: 10.0.1
Keywords: Cc: trac-bugs@…

Description

I just updated everything on my PC, 10.0.2, and rebooted, and ran app cafe, as per instructions:
"After updating and rebooting, please run the AppCafe? once to begin the conversion process from the old style PBIs to 10.0.2 packages."

When I opened AppCafe?, and started the update, it created a new boot environment, which appears to be the problem.

Everything went great, until I tried rebooting. When the App Cafe update completed, it showed a button to reboot. When I pressed the button, it started rebooting, it shut down, the bios posted, and it went to grub, and I got the following message:

"error: symbol `Grub term_highlight_color' not found.
Entering rescue mode..."

And no command that I can think of will do anything in rescue mode. I tried all the commands I could think of from grub
I can't get help, I can't load the kernel, so it gives the message "error: you must load the kernel first." But, I can't get it to load the kernel, because anything other than "boot", gets the message: "Unkown command" :(

Change History (6)

comment:1 Changed 3 months ago by joshms

  • Owner set to kris
  • Priority changed from major to blocker

Kris I assigned it to you since it involves boot environments and Grub2. If you need to bump it to Ken please reassign it. I also saw this email chain from ubuntu and grub2 and thought it might be useful. It involves the same bug and looks like it could be related to dual boots / UEFI blended modes and the way it corresponds to naming in Grub2.

https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1289977.

comment:2 Changed 3 months ago by kris

Looks like you may need to re-stamp GRUB on the boot sector. Can you do this?

  1. Boot up the install DVD
  2. Go to a shell-prompt via the GUI or text-mode
  3. Import the pool (zpool import -N -R /mnt tank1) or whatever tankX you use
  4. Mount disk: mount -t zfs tank1/ROOT/default /mnt
  5. Mount devfs: mount -t devfs devfs /mnt/dev
  6. Chroot: chroot /mnt
  7. Stamp grub: grub-install /dev/ada0 (or whatever your primary disk is)

Then exit and reboot. Does GRUB now load properly?

comment:3 Changed 3 months ago by kris

Also, was this an update from 10.0 or 10.0.1, and are you dual-booted or use another GRUB on the box?

comment:4 Changed 3 months ago by tbird

It was, I believe 10.0.1 to 10.0.2. It is not dual booted, from grub. I have Windows 7 on another disk, but I use the bios boot order, to boot PCBSD, then
it goes to grub on the PCBSD disk. The primary disk for PCBSD is a ssd. If I want to boot Windows, when it posts, I hit the F8 key, to get the boot selector, and tell it to boot of the windows disk.

I will try the instructions to re-stamp GRUB on the boot sector, and get back to you.
Thanks

comment:5 Changed 3 months ago by tbird

Thanks Kris, the re-stamp GRUB on the boot sector worked great. I had to add a -f between the import and -N on the zpool import line, for:
"zpool import -f -N -R /mnt tank1"
but it worked really well. I now have my system back and working excellent. And, it even added Windows 7 disk to grub, and made it a dual boot from the PCBSD disk.

comment:6 Changed 3 months ago by kris

  • Resolution set to fixed
  • Status changed from new to closed

Thanks for the report! I've added a fix now to try and prevent this from occurring again.

https://github.com/pcbsd/pcbsd/commit/22917b97b05bf44635f7c6e58e5af08ede725157

Note: See TracTickets for help on using tickets.