Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 24 Nov 2023 16:40:56 -0800
From:      "Dan Mahoney (Ports)" <freebsd@gushi.org>
To:        questions@freebsd.org
Subject:   ZFS upgrade loader actions -- is it possible to check before reboot if your system will reboot cleanly?
Message-ID:  <F972B2CC-62E3-4724-B3ED-752CDA301B9C@gushi.org>

next in thread | raw e-mail | index | archive | help
I was reading a couple recent threads (one about upgrading from 13.2 to =
14) and another more virtiolic thread about how terrible, awful, no-good =
our documentation is.  I don=E2=80=99t agree with this. =20

I shied away from Linux for years because of nonfunctional man pages, or =
man pages that someone bothered to write, but then to only point to a =
postscript file on disk, or to point at an =E2=80=9Cinfo=E2=80=9D file.  =
I mused regularly that it=E2=80=99s sad that =E2=80=9CThe Linux =
Documentation Project=E2=80=9D website is in fact a whole different =
website from =E2=80=9CThe Linux Project=E2=80=9D=E2=80=A6or any hundred =
of Linux Projects. =20

Anyway, both threads talked about zpool upgrades and needing to update =
your bootloader. I was recently bitten by this, requiring my datacenter =
to put a physical disc in a drive for me to recover from.  (And I even =
had to ship them a USB cdrom drive =E2=80=94 don=E2=80=99t get me =
started on supermicro=E2=80=99s virtual media implementation.  it=E2=80=99=
s bad).

I understand that printing the raw commands to upgrade your boot loader =
(and/or your pmbr) as part of the output of a successful =E2=80=9Czpool =
upgrade=E2=80=9D is probably a bad idea, as the commands are not =
one-size-fits-all, but having a special manpage for this process, =
specifically (and having zpool upgrade point at that page) might be =
useful.=20

If the handbook doesn=E2=80=99t say something about this process, then =
it should as well.

But also, it would be really nice to be able to poll the version of the =
various components that are actually installed on the system (the boot =
loader, and even the pmbr if you have one) and see if they=E2=80=99re =
current and can support the current version of your boot pool.

I don=E2=80=99t know if this is possible.  Gpart bootcode, for example, =
only has a command to *install* the bootcode, not read it back.  Since =
the loader and the mbr are tiny, highly optimized pieces of code, I =
don=E2=80=99t know if there are any strings that can be examined to see =
if they match the running system.  But if the tools don=E2=80=99t exist, =
they should =E2=80=94 even absent any version strings, if nothing else, =
gpart bootcode should be able to non-intrusively compare a file with the =
already existing one.

Does anyone know for sure?

-Dan=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?F972B2CC-62E3-4724-B3ED-752CDA301B9C>