Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 25 Mar 2019 11:34:50 -0700
From:      John Baldwin <jhb@FreeBSD.org>
To:        Warner Losh <imp@bsdimp.com>, "Rodney W. Grimes" <freebsd-rwg@gndrsh.dnsmgr.net>
Cc:        Konstantin Belousov <kostikbel@gmail.com>, "freebsd-arch@freebsd.org" <arch@freebsd.org>, FreeBSD Hackers <freebsd-hackers@freebsd.org>, Rebecca Cran <rebecca@bluestop.org>
Subject:   Re: Adding a new efi-update-loader script: need help understanding Makefile.inc1 for "make installworld"
Message-ID:  <2c1aef87-5408-7736-9039-7fc6a1214102@FreeBSD.org>
In-Reply-To: <CANCZdfqpyf%2BPNMjQG2KQLY_a2a8_2Syu0_kTanc4ARmB97JTMg@mail.gmail.com>
References:  <20190324090103.GO1923@kib.kiev.ua> <201903250926.x2P9QgYK078736@gndrsh.dnsmgr.net> <CANCZdfqpyf%2BPNMjQG2KQLY_a2a8_2Syu0_kTanc4ARmB97JTMg@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 3/25/19 8:05 AM, Warner Losh wrote:
> We started installing /boot/loader with install world in FreeBSD -3.x and
> it has affected the boot ability that whole time... in the early days of
> loader, the kernel loader handoff protocol was immature enough to need a
> matched kernel. But that period lasted only a few months...  loader has
> also been weird in other ways as well, since some embedded systems used the
> one in its, while others needed an extra step. As UEFI support has matured
> we're finding there are several issues around it as well where updating the
> ESP needs to be tied to updating /boot for the system to work sometimes. It
> has grown more complex over time, so we should separate. It's been a little
> weird on all the non x86 platforms to different degrees, but now that our
> main platform is affected it's become clear we may need to change.
> 
> But we need to do so carefully as this violates POLA in a huge way, as well
> as needing doc changes in a bajillion places.

I think we should treat files on the ESP the same way we treat other boot
blocks.  installworld should continue to install the latest version into
/boot (e.g. /boot/boot that holds UFS boot1 + boot2), but then some other
tool is used by the user to copy the updated loader.efi into the ESP.

I think the main difference here is that traditionally other boot blocks
didn't change very often, so no one really needed to update it them
post-install.  loader.efi changes often enough we probably need to document
updating the ESP as an optional step in the upgrade process.  I think
having an automagical script will probably go sideways, but standardizing
where to mounting the ESP (or ESPs when doing RAID mirroring, etc.) means
we can provide a script with defaults (or instructions) that work with
the standardized approach.

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2c1aef87-5408-7736-9039-7fc6a1214102>