Imustaskforhelpa day ago
I really like this idea but can anyone please summarize what it does for me. To me it feels very fascinating (bare metal golang in general) but I am not sure I truly understand its usecase and I would love to know more.
pjmlpa day ago
The use cases is not writing unsafe C in first place, and proving the point Go is usable in such scenarios, regardless of naysayers.
The creators of USB Armory also created TamaGo, instead of using Rust, exactly for the same reasons, to prove a point.
https://github.com/usbarmory/tamago
https://reversec.com/usb-armory/
Because in IT, seeing is believing.
qhwudbebda day ago
Quite apart from that, an EFI shell that's less awful than the standard UEFI one is an interesting project in its own right...
bradfitz16 hours ago
I've been idly following this stuff on & off for years, but I never saw proving a point "instead of using Rust" as one of the motivations of the project. Was that ever stated anywhere?
pjmlp14 hours ago
Yes,
> Languages like Rust have already proven they role in bare metal world, Go on the other hand needs to … and it really can!
From https://fiif.fi/wp-content/uploads/sites/9/2021/06/TamaGo.pd...
xyse5310 hours ago
It's also a good way to learn about UEFI for people most familiar with go.
tomcam14 hours ago
When you turn on a computer, it transfers code to software required to get the machine up and running reliably--the boot process. That used start in a chip called the BIOS. It's a 40-year old holdover from the early days of the IBM PC. UEFI is a more complex and feature-rich protocol. Due to its default memory management Go hasn't been considered the first choice for such purposes but this proof of concept uses Go for the very low level code needed for UEFI.
techgnosis15 hours ago
There aren't that many UEFI shells and the ones that exist are certainly not modern. Anything new is helpful, especially if its written in a popular language like Go.