“Oh no! Not another linux distribution!”

Well, to be honest, I’m not a HUGE fan of [the present-day state of] the “linux ecosystem” as much as everyone else who is actually “using linux” as his or her’s(do you exist?) primary work OS. Now, with that polite, perfectly-formed sentence out of the way,

[large section of hate-speach full of IT conspiracies and finger-pointing for the truckload of “unfortunate” decisions and sheer incompetence the linux ecosystem has suffered under, removed]

I think it’s time to revisit the micro/*-kernel land and given enough .. time(and a steady supply of coffee) I’ll do just that. But first, I need a usable development OS that won’t take years to put together and does what an OS is supposed to do – be a thin layer between the world around you, a few pieces of rather primitive hw and your senses, maybe augment them, add a few new ones and most importantly stay the f*** out of your way.. or, given what we have to deal with, at least stay out of your way as much as possible ..
So, here is my take:

io/linux draft-of-sorts

General overview

– We use XBPS from Void-linux as the default package management system internally(suggestions welcome), Gentoo‘s portage was a close second but almost any package management system is supported given enough time to develop a suitable runtime.
– Split into “io.host” and “io.guest”(names, as almost everything at this point, subject to change), where io.host can be seen as a thin layer on top of your hw providing resources to users, io.guest the actual user environment(you know, that part you care about)
– “Out of your way” configuration inspired by composer / npm / oci; everything in one configuration file, a standalone file per configuration item or anything in between
– No “We are secure” BS, we are NOT! Nor is anything you can get “on the internet”. We are not in the business of selling security™ fairytails!
– Bootable on “foreign” linux distributions or windows(usb images are shipped with a standalone qemu binary)
– Roles, apps are isolated, immutable, with a temporary state cache by default
– Easily extendible
– Clean
– Pencil and paper, as of 2017 still the ultimate usability power-tool. Realizing this, despite all the “apps” and piles upon piles of “smart” devices just waiting to become a new layer of junk on a landfill somewhere in Nigeria is one step closer to writing better user-facing computer systems.

“The Host”

– Designed to run primarily from RAM
– ZFS as the primary FS for cache/data
– Bcachefs (hey, testers needed)
MuQSS scheduler
– Grsec(testing patchset)
Xen Dom0 kvm + LXC or standalone LXC
– Musl hardened toolchain w libressl

– roles/apps/users isolation kvm / xen, lxc, chroot}
– roles/apps integration {script-wrapper, overlay, none}
– Fully configurable fs layout, the only requirement is to have a io/linux dataset present(not because its hard-coded across thousands of binaries, just looks nice)
– User auth via removable devices(optional +key, +pass, +device)

“The Guest”

– “Dockable”; your(user’s) roles, apps and data are tied to your removable device, your whole desktop environment(s) moves with you
– Optional “cloud” sync for state and config data
– Runnable from windows – in other words – you can take all your apps as-is to office and continue where you left on a windows machine(qemu VM running io.host with your io.guest env “docked”)
– On running “undock”, all apps are freezed to your device(their state saved), on “dock” into another iolinux host, apps that are not available on the host/host’s per-user cache are downloaded in an npm/composer-way (config default)
– Idealy run from a removable SOC device(progress on this topic is exactly 0)

Aaand “The Ugly”

(as in, implemented in such a terrifying way that it deserves special mentioning)

– mdev
– io.CLI

Links / downloads / free stuff

Iso/usb/pxe test images:
http://images.iolinux.org

Kernels/runtimes/roles/apps:
http://repo.iolinux.org

Wiki/Docs(TBD):
http://docs.iolinux.org

Gitlab(TBD)
http://dev.iolinux.org

Buildbot(TBD)
http://build.iolinux.org

CellFS(TBD)
http://cellfs.iolinux.org

Leave a Reply

Your email address will not be published. Required fields are marked *