Great, thanks for your exhumation.

Since I was focusing on runtime arguments, I discarded those hello world unikernels that are only printing hello world. ;)


Hannes

On 22/10/2024 13:10, Anil Madhavapeddy wrote:
I love this post! I couldn't resist spelunking through the git history back to 
MirageOS 1.0 (pre functoria), and spotted the Hello World from there:

https://github.com/mirage/mirage/blob/e7906f49c462a74cb39f4403bec32a04c17a6398/lib_test/console/config.ml
https://github.com/mirage/mirage/blob/e7906f49c462a74cb39f4403bec32a04c17a6398/lib_test/console/handler.ml

which looks pleasingly similar to the 2.0 hello world. I think we separated out 
the Lwt signatures, and then re-merged them back in a few releases later.

I'll see if I can dig out the artefacts from the original ASPLOS paper (in 
about 2012), which was (at that point) a 150kB DNS unikernel. It used bytecode 
and a dead code elimination patch against OCaml 4.01 to really squeeze out the 
unnecessary bytes, but it was still pretty performant as well.

--
Anil Madhavapeddy, Professor of Planetary Computing (anil.recoil.org)
Computer Laboratory, University of Cambridge (www.cst.cam.ac.uk)


On 22 Oct 2024, at 11:54, Hannes Mehnert <han...@mehnert.org> wrote:

Dear valued MirageOS hacker,

it is my pleasure - we just published a blog article on Mirage Runtime 
Arguments (https://blog.robur.coop/articles/arguments.html), which includes a 
(brief) history of Hello World and their changes.

You can lean back and take 2 minutes to watch https://asciinema.org/a/681922 - 
the evolution of a decade of Hello World MirageOS unikernel. I'm sure there are 
earlier versions around that are missing -- if you have anything locally, don't 
hesitate to send them (preferably with a date and MirageOS release version) ;)

Should we restart (bi?)weekly MirageOS meetings?


My pleasure. Have a wonderful autumn day (at least in the Northern hemisphere),

Hannes





Reply via email to