Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Every Intel vendor starts their system using a proprietary, inscrutable Rube Goldberg machine as well. This isn't the problem here.


In the x86 case, it's proprietary to Intel, and the blob for each generation is universal across products using that generation of CPU. That blob then loads up a standard higher-level firmware that presents a uniform environment to operating system bootloaders. ARM boards don't boot with a blob from ARM, but with a blob from the particular SoC vendor, and everything after that point is unpredictable and unstandardized.


Oh, there's a few more levels of proprietary nonsense you didn't even mention. There's the chipset initialization, which is proprietary to either Intel or AMD (depending on which vendor you're using). But that doesn't even come straight from the CPU manufacturer; it's baked into the firmware provided by your motherboard vendor, which typically includes a bunch of middleware from a third party BIOS manufacturer like AMI. And all of it is all completely proprietary, and highly specific to the particular motherboard you're using, even though most of the hardware is all identical across boards and manufacturers.


It's not quite as bad as you make it out to be. The early init stuff comes from the CPU manufacturer and is merely included verbatim into the firmware packages distributed by the motherboard vendor.

The UEFI environment is a mashup of modules from the CPU/chipset manufacturer, a BIOS vendor like AMI, and sometimes stuff from TianoCore/EDK. The end result is specific to each board model, but most of the modules going into the UEFI implementation are either universal/hardware-agnostic, or uniquely determined by the choice of components on the motherboard (primarily the chipset and superIO). The only stuff here that's excessively messy and error-prone is the ACPI tables.

The configuration UI is particular to the board vendor. The UI necessarily has some tweaks for each particular model, but vendors share most of the code and visual design across the entire product line. Occasionally, it's possible to skip the silly UI and fall back to the default old-fashioned text mode standard configuration UI provided by AMI or whoever.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: