Re: boot loaders got fatter in the last few days

From: Freddie Cash <fjwcash_at_gmail.com>
Date: Fri, 18 Mar 2016 14:41:58 -0700
On Fri, Mar 18, 2016 at 10:39 AM, Conrad Meyer <cem_at_freebsd.org> wrote:

> On Fri, Mar 18, 2016 at 10:03 AM, Allan Jude <allanjude_at_freebsd.org>
> wrote:
> > On 2016-03-18 12:33, Guido Falsi wrote:
> >>
> >> Hi,
> >>
> >> I have just update one of my machines and noticed the booloaders files
> >> got quite fat in the last few days, some by a big margin.
> >>
> >> on an updated machine(r296993):
> >>
> >> -r--r--r--  1 root  wheel   85794 Mar 18 16:47 /boot/gptboot
> >>
> >> from a machine I still have not updated(r296719):
> >>
> >> -r--r--r--  1 root  wheel   16059 Mar 13 21:01 /boot/gptboot
>
> So the loader grew 70 kB.  How big are your disks?
>
> >> I noticed because mu gpt boot partition is 64K and gptzfsboot just
> >> passed 100K.
> >
> > This is a side effect of the loader gaining the ability to boot from GELI
> > encrypted partitions.
> >
> > ...
> >
> > Maybe we should be putting the GELI enabled boot blocks in a different
> > filename? I generally wanted to avoid creating a new version of each
> > bootcode with GELI support.
>
>
> I think we should just suggest that boot partitions be much larger
> than 64kB (1MB is still <0.1% of any disk sold today) and not worry
> about it too much.  Embedded applications can disable GELI loader
> support to save a few bytes.
>

​The boot partition doesn't necessarily need ​

​to be 1 MB (and can't due to some issues with the assembler used right
now, or something like that).  We just need to make sure people have slack
space in their partition table to expand into in the future.

Using "-a 1M" in your gpart command to create your first data partition
gives you that slack space.

gpart create -s gpt ada0
gpart add -t freebsd-boot -s 256K -l boot ada0
gpart add -t freebsd-ufs  -s 10G  -l root -a 1M ada0

That leaves ~756 KB of free space between the end of the boot partition and
the start of the first data partition.  Increasing the size of the boot
partition in the future is as easy as (no formatting of disks required):

gpart delete -i 1 ada0
gpart add -t freebsd-boot -s 512K -l boot ada0
gpart bootcode -b ... -p ... ada0

It's a handy pattern I've gotten used to over the years, ever since the
first 4K sector harddrives were advertised (as alignment of filesystems
was/is *very* important)​.

Even on disks that will be used solely for ZFS I've taken to creating GPT
partitions starting at 1 MB.  And it's saved me from having to reformat
disks when moving from a separate root filesystem (no USB sticks) to
root-on-ZFS as there was 1 MB of free space at the start of every disk for
creating boot partitions.  :)

-- 
Freddie Cash
fjwcash_at_gmail.com
Received on Fri Mar 18 2016 - 20:42:00 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:03 UTC