OpenSolaris

You are not signed in. Sign in or register.

Heads up: use gate's bfu on x86 zfs-root machines

Date: Mon, 07 Jul 2008 13:40:11 -0700
From: Matthew Ahrens <Matthew.Ahrens at sun dot com>
To: on-all at eng dot sun dot com, onnv-gate at onnv dot eng dot sun dot com
Subject: Heads up: use gate's bfu on x86 zfs-root machines

If you use BFU on an x86 machine with ZFS root, be sure to use the latest 
version of BFU which includes the fix for 6722838 "bfu does not update grub".

If you don't use the latest BFU, be sure to run /boot/solaris/bin/update_grub 
before running "zpool upgrade".

Details:

My putback for 6343667 "scrub/resilver has to start over when a snapshot is 
taken" introduces a new zpool on-disk version number, and updates the GRUB 
stage2 zfs module to know about the new version.  However, the BFU bug 
(6722838) causes the new GRUB module to not be installed when the machine is 
BFU'ed.

You will hit the bug if you do the following sequence:

1. Use an old version of BFU (without the fix for 6722838) to load bits 
supporting a new zpool on-disk version (eg, snv_94 with 6343667 fixed and 
version 11 supported).

2. Run "zpool upgrade" on your root pool.

3. Reboot.

The system will not boot up, and you will get a cryptic error message from 
GRUB.  To fix the problem, you must boot from alternate media (eg, network or 
cdrom) and run "/boot/solaris/bin/update_grub -R <root mountpoint>".

If you have inadvertently performed step 1, you can workaround the bug by 
manually running /boot/solaris/bin/update_grub.  Then you can zpool update 
and reboot successfully.

--matt