4 ms·
While it's great that we've started to standardize across architectures on a firmware for servers and workstations, I really wish it hadn't been UEFI. It's well
by messe 4y ago
While it's great that we've started to standardize across architectures on a firmware for servers and workstations, I really wish it hadn't been UEFI. It's well documented, but in my (admittedly limited) experience, a pain to program for with one of the ugliest APIs I've ever used.
- snvzz 4y agoIf you absolutely hate it, it is still fortunately possible to have SBI without UEFI.
- bpye 4y agoI’ve played around with some toy kernel stuff on RISC-V - SBI is refreshingly simple.
- panick21_ 4y agoAs long as there is any kind of standard you will get good open source that works. Linuxboot and co.
- MisterTea 4y agoCoreboot could be a standard if people stopped ignoring it.
- MisterTea 4y agoI too am disappointed as it feels like were just bolting on Intel baggage to appease commercial interests who could care less about openness or maintainability. On one hand I want RISC-V to have a firmware standard for their applications processors so we don't have the vendor specific situation we have with Arm. On the other, I do not want Microsoft approved, overly complex Intel contraptions making a mess of an open architecture.
- messe 4y agoARM64 is moving more and more toward UEFI as well.
- gjsman-1000 4y agoUEFI is a mess, admittedly, with a large attack surface, bad API surface, DOS-like command syntax, it's all pretty bad. However, it's not as bad as the total free-for-all that booting most Android or ARM devices is. They're like a box of chocolates - you never know what you're going to get. Standardization, even if the standard is poor, is much better in this case than no standard.
- panick21_ 4y agoUEFI is just huge. As long as there is a standard for UEFI Interfaces you can only use a small subset of the API and avoid everything else. Basically you use minimal UEFI and then just jump into Linuxboot and implement everything else there.
- MisterTea 4y ago>Standardization, even if the standard is poor, is much better in this case than no standard. Have you heard of Coreboot? UEFI isn't the only game in town but it happens to be the only game that boots modern Microsoft products. MS is a technological burden that needs to go away.
- snvzz 4y agoCoreboot would overlap, role-wise, with SBI. UEFI (like Tianocore) is just payload from coreboot pov.
- ncmncm 4y agoSeems like they could have specified that only the "good parts" of UEFI are required. I.e., the minimal, simplest part actually used. After all, on x86,that is the only part that can actually be counted on to work. The rest is shovelware.
- throw0101a 4y agoOpen Firmware, used by Sun and Apple in the past, always seemed pretty decent to me: * https://en.wikipedia.org/wiki/Open_Firmware https://en.wikipedia.org/wiki/Open_Firmware Having an honest-to-God / proper serial console, without any kludgey (BIOS) redirects, was something I liked having as a sysadmin of SPARC systems.
- messe 4y agoYep, I still love it on my SPARC64/PowerPC systems. My favourite aspect of coding for it is the fact that you can write bootsectors in forth[1]. [1]: https://cvsweb.openbsd.org/src/sys/arch/sparc64/stand/bootblk/bootblk.fth?rev=1.10&content-type=text/x-cvsweb-markup https://cvsweb.openbsd.org/src/sys/arch/sparc64/stand/bootbl...
- throw0101a 4y agoPlatform-independent drivers is also clever.
- phendrenad2 4y agoNot to mention overengineered. In 99.9% of cases it just gets used by the bootloader to find the kernel on disk, just like BIOS.
- R0b0t1 4y agoMotherboard firmware usually exceeds to size of the Linux kernel it's loading.
- seoaeu 4y ago“On disk” really downplays the amount of code required to implement drivers for loading off USB, SATA, NVMe, etc.
- phendrenad2 4y agoMy toyota prius is an insanely complex machine, and yet all it has to do is go forward when I press the accelerator. A UEFI-style over-engineered solution would require me to iterate over AcceleratorProviderProtocols in case someone implemented an acceleration pedal that works differently.
- tenebrisalietum 4y agoU-Boot seems to do the same and is a lot simpler than UEFI.
- seoaeu 4y agoU-Boot is over 2 million lines of code. I don’t know off hand exactly what functionality that does and doesn’t include, but I think it is fair to argue that neither one is especially simple