6 ms·
Gokrazy – a pure-Go userland for Raspberry Pi 3 appliances
- orik 10y agothis seems fun. I wonder though if bringing Go or Rust bare metal onto the Pi would give you the smallest attack surface? http://blog.thiago.me/raspberry-pi-bare-metal-programming-with-rust/ http://blog.thiago.me/raspberry-pi-bare-metal-programming-wi...
- weberc2 10y agoGo doesn't currently run on bare metal, though I think there are forks that do. At any rate, this would be unusable for most interesting programs unless you plan to rewrite all of the things the kernel gives you in Go/Rust (though there are projects which aim to do this as well).
- pjmlp 10y agoThe most usable thing would be to prove to naysayers that it is possible to use Go in such scenarios. Another usable thing would be to program bare metal devices without memory corruption issues.
- jeyoor 10y agoAnything like this available for .NET Core?
- carussell 10y agoYes, .NET Micro Framework is a thing. Also what's notable is that it was opened up in 2009--a full five years before all the hubbub about core and corefx. And it's under Apache 2.0, so if any organization has any problems swallowing the terms of MS's patent grant on .NET Core, they have a more palatable option. http://netmf.github.io http://netmf.github.io
- fabmilo 10y agodoes it support docker?
- 0x006A 10y agono, docker does not work with CGO_ENABLED=0
- oxplot 10y agoA while ago, I had the "krazy" idea of writing my own single binary Go router software on top of linux kernel. Turns out it's fairly easy to get up and running with literally having nothing but a kernel image and a single executable that gets called on boot. My kernel booted in less than 2 second on a VM.
- bigdubs 10y agoThis is basically what a docker image is.
- zer0t3ch 10y agoDocker is just a container, anything you can boot you can put in a container. That doesn't make what he did "basically a docker image".
- nothrabannosir 10y agoIt's more like a busybox image.
- jagger27 10y agoI guess the next step would be to try a uni-kernel. ClickOS claims to be able to boot in 20ms. http://unikernel.org/projects/ http://unikernel.org/projects/
- weberc2 10y agoThe documentation says to compile with GOARCH=amd64; isn't RPI3 an ARM architecture? Is that a typo, or am I misunderstanding something?
- jdfellow 10y agoWhat would it take to get this to support other ARM boards? (Especially the Orange Pi in my case.)
- fancy_pantser 10y agoThey have no plans to but would entertain someone volunteering: https://www.reddit.com/r/golang/comments/5xgf8u/gokrazy_a_purego_userland_for_your_raspberry_pi_3/dei6fim/ https://www.reddit.com/r/golang/comments/5xgf8u/gokrazy_a_pu...
- kingmanaz 10y agoExcellent. Perhaps it's finally time to build a wunderground-consulting sprinkler timer...
- agumonkey 10y agoIf I ever write a Go thing I'll be sure to call it Getnuts.
- mmcwilliams 10y agoVery cool project! I'm just getting started with Go and my target platform is the Raspberry Pi (and other low-powered ARM boards). Will the newly-announced Zero W support this?
- secure 10y agoUnfortunately not. The arm64 architecture is a requirement (see also https://www.reddit.com/r/golang/comments/5xgf8u/gokrazy_a_purego_userland_for_your_raspberry_pi_3/dei7b2m/ https://www.reddit.com/r/golang/comments/5xgf8u/gokrazy_a_pu...), and the Zero W uses the older BCM2835 SoC, which is not arm64.
- atomi 10y agoIt's armv6 and golang may be dropping support for it https://github.com/golang/go/issues/17082 https://github.com/golang/go/issues/17082
- mmcwilliams 10y agoAh, that's a little annoying, but I think my expectations for what I can get out of a $10 computer are getting out of hand. Looks like I'm going to have to check out the Pi 3.