ENGINEERING 267 upvotes 2017

GERT: Run Go on Bare Metal ARMv7

267 pts
Hacker News Signal
2017 · Shared by @chuckdries
GERT: Run Go on Bare Metal ARMv7 by @chuckdries

Retrospective Overview & Key Insights

Distilled reflections, business mechanics, and tactical takeaways:

In this technical retrospective (2017), @chuckdries shares practical architectural lessons learned from running, scaling, or migrating production software under lean constraints.

Core Principles for Independent Builders:
1
Defaulting to simpler architectures (such as monolithic frameworks, SQLite, or managed VPS) prevents early engineering bankruptcy.
2
Evaluating true compute and egress costs reveals that high cloud bills can often be slashed by 80%+ through judicious re-platforming.
3
Code you write at 2 AM as a solo engineer must be easy to debug six months later without complex microservice dependencies.
Community Debate Themes:

HN engineers debated the tradeoffs between cloud convenience and raw server economics, database indexing strategies, and resisting premature architectural complexity.

Community Discussions & Critical Reviews

Key perspectives, counter-arguments, and peer founder insights debated on Hacker News (97 total discussions):

AR @arcticbull Peer Contributor
JH @Jhsto Peer Contributor

Impressive work! One question though, what is the bootup time? There's the GIF on the Github repository, but I can't accurately tell it from that.

Would it be possible for you to make a program that just exists and then time the whole bootup process? Thank you.

I have a specific use-case and would be willing to buy the board if it is fast enough.

WV @wvh Peer Contributor

I just updated Debian on my cubox-i (also iMX6) last week, which also runs mostly Go code. Never thought that Go would be low-level enough to run on bare hardware without replicating a lot of OS-level code. Interesting project, thanks for sharing... I hope I get to check out how you did it when/if I have some more time.

KB @kbumsik Peer Contributor

Wow, it's a great piece of work. I was always wondering how to implement such big golang runtime on bare-metal, but someone finally did it. I glad to have a paper as well. So how big is the compiled binary of golang runtime? I hope it would be small enough to port to Cortex-M series MCUs.

BO @bogomipz Peer Contributor
"The minimal set of OS primitives that Go relies on have been re-implemented entirely in Go and Plan 9 assembly inside the modified runtime."

Is the minimal set of OS primitives that Go relies on documented anywhere?

HISTORICAL ERA Cloud & Mobile Era (2014–2019)
COMMUNITY SCORE 267 points
TOTAL DISCUSSIONS 97 comments
TOPICS & TECH STACK: