[HN Gopher] Go-boot: bare metal Go UEFI boot manager
___________________________________________________________________
Go-boot: bare metal Go UEFI boot manager
Author : nateb2022
Score : 52 points
Date : 2025-12-18 00:08 UTC (5 days ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| Imustaskforhelp wrote:
| 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.
| pjmlp wrote:
| 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.
| qhwudbebd wrote:
| Quite apart from that, an EFI shell that's less awful than
| the standard UEFI one is an interesting project in its own
| right...
| bradfitz wrote:
| 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?
| pjmlp wrote:
| 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...
| xyse53 wrote:
| It's also a good way to learn about UEFI for people most
| familiar with go.
| techgnosis wrote:
| 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.
| tomcam wrote:
| 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.
| reactordev wrote:
| "Due to its garbage collection" you mean. There's nothing
| stopping you from writing go for bare metal, only your pride.
| hulitu wrote:
| > Go-boot: bare metal Go UEFI boot manager
|
| The bare metal list is quiet thin.
|
| Why is so HW focused ? I use refind and it seems to be HW
| independent.
| seanw444 wrote:
| As much as I appreciate Go, putting it on bare metal makes me
| cringe a little.
| reactordev wrote:
| Why? You can't just leave that dangling like a meat stick.
___________________________________________________________________
(page generated 2025-12-23 23:00 UTC)