Date: Sat, 28 Aug 2021 21:05:32 -0700 From: Colin Percival <cperciva@freebsd.org> To: "freebsd-cloud@freebsd.org" <freebsd-cloud@freebsd.org> Subject: RFC: Switching FreeBSD/EC2 images to UEFI boot Message-ID: <79c48cc2-5341-2cea-7d6e-4372f7c93245@freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?79c48cc2-5341-2cea-7d6e-4372f7c93245>