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