Say a non-OS hacker wants a unikernel. What's the sanest way to go about getting to that?

Options that come to mind are:

- build your application as a linux kernel module, load it into a normal kernel, and generally ignore the userspace that runs anyway

- take Linux and hack it down pretty aggressively plus splice your code into it

- find some github unikernel effort and go from there (which I think the OP does)

- take some other OS - freebsd? - and similarly hack out parts

Other?

I like the idea of a x64 machine running a VM connected to a network card as a generic compute resource that does whatever tasks are assigned by sending it data over the network. It's not been worth the hassle relative to a userspace daemon, but one day I may find the time and would be interested in the HN perspective on where best to start the OS level hackery.

A couple unikernel projects that caught my eye in the past may be of interest to you. I have no experience with them, so I can't speak to their quality though.

https://unikraft.org/

https://github.com/nanovms/nanos