Re: RFC: Switching FreeBSD/EC2 images to UEFI boot

From: Jeremy Edberg <jedberg_at_gmail.com>
Date: Mon, 30 Aug 2021 18:03:19 UTC
I'm always a fan of optimal defaults.  If UFEI boot is faster, it should
probably be the default, especially if you're still able to generate BIOS
boot instances.

Unless there is a large group of people who for legal/compliance reasons
*must* use the official AMIs and also can't switch to the newer instance
types.

j

On Sat, Aug 28, 2021 at 9:05 PM Colin Percival <cperciva@freebsd.org> wrote:

> Hi Cloudy people,
>
> We have a decision to make and I'm looking for input from the community:
> Should FreeBSD's x86 EC2 AMIs be marked as booting using UEFI instead of
> the current (default) BIOS boot mode?
>
> The argument in favour of sticking with BIOS booting is that the older EC2
> instance types -- up to M4/C4/R4/T2 -- don't support UEFI.  There's a full
> list of which instance types support UEFI at
>
>   https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-boot.html
>
> but roughly speaking it's a case of "Nitro instances support UEFI while Xen
> based instances require BIOS".  (Note that whatever decision we make, it
> will
> still be possible to build AMIs which support BIOS booting -- the question
> is
> just which mode the official project-published images are marked to use.)
>
> The argument in favour of switching to UEFI booting is that it's faster --
> around 4.7 seconds faster in my testing.  While this may not seem like a
> big
> difference, it's the difference between being on par with most Linuxes or
> lagging far behind; and there's a definite quality-of-life benefit to being
> able to spin up an EC2 instance and SSH in to start using it quickly.
> (Also
> benefits for people using autoscaling, since they can respond to increased
> load faster.)
>
> One obvious question to ask here is "how many people are using the older
> instance types which only support BIOS", and I have some data from the AWS
> Marketplace about that:
> * Instances originally launched on FreeBSD 9.x and 10.x are all using older
> instance types.
> * About 60% of instances originally launched on FreeBSD 11.x are using
> older
> instance types.
> * About 40% of instances originally launched on FreeBSD 12.x and 13.0 are
> using older instance types.
>
> Almost all of the "older instance type" usage on FreeBSD 12.x and 13.0 is
> T2
> family instances, which I suspect is for two reasons:
> 1. For a long time I had t2.micro listed as the default instance type on
> the AWS Marketplace listings, and
> 2. FreeBSD 13.0 has problems on T3 instances due to the TSC timecounter not
> working reliably.  This problem has now been corrected in HEAD and I'm
> hoping
> the fix will be MFCed in time for FreeBSD 13.1.
>
> I don't have any data on instances launched outside of the AWS Marketplace.
>
> So, as I started this email saying: We have a decision to make and I'm
> looking for input from the community.  Faster booting, or support for older
> EC2 instance types in our published AMIs?
>
> --
> Colin Percival
> Security Officer Emeritus, FreeBSD | The power to serve
> Founder, Tarsnap | www.tarsnap.com | Online backups for the truly paranoid
>
>