Bugzilla – Bug 1979
libbe: be_activate needs to run installgrub
Last modified: 2008-11-24 12:49:01 UTC
You need to log in before you can comment on or make changes to this bug.
When activating an alternate BE, be_activate needs to make sure to install the grub loader from the BE being activated.
I'm concerned that we need to be pretty careful here - I don't think you want every beadm activate to result in a GRUB change, as a downgrade might render some of the BE's unbootable.
(In reply to comment #1) Yes, you're right. But we do need to make sure that the latest grub loader is what's installed. I'm not quite certain how we're going to track this yet though.
*** Bug 2180 has been marked as a duplicate of this bug. ***
To fix this we're adding code that checks for the existence of the capability file for grub. If that file is not found in the BE we're activating we don't run installgrub. If that file is found but doesn't exist in the current BE we do run installgrub. If the capability file exists in both BEs then we check the version and if the BE we're activating has a newer version we run installgrub. Also since we're running this on a zpool that may be mirrored we need to go through the vdev tree in ZFS and run installgrub for each device in the mirror.
*** Bug 2304 has been marked as a duplicate of this bug. ***
Fixed in changeset c0a8976c4f8dfa9066f8bf101af5944c358d2348