gokrazy
mirage
gokrazy | mirage | |
---|---|---|
19 | 32 | |
3,153 | 2,433 | |
0.3% | 0.5% | |
7.7 | 8.7 | |
18 days ago | 6 days ago | |
Go | OCaml | |
BSD 3-clause "New" or "Revised" License | ISC License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
gokrazy
-
Considerations for a long-running Raspberry Pi
Switching to gokrazy[0] was the best thing I did for my Raspberry Pi uptimes. I think a lot of that is because it defaults to using read-only partitions so the common issue of SD cards falling over when you run apt upgrade no longer happens.
But I also think that gokrazy's simplicity and design helps it be just a solid, reliable foundation to build on top of.
[0]: https://gokrazy.org/
- Gokrazy – Go Appliances
-
Easylkb: Easy Linux Kernel Builder
The idea there sounds a lot like https://gokrazy.org/, which builds a minimal go userland, wrapping one or more user provided go applications, and bundles in a linux kernel.
Targets mostly at single board computers, and I think it downloads pre-built kernels (and bootloaters if needed), rather than trying to build them directly, since getting a working cross compilation toolchain set up and plumbed into the kernel compilation process is still a pain.
I've personally only used yocto/open-embedded for that which does nicely handle building the cross-compilation toolchain, kernel image, and modules. But it is kinda overkill for that task, being designed to build a whole userland too.
- An Overview of Nix in Practice
- Gokrazy Go (Golang) Appliances
-
Writing an OS in Go: The Bootloader
reminds me of https://github.com/gokrazy/gokrazy which does similar things.
-
When is go not a good choice?
https://gokrazy.org/ would like a word
-
Userspace isn't slow, some kernel interfaces are
Fun! We have support for running on gokrazy (https://gokrazy.org/) already, and that's probably where Unikernel Linux is more applicable for us, for when people just want a "Tailscale appliance" image.
I'll email you.
-
go-rampart: a golang package to detect overlapping periods
gokrazy exists! https://github.com/gokrazy/gokrazy
-
Can you build your own user space on top of the Linux kernel?
https://github.com/gokrazy/gokrazy for one example
mirage
-
Gokrazy – Go Appliances
Interesting, and thanks.
I didn't know about those. I kind of thought you may have used MirageOS, which I had read about earlier. It is done in OCaml.
https://mirage.io/
- Mirage – A programming framework for building type-safe, modular systems
-
What's Zig got that C, Rust and Go don't have? [video]
Unix system programming in OCaml (2014)
https://ocaml.github.io/ocamlunix/
"MirageOS is a library operating system that constructs unikernels for secure, high-performance network applications across a variety of cloud computing and mobile platforms."
https://mirage.io/
-
PostgreSQL reconsiders its process-based model
That was/is part of the promise of the whole unikernel thing, no?
https://mirage.io/ or similar could then let you boot your database. That said, it's not really taken off from what I can tell, so I'm guessing there's more to it than that.
-
Writing an OS in Rust to run on RISC-V
MirageOS is not Rust, but in the ballpark!
https://mirage.io/
-
Container runtime as a static binary?
OCaml MirageOS? https://mirage.io/
- OCaml 5.0 Multicore is out
- Ask HN: Operating Systems built with functional languages?
-
Is there an operating systems that is a runtime of a programming language?
MirageOS is a runtime for OCaml to create unikernels. They describe themselves as "library operating system". Probably not quite what you were asking for, but I think it's quite interesting for certain use cases (e.g. running services as standalone unikernels in VMs or embedded devices instead of "traditional" programs on top of a general purpose OS).
What are some alternatives?
buildroot - Buildroot, making embedded Linux easy. Note that this is not the official repository, but only a mirror. The official Git repository is at http://git.buildroot.net/buildroot/. Do not open issues or file pull requests here.
unikraft - A next-generation cloud native kernel designed to unlock best-in-class performance, security primitives and efficiency savings.
go-jtagenum - JTAG enumeration tool written in Go. A port of https://github.com/cyphunk/JTAGenum enhanced with https://github.com/grandideastudio/jtagulator improved implementation.
oberon-riscv - Oberon RISC-V port, based on Samuel Falvo's RISC-V compiler and Peter de Wachter's Project Norebo. Part of an academic project to evaluate Project Oberon on RISC-V.
xbvr - Tool to organize and stream your VR porn library
Carp - A statically typed lisp, without a GC, for real-time applications.
tamago - TamaGo - ARM/RISC-V bare metal Go
linuxkit - A toolkit for building secure, portable and lean operating systems for containers
qt - Qt binding for Go (Golang) with support for Windows / macOS / Linux / FreeBSD / Android / iOS / Sailfish OS / Raspberry Pi / AsteroidOS / Ubuntu Touch / JavaScript / WebAssembly
Mezzano - An operating system written in Common Lisp
nixos-anywhere - install nixos everywhere via ssh [maintainer=@numtide]
Lupine-Linux - Linux in Unikernel Clothing