Linux Unikernel

Disclaimer: I am not a programmer or computer scientist, and more generally still consider myself a relative novice when it comes to Linux generally. Anything that doesn’t sound sensible is likely due to my own misunderstanding. I have tried to include as many links as possible to source material when available.

I recently saw Linux content creator video about a new RFC to the Linux Kernel.
Brodie Robertson : “Turning Linux into a Library Operating System???”
https://www.youtube.com/watch?v=VNFtXNgq8ms

In it they discuss adding support for the “unikernel” model. As described by
RedHat Research : Unikernel
Linux https://research.redhat.com/blog/research_project/unikernel-linux/

, and the video linked there DevConf : “Unikernel Linux”
https://www.youtube.com/watch?v=Hu268xq9gMk .

If I understand these sources correctly the main benefit is all applications are statically linked with a specialized kernel. With each application getting its own dedicated kernel build. So assuming that this change gets merged to the main kernel.
Kernel Mailing List : “Unikernel Linux RFC”
https://lore.kernel.org/lkml/20221003222133.20948-1-aliraza@bu.edu/

Would it be useful in extending NixOS’s reproducibility down to the hardware level? A lot of what is discussed when describing the unikernel model seems similar to the ideas underlying nix package management, and being able to specify a which kernel commit you want to build an application with as part of its derivation (sorry if I am butchering the terminology) seems like it would be useful.

1 Like

There is interest in supporting Mirage OS and Solo5 unikernels but neither ambitions for Nixpkgs have matured. If you would like to see unikernel Linux support you are welcome to work on it. Unfortunately when working on exotic platforms you will be essentially working alone, but I would encourage you to go for it if you find it interesting.

Ultimately though, the only provider of the Linux API/ABI with traction is plain old Linux, because as Martin Děcký says, “if you want Linux you know where to find it”.