|
SeaBIOS Fork This is basically some notes on my personal fork of SeaBIOS, along with explanations on certain design choices I made. General information
Please keep in mind that this is my personal fork of SeaBIOS, and is not intended
for other people to use.
Now, before you even think it: Yes, I know security through obscurity is
objectively a terrible method if done alone. All SeaBIOS branding can be changed at compile time using the precompiler to use custom branding strings defined in the configuration as to hide what the actual bootloader is. Eventually, I want to have this change to the extent that a theoretical attacker could pull the binary, pull every string from it, and find nothing that is identifiable as SeaBIOS. When SeaBIOS reaches to the boot menu, a message is displayed to press a key (By default, ESC) to enter the boot menu. This change allows changing both the boot key and boot menu message from the configuration at compile time. This is not extremely helpful in it's current state, as it does not greatly increase security as a theoretical attacker could just spam every key on the keyboard until success. Although this could be changed in the future to potentially require a key combination instead (or even a password), greatly increasing the difficulty of booting potentially malicious boot media.
First, I removed SeaBIOS's native implementation for displaying a bootsplash image,
as I could not get it to function. This might seem like a weird change, even more so considering that I live in a country that doesn't restrict the use of TPMs (Currently, anyway). Personally, I believe that all highly regarded secrets (Encryption keys, etc) should be held either solely in your brain, or physically written down in an encoded form. The TPM functionality in SeaBIOS contains a non-inconsequential amount of code, that while it probably doesn't contain exploits, I don't use it so I might as well remove it to lower the risk anyway.
This is by far the largest change in this fork. |
Document version 1
Copyright (C) Goldenkrew3000 2026
Last edited 2026/02/21