Bootloader Quality Of Life Improvements

Project description

The main goal of this project is to improve overall bootloader quality of life and user experience.

I quantify quality of life/user experience based on the idea that the "ideal" bootloader experience (for a large majority of users) is one where they boot/exit as quickly as possible.

For example, if a cat walks over the keyboard at the wrong time, a plain "OK" prompt is more likely to make someone unfamiliar hit the reset button than type "autoboot". Like a solid number of quality of life snags, this has an easy fix, but there's many situations like it which all contribute to the greater problem.

Approach to solving the problem

Lots of hands-on testing and trying to break things.

While the cat example is not very serious, it shows my general thought process. If there's a mistake which is easy to make, it should be easy to fix.

Deliverables

This list is not concrete, since I am expanding as I find more rough edges, however, the loader prompt changes are the core focus.

Loader prompt:

Everything else:

Milestones

Week 2 edit: I'm taking a bit of a detour to try and tackle Bug 257018 which is related to the legacy PXE bootfile being too large and clobbering the stack/EBDA.

The schedule below has been updated to reflect this.

Test Plan

Generally, the only option is smoke-tests. "does the bootloader work" isn't a very complicated question, so my testing boils down to booting on as many VMs/configurations as possible.

This testing is manual, but I expect I'll get sick of it and end up automating it at some point.

The Code

N/A as of week 1.

Notes

Number of times I've forgotten DESTDIR= and accidentally "tested" changes on my host machine: 2.

These are just links I find useful, not background info/related work.

https://uefi.org/sites/default/files/resources/UEFI_Spec_2_9_2021_03_18.pdf

https://www.amd.com/system/files/TechDocs/24593.pdf

https://web.archive.org/web/20131102003141id_/http://download.intel.com/design/archives/wfm/downloads/pxespec.pdf

SummerOfCode2022Projects/FreeBSDBootloaderQualityOfLifeImprovements (last edited 2022-06-20T22:02:46+0000 by ConnorBailey)