Date: Fri, 19 Feb 2021 11:02:59 -0700 From: Warner Losh <imp@bsdimp.com> To: David Marec <david.marec@lapinbilly.eu> Cc: freebsd-stable <freebsd-stable@freebsd.org> Subject: Re: FreeBSD 13/stable and zpool upgrade Message-ID: <CANCZdfrm0dpQ6tyggj-VStTz1zTz8wvqZ35ePn5Dc-o66nC4JQ@mail.gmail.com> In-Reply-To: <ac735a6b-b82e-36e4-eb66-d2c0d422cc75@lapinbilly.eu> References: <ac735a6b-b82e-36e4-eb66-d2c0d422cc75@lapinbilly.eu>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Feb 19, 2021 at 8:13 AM David Marec <david.marec@lapinbilly.eu> wrote: > I have just upgrade one machine from 12-stable to 13-stable. > > Everything runs fine until the main ZFS pool was upgraded. > > Then the box stopped booting. > > Thanks to a FreeBSD-13 Beta2 usb stick, I was able to fix the issue by > copying `BOOTx64.efi` from the stick to the hard-drive. > > Looking to `/boot` to check out for a new EFI boot-loader available, I > noticed that `boot1.efifat` was removed, but `gptboot.efifat` is still > there. > > Unfortunately it contains an old version of the boot loader: > > root@machine:/boot # mdconfig -f gptboot.efifat -u 0 > root@machine:/boot # mount -t msdosfs /dev/md0 /mnt > root@machine:/boot # ll /mnt/efi/boot/ > total 385 > -rwxr-xr-x 1 root wheel 393216 Apr 16 2018 BOOTx64.efi* > -rwxr-xr-x 1 root wheel 12 Apr 16 2018 startup.nsh* > > The boot firmware I got from the 13-Beta2 installer is different: > > -rwxr-xr-x 1 root wheel 894464 Feb 18 21:07 BOOTx64.efi* > > What did I missed ? An error message would be more helpful :) However, I think I know what's going on. The old boot blocks have a filter on the enabled features of the zpool. If anything that's not in the allowed list is enabled, it won't boot off that pool. I suspect that your 'zpool upgrade' enabled things that weren't enabled before. This caused the old boot blocks to no longer work. We should be better about upgrading boot blocks, but EFI is kinda new and kinda different than the other out-of-root-filesystem boot blocks we've had in the past, so there's still some rough edges. You should be able to update bootx64.efi to the one that's in the 13-beta2 installer and the system should boot off your zpool. Warner
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfrm0dpQ6tyggj-VStTz1zTz8wvqZ35ePn5Dc-o66nC4JQ>