Re: zpool upgrade and bootcode on 13-RELEASE

From: Michael Gmelin <freebsd_at_grem.de>
Date: Thu, 03 Jun 2021 14:04:33 UTC

On Fri, 28 May 2021 20:50:52 +0200
Michael Gmelin <freebsd@grem.de> wrote:

> On Fri, 28 May 2021 20:37:14 +0200
> Mathieu Arnold <mat@freebsd.org> wrote:
> 
> > On Wed, May 19, 2021 at 07:32:43PM +0200, Michael Gmelin wrote:  
> > > 
> > > 
> > > On Wed, 19 May 2021 19:09:06 +0200
> > > Kurt Jaeger <pi@freebsd.org> wrote:
> > >     
> > > > Hi!
> > > >     
> > > > > Does this mean, re-installing the bootcode isn't necessary
> > > > > anymore
> > > > > - or has the warning been removed by accident/as a side effect
> > > > > of merging with OpenZFS?      
> > > > 
> > > > On the contrary, because of the switch from FreeBSD ZFS to
> > > > OpenZFS, the bootcodes needs to be updated! It's unfortunate
> > > > that no message is displayed 8-(
> > > >     
> > > 
> > > That's too bad - maybe it would make sense to mention this in the
> > > release errata?
> > >     
> > > > The problem is, finding out which bootcode needs to go where
> > > > etc. 
> > > 
> > > For the machines in question it was a straightforward legacy
> > > layout, so that was easy enough (they came back up just fine -
> > > *phew*).
> > > 
> > > Do you think there is any chance to get the warning back in there?
> > > Maybe in a more generic way, like:
> > > 
> > >   In case you're booting from <poolname>, please make sure to
> > > update the bootcode according to your partition layout. See `man
> > > zfsboot' for details.
> > > 
> > > Fun fact: That man page already exists (I had no idea), but could
> > > use some love - e.g., add the EFI examples you gave.    
> > 
> > I have had a look at that man page, it gives ten different commands,
> > without saying which you need to use, if they are all needed, or
> > not, or when you actually have to used them.
> > 
> > Fun fact is that I absolutely never ever used any of them.  All I
> > ever did was run:
> > 
> >   gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada1
> > 
> > because `zpool upgrade` told me to.  It would probably be great to
> > have that command in that man page.
> >   
> 
> Hi Mathieu,
> 
> I opened a pull request upstream. It already has been reviewed and
> accepted, but is yet to be merged:
> https://github.com/openzfs/zfs/pull/12104
> 
> The bootcode warning is now only shown for pools that have bootfs set
> (which should be fine on most "normal" installations) and reads like
> this:
> 
>   Pool 'testpool8' has the bootfs property set, you might need to
> update the boot code. See gptzfsboot(8) and loader.efi(8) for details.
> 
> I figured that these are the most relevant man pages for current
> systems. It would make sense to update these man pages to be more
> helpful (latest, when this change lands in FreeBSD, but earlier
> obviously won't hurt).

The pull request has been merged upstream:
https://github.com/openzfs/zfs/commit/65d9212aeeb531e9f987bb41a1ee11b526d2cdad

I'll continue tracking the issue (backporting it to 13?) at our end:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=256024

Best
Michael

-- 
Michael Gmelin