Re: git: c596126a5d3d - main - pmbr: Only load the first 545k rather than error out

From: Warner Losh <imp_at_bsdimp.com>
Date: Tue, 28 Nov 2023 18:06:50 UTC
On Tue, Nov 28, 2023 at 10:56 AM John Baldwin <jhb@freebsd.org> wrote:

> On 11/28/23 9:07 AM, Warner Losh wrote:
> > On Tue, Nov 28, 2023 at 9:06 AM John Baldwin <jhb@freebsd.org> wrote:
> >> But also, can't you just leave a gap in the partitions to leave room
> >> for a future ESP?  It might not always be safe to load a full 545k
> >> depending on if the firmware has reserved some of memory just below
> >> 640k.  545k is an upper bound on how much can be loaded in terms of
> >> 640k - the load address, but the practical limit might be lower.  It is
> >> probably safer as a general rule to keep the boot partition closer to
> >> the size of the  boot loader and leave a gap in place instead.
> >>
> >
> > Today we load 512k always.
>
> Well, we load the partition size always.  The default size of the partition
> has grown over time.  Arguably we should have been using padding instead of
> growing the partition, but that is harder to write in installer tools, etc.
> When I wrote pmbr I on purpose used the partition size as the size to load
> rather than trying to assume information about the payload and parse
> length from the payload due to the limited room in the MBR.  I think we
> started out creating freebsd-boot partitions that were 64k and later grew
> them with a desire they could be replaced with an ESP partition, but ESPs
> need a minimum size of 512k?
>

ESPs usually need at least a couple of megebytes since loader.efi is 660k
right now
and you really want a backup when you install a new one. It's better if
it's tens of MB,
though, since you may need it for other things...

Warner