[HN Gopher] Gokrazy - A Native Go Userland ___________________________________________________________________ Gokrazy - A Native Go Userland Author : robfig Score : 55 points Date : 2022-01-16 19:41 UTC (3 hours ago) (HTM) web link (gokrazy.org) (TXT) w3m dump (gokrazy.org) | ed25519FUUU wrote: | No CGO is hard because that means I can't use SQLite libraries. | This has been a continued frustration to me when writing portable | Go apps. | allset_ wrote: | There's a new(er) fork that doesn't use CGo. | | https://github.com/zombiezen/go-sqlite | cpach wrote: | Very interesting project. | | Has anyone tried it? | | Apparently they have written their own init: | https://gokrazy.org/userguide/process-interface/ | | This makes me curious. I wonder how well Gokrazy would blend with | s6/s6-rc... | | If anyone is curious there's more info about those projects here: | | https://skarnet.org/software/s6/ | | https://skarnet.org/software/s6-rc/ | hamburglar wrote: | I've tried it. It's very neat. I wrote a PoC music player on it | and it boots up and begins playing music in about 4 seconds if | I recall. Has a neat optional web-based service control UI that | lets you see the logs and stop/start the "services." Has a cool | dual-boot-image scheme so you can boot a new one and roll back | to the old one if needed (takes double the space on the boot | drive but it's still pretty small). | | It's still kind of a toy, however. There is no C runtime, and | the maintainer has declared that there never will be (part of | the point of the project is not worrying about that kind of | complexity) so including anything C-based is going to be an | adventure/unsupported. And the maintainer's use case is custom | built personal servers, so he is explicitly ok with, for | example, having to hardcode your wireless config because there | is no (and apparently never will be) a wpa_supplicant. | | But if it had a golang wpa_supplicant implementation and a | graphics library (I've done a little fb drawing on it and it | works but it really needs acceleration) it would make a really | nifty platform for little devices with an HDMI UI. | bdittmer wrote: | I use it to run internal services I don't want going down when | I'm messing around in the homelab. Namely: internal DNS, MQTT | broker and various prometheus pollers (e.g. unifi-poller). I'm | a big fan of this project. | PhilippGille wrote: | Do you have a blog article or so that describes this in more | detail? It sounds interesting! | c7DJTLrn wrote: | gokrazy is a very cool project and something I'd like to see more | of. It's not a unikernel per se but it shares the idea of | packaging your code and the OS together and shipping it as one. | My dream would be a pure Go userspace library to do absolutely | anything related to system management you'd need, like managing | networking, connecting to Wi-Fi access points, performing | upgrades and so on. But it's such a massive undertaking so we're | stuck depending on software written in C via FFI or exec'ing | shell commands -- pretty gross. | jonpalmisc wrote: | I run into this often and share the same desire. I quite like | Go, but unfortunately the interaction of "my interests" (such | as the userspace library you suggested) and "things Go excels | at" isn't very large. Having to do everything important through | FFI or shell commands defeats the purpose of writing Go, imo. | dang wrote: | A couple past threads: | | _Gokrazy: a pure-Go userland for Raspberry Pi 3 appliances_ - | https://news.ycombinator.com/item?id=20357605 - July 2019 (9 | comments) | | _Gokrazy: A pure-Go userland for Raspberry Pi 3 appliances_ - | https://news.ycombinator.com/item?id=16672866 - March 2018 (87 | comments) ___________________________________________________________________ (page generated 2022-01-16 23:00 UTC)