From mirageos-devel-bounces@lists.xenproject.org Fri Dec 06 07:46:48 2024
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 06 Dec 2024 07:46:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.849884.1264381 (Exim 4.92)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1tJT2q-0005Zm-OM; Fri, 06 Dec 2024 07:46:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 849884.1264381; Fri, 06 Dec 2024 07:46:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1tJT2q-0005Zf-Kj; Fri, 06 Dec 2024 07:46:36 +0000
Received: by outflank-mailman (input) for mailman id 849884;
 Fri, 06 Dec 2024 07:46:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zCn9=S7=mehnert.org=hannes@srs-se1.protection.inumbo.net>)
 id 1tJT2o-0005ZZ-Ue
 for mirageos-devel@lists.xenproject.org; Fri, 06 Dec 2024 07:46:35 +0000
Received: from mail.mehnert.org (mail.mehnert.org [213.73.89.200])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 34d4e5a5-b3a6-11ef-a0d5-8be0dac302b0;
 Fri, 06 Dec 2024 08:46:33 +0100 (CET)
Received: from [192.168.42.80] (i5C74C16C.versanet.de [92.116.193.108])
 (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256
 client-signature RSA-PSS (2048 bits) client-digest SHA256)
 (Client CN "hannes@mehnert.org", Issuer "mehnert root CA" (not verified))
 by mail.mehnert.org (Postfix) with ESMTPS id ADCE61A3C7
 for <mirageos-devel@lists.xenproject.org>;
 Fri,  6 Dec 2024 08:46:29 +0100 (CET)
X-BeenThere: mirageos-devel@lists.xenproject.org
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: mirageos-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "MirageOS-devel" <mirageos-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 34d4e5a5-b3a6-11ef-a0d5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mehnert.org; s=mail;
	t=1733471189; bh=FowVm18pjRs6CG6BIckgE9EV+rTTqucmL4pjqji+4XE=;
	h=Date:To:From:Subject;
	b=NPoSnOXTAAKr8a9l//yO4s4TO6MseCPe8WrU5x88j9Ae46VxsvAgA65Bi9YG3r85S
	 pQHHRLaWDz5koiUf19cnFatbn/pj8KKo8gsSBEW7VJokXBMbNP7DmVZveGbo531Gua
	 atnxESIhWCyrkFI784f3Dxb6qDF9rbcfMbCpEqEV1Ie4sWbFuhoj8C51EDXgEnmpIA
	 5qeB9Mos743L6osi5hitCXvHtE2hdFa9PjmukQHQ9FAyyVzz8+2ngaRNTeQ+KVQogS
	 y5v/QyMfyxZok/CArHZNsEhtv7DslHfrQPP9VCxDrZKIFEpfSQpflRlmtQgetRLTvf
	 ETrM72Qyz+F1Q==
Message-ID: <3acc7887-7f3f-46a7-aec5-1f041f343ba5@mehnert.org>
Date: Fri, 6 Dec 2024 08:46:26 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: mirageos-devel <mirageos-devel@lists.xenproject.org>
From: Hannes Mehnert <hannes@mehnert.org>
Subject: MirageOS biweekly calls - Nov 25th notes
Autocrypt: addr=hannes@mehnert.org; keydata=
 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
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hey,

please find below the notes from our last meeting. The next meeting is 
on Monday Dec 9th, 10:00-12:00 CET

Best,

Hannes

## Meeting Nov 25th 10:00 - 12:00 CET

- Participants: Sam, Reynir, Hannes, Pierre

### OCaml 5
- https://github.com/mirage/ocaml-solo5/pull/134
- Sam continued and rebased that PR
- the strerror is actually used, it was marked as TODO (we need to 
implement it)
- Virgile restarted last week the measures on the Mirage website, but we 
don't have access to the Grafana dashboard
- Hannes reviewed some bits and pieces of the ocaml-solo5 PR
- The ocaml-src package relies on an extra file, META, that has been 
moved to opam-source-archives
- There could either be a "echo ... > META" or a META.in file for the 
ocaml-src package, hannes will take a look and propose PRs -- an empty 
META file may be sufficient
- TODO: rebase the patches on 5.2.1
- question: what about the LICENSE if we take values (and comments) from 
an existing project -- maybe we should copy the entire errno.h?

### unikraft
- there's something that works with networking (didn't look into block 
devices yet)

### Results from performance experiments
- Pierre did some benchmarks 
https://github.com/palainp/simple-fw/tree/no-cstruct
- running with solo5-spt as a Qubes guest

| Av. bandwitdh (Gbits/sec) |     Ocaml 4.14.1   |     Ocaml 5.2   |   C 
relay   |
|---------------------------|--------------------|-----------------|-------------|
| Cstruct as BA             |      1.16          |      1.12       | 
1.58      |
| Cstruct as bytes          |      1.42          |      1.41       | 
1.58      |

- running with separate VMs (iperf client, bridge/firewall, iperf 
server) resulted in the C implementation being slower than the MirageOS ones
- TODO someone else reproducing the benchmarks on a separate infrastructure
- TODO optimize the C implementation (?)
- We can use a bridge interface (brctl) with both network interfaces (so 
we don't copy from kernel space to user space)
- TODO try with virtio
- Sam: maybe use sendfile? (that'd be an optimization for the C relay)
- To conclude, moving Cstruct from bigarray to bytes improves the 
performance
- Hannes likes the simple-fw performance setup for the lower layers of 
the network stack, we can learn a lot: different backends, flambda2, 
trying out queueing (instead of one VMEXIT per packet send/recv)
- The remaining blocker for cstruct-as-bytes is the xen backend which 
relies on non-moving page-aligned memory being passed around. We should 
continue to work on adapting that code (to use io-page)
- Pierre also mentioned that we can look deeper into what allocations we 
can remove to improve the performance


From mirageos-devel-bounces@lists.xenproject.org Fri Dec 06 07:47:38 2024
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 06 Dec 2024 07:47:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.849888.1264385 (Exim 4.92)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1tJT3p-0005km-Ry; Fri, 06 Dec 2024 07:47:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 849888.1264385; Fri, 06 Dec 2024 07:47:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1tJT3p-0005ke-PN; Fri, 06 Dec 2024 07:47:37 +0000
Received: by outflank-mailman (input) for mailman id 849888;
 Fri, 06 Dec 2024 07:47:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zCn9=S7=mehnert.org=hannes@srs-se1.protection.inumbo.net>)
 id 1tJT3o-0005kR-2k
 for mirageos-devel@lists.xenproject.org; Fri, 06 Dec 2024 07:47:36 +0000
Received: from mail.mehnert.org (mail.mehnert.org [213.73.89.200])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5b6f4883-b3a6-11ef-a0d5-8be0dac302b0;
 Fri, 06 Dec 2024 08:47:35 +0100 (CET)
Received: from [192.168.42.80] (i5C74C16C.versanet.de [92.116.193.108])
 (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256
 client-signature RSA-PSS (2048 bits) client-digest SHA256)
 (Client CN "hannes@mehnert.org", Issuer "mehnert root CA" (not verified))
 by mail.mehnert.org (Postfix) with ESMTPS id 14F7719D96
 for <mirageos-devel@lists.xenproject.org>;
 Fri,  6 Dec 2024 08:47:35 +0100 (CET)
X-BeenThere: mirageos-devel@lists.xenproject.org
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: mirageos-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "MirageOS-devel" <mirageos-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5b6f4883-b3a6-11ef-a0d5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mehnert.org; s=mail;
	t=1733471255; bh=Exb/mGhwNIxWQznkN8E0nwD9ULaBjbK7JAmbYMkzRa8=;
	h=Date:To:From:Subject;
	b=K7jWqe7MJOt7brEyK0daGrnfNSMgRViDyYEy6FFOZzmWeFu2D8CAcyqgJ2q4Lpp74
	 8RIi4OrHKyGzUySaszKe2fnchnsdhqosKAGIcKvgKEAc3bIjSQ4Ksd1CEpQeWwBJ0a
	 m0t1RrzcWZ1U7vz7EdYQn/d/CNwOrhU2ltn01nwV5ueosY3P76SSwPFN2J0A4cs9Ws
	 cMc42WwuQ3GxeTYMX1xevfdSNBMnuU5RUZdUyjXoohZprBcVdZYyQOlnkeD6krb8JZ
	 xucaBZbVxndkKq0w923SFZ8Eb1LitRzwtEwbJUaHbKPA3XXLOkt9BPteFLBtmiTHW6
	 RacYRSKDaaJQQ==
Message-ID: <b054aa50-1b89-499e-b62c-76a7a1820124@mehnert.org>
Date: Fri, 6 Dec 2024 08:47:34 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: mirageos-devel <mirageos-devel@lists.xenproject.org>
From: Hannes Mehnert <hannes@mehnert.org>
Subject: next meeting: Monday Dec 9th 10:00 - 12:00 CET
Autocrypt: addr=hannes@mehnert.org; keydata=
 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
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hey,

we'll meet on Monday, https://meet.jit.si/MirageOS, shared pad 
https://pad.data.coop/To6IOSeNSOK9kFVlgo7XWw?both#


See you soon,

Hannes


From mirageos-devel-bounces@lists.xenproject.org Mon Dec 16 10:42:55 2024
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 16 Dec 2024 10:42:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.857711.1269926 (Exim 4.92)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1tN8Ym-0001DW-L1; Mon, 16 Dec 2024 10:42:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 857711.1269926; Mon, 16 Dec 2024 10:42:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1tN8Ym-0001DP-IP; Mon, 16 Dec 2024 10:42:44 +0000
Received: by outflank-mailman (input) for mailman id 857711;
 Mon, 16 Dec 2024 10:42:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3TWp=TJ=gmail.com=lists.nick.betteridge@srs-se1.protection.inumbo.net>)
 id 1tN8Yl-0001DH-FY
 for mirageos-devel@lists.xenproject.org; Mon, 16 Dec 2024 10:42:43 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 795838d2-bb9a-11ef-99a3-01e77a169b0f;
 Mon, 16 Dec 2024 11:42:41 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-43628e97467so35019875e9.3
 for <mirageos-devel@lists.xenproject.org>;
 Mon, 16 Dec 2024 02:42:40 -0800 (PST)
Received: from [10.0.0.128] ([84.71.191.161]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43625706588sm138981535e9.29.2024.12.16.02.42.38
 for <mirageos-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 16 Dec 2024 02:42:39 -0800 (PST)
X-BeenThere: mirageos-devel@lists.xenproject.org
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: mirageos-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "MirageOS-devel" <mirageos-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 795838d2-bb9a-11ef-99a3-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1734345760; x=1734950560; darn=lists.xenproject.org;
        h=content-transfer-encoding:subject:from:content-language:to
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=6nQoVFD27v0XP+kBXFh3H2HbXx7sn0M4UAGUyJQRUqs=;
        b=lRVMsaxCFndLg3OPUBGcpynRsP6qagGYfr6M3D3iKO8oAKRWAowhsd8VeXfgMaR1zZ
         A83KpJovYP9d6ukqynftPUtfqzU4/dU8FwXWj6oD+GUiVI7H66JziQDI9Z67mktuxCwJ
         EIV31rVx+5++jBAj/An4pjJWAfnPzDpoae1Sgl+TvzWh/WYvR75CGkP/tZiBDI7oTeMo
         hbYuKN0uc+o8ulOL99phuZYDpMcBAnEXwJ/1/61QgLGNLob7RatBUv283DsF+lOgYRRc
         4ULsq24NMPWOW98V6hcWYwhaLtnlG12upN9Uq56CiAX1fetnisRvP+m6IAWJYdHuEAF8
         jzxA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1734345760; x=1734950560;
        h=content-transfer-encoding:subject:from:content-language:to
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=6nQoVFD27v0XP+kBXFh3H2HbXx7sn0M4UAGUyJQRUqs=;
        b=bDJJE0KtRuWrh5c01yeXPEJAsv4fRU+MZXGrFf3U7LpXJ01KK2r7M2E0oyMXBs149o
         95SJoH0iXPQTJQZtEFHz5tEk3YgUjoLJwuIOof2QnhUnWqQtR1cdAJDwgbw/g1+SMhe2
         FWmhn3HpiUng5LHARmU+PZs8dzz0VaVpSH0vkuNDignKliJL/HF5QL7AFPDSO9UL6G66
         1x82iIHTt+K4BdeoF6T4ZQIDwz0sw0lVTA5ziJSDnsNRuk4lrxKmZydxbUpFt2VHsjHE
         sF/C/K3G42krayiz8Y3aJrc4ZDFVObZEmBgJ82IyjwL2aAfLRSQuMQmMzUW6Q3J4mveR
         U5Ug==
X-Gm-Message-State: AOJu0Yy77bZLcLCLaku4H5rcNHk/HO5fQPq5tX4hK5ZF6lkLUmLyDwif
	FaoZfN4Uk9cSdp2YtZoAvURcsty61PJHXZ6J4phN9LgRi/g/KA4fkxSE9g==
X-Gm-Gg: ASbGncsp8yLGFryQGip0lWxbVFuP9pV4D/3FACZCWxExIYgLcIUNBc3LYVzTiwJZdcm
	w3YLj/54W3blCie7Pb3q02/K1MwXpSoRrzCGiRzWprMcD4AV9E10E2qqPobMyyt6G7oJP62sh54
	DSmmrQFQ63vpowsFZLpmGxYOT1duDdnf0dmraenJeLx4ynkfvIcL0vDxTq4/jAmDMtHQMQwZySO
	CMqHj9LFslFJAm9Ry3gg8UghwlcI81JU1KISo0kY+FWwNBlhgJu1udliMRD5GO7mgQLwnYX
X-Google-Smtp-Source: AGHT+IFa/EBWXF1rGBT5goVusAaVFglQuULcJ4cuDj+s9Dg60IuJEq2eu2s+QTMfSZ98w14iBu8kwQ==
X-Received: by 2002:a5d:64af:0:b0:385:fb2c:6034 with SMTP id ffacd0b85a97d-3888e0b9e49mr9995724f8f.47.1734345760155;
        Mon, 16 Dec 2024 02:42:40 -0800 (PST)
Message-ID: <a1a3e291-982b-4e75-9755-ad4602f74051@gmail.com>
Date: Mon, 16 Dec 2024 10:42:38 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
To: mirageos-devel <mirageos-devel@lists.xenproject.org>
Content-Language: en-US
From: Nick Betteridge <lists.nick.betteridge@gmail.com>
Subject: A unikernel for building unikernels
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Dear All,

Does anyone know of any unikernels that can build unikernels for the 
local platform, using something like ocaml-monorepo and, perhaps, irmin?

Hannes has suggested looking at something like ocamlnat [1], which would 
be one way of tackling the issue, but I was wondering if anyone had 
considered or implemented any other approaches to solve this  - I would 
really love to move away from using the relatively bulky Docker 
infrastructure and associated maintenance.

Best wishes,

Nick

[1] https://github.com/bmeurer/ocamlnat



From mirageos-devel-bounces@lists.xenproject.org Mon Dec 16 12:55:43 2024
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 16 Dec 2024 12:55:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.858005.1270247 (Exim 4.92)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1tNAdM-0001YI-5S; Mon, 16 Dec 2024 12:55:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 858005.1270247; Mon, 16 Dec 2024 12:55:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1tNAdM-0001YB-2C; Mon, 16 Dec 2024 12:55:36 +0000
Received: by outflank-mailman (input) for mailman id 858005;
 Mon, 16 Dec 2024 12:55:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=AhTk=TJ=gmail.com=thomas.gazagnaire@srs-se1.protection.inumbo.net>)
 id 1tNAdK-0001Xm-Td
 for mirageos-devel@lists.xenproject.org; Mon, 16 Dec 2024 12:55:34 +0000
Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com
 [2a00:1450:4864:20::330])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 09b73eca-bbad-11ef-a0d6-8be0dac302b0;
 Mon, 16 Dec 2024 13:55:34 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-43621d27adeso27751175e9.2
 for <mirageos-devel@lists.xenproject.org>;
 Mon, 16 Dec 2024 04:55:33 -0800 (PST)
Received: from smtpclient.apple (napsach001.hosting-cea.net. [192.54.209.32])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-436255800f6sm137880315e9.18.2024.12.16.04.55.31
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Mon, 16 Dec 2024 04:55:32 -0800 (PST)
X-BeenThere: mirageos-devel@lists.xenproject.org
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: mirageos-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "MirageOS-devel" <mirageos-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 09b73eca-bbad-11ef-a0d6-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1734353733; x=1734958533; darn=lists.xenproject.org;
        h=to:references:message-id:content-transfer-encoding:cc:date
         :in-reply-to:from:subject:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=tErRoSu/v6Orn6xz7kNK1hJHoaOc/ZzuSN7iaruoIYg=;
        b=QNYhxwu/v3NQyb/VlBM4V17BZhKjMEdqqNQwJa0U26ThqNL8wJnrjBMTkYQ8ZfT/5w
         1PeIhnxXouugPYES+kcPTh8VVh6OdGlS3GjyjsttSVUGi8xW8fOuGyyd4n8sFshJ3vgA
         i+Yn5ZSNBXX7RojfAII5ynb1nZxt78jV/h64PhAu5NWndPm2+CMLa3zXrRgLG4UrUJ+C
         HrN9HifXR96Zi5qNb+EIHcmkb20HPxWxlJIEtSaeCYeE1pocSHYspp+vtNrGaiVXNzXa
         wBcUYsPDnUwbUKghgp+fFeilm73EdKLPrICrXFWmo9FbJNhSZ6pf53FYRMQq9/S5xE+B
         bqfQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1734353733; x=1734958533;
        h=to:references:message-id:content-transfer-encoding:cc:date
         :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=tErRoSu/v6Orn6xz7kNK1hJHoaOc/ZzuSN7iaruoIYg=;
        b=ghk4mi82W7ylsf8B9QKglJ+PcdlJtXsRgKi9CVeh8CFw3tEiisCnTjJ19GQXB45J0p
         tRHe8+CYoysbjfcp/zc/NkBH3iM/po/INSVOzXM33ZAITfxaNvsuvcBoscfRn72SSAbJ
         gDPFfkxr9Y9HNz4V3piW+XVgP+9ULN6rCfZCbVngOXEwL8V2AUkZwmJQsHqZ15aWDNck
         5h2lH87RSrWBxOWVIv6a7mjCDE0jes9KmaCVGLoxZDJgGbaw/j1L950QJIbV97OLDu7B
         Z1v9m533uWDw+LiDZsDni9/4Nv0g5IvnJH43v7H+BxFTTFAlCIUORsTUE48gTekrClh2
         7qaw==
X-Gm-Message-State: AOJu0YzbcxHo+lOKCBQB7dxs6EAtldlGmEKrXtk57RZDF4kkfjbIPBGT
	a+VqV0lpDyINP0/5cgTozcDOOYDeaajRMhNDSE4G5OdMHoH3Fn2nzVEMog==
X-Gm-Gg: ASbGncs89b8vch/nRcKFUlgj5An71dXqYrZoDBUP++5i7m1KVVAc340Qg0K2KwgZ1dw
	V05gXB6sf5OkBP4pjnMXAdbYnG4rpIAa1lCENdgbf32R7sVxnJ9dNSTClCVtmjnWdenRN6Sqbh4
	DgwV1RQpRG4Yrm3hzLzdguaxgapvUuLXY0Cz03sheWrzHfm/G+vPlTKiyIrpx4Q4f5Olx8A5exP
	NyHtJN6slHhXEiz7AQ2FZbwlA4f3RtLaHwJeEoETWXF7Pnr5jkCD3yTi0POjVZc93cZYkzzxyTP
	72zz9sFWaz6uaWMPTN3kg6FJigYSU/k3NA==
X-Google-Smtp-Source: AGHT+IG1PZDQp51LPb4ct1qoxWiQYze9BoIl/HYLgHrDHSRjR0OYZaNlJo6qjNDWTCpzBOIldP2BBw==
X-Received: by 2002:a05:600c:4e0b:b0:431:5aea:95f with SMTP id 5b1f17b1804b1-4362aa593b9mr121028445e9.16.1734353733026;
        Mon, 16 Dec 2024 04:55:33 -0800 (PST)
Content-Type: text/plain;
	charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3776.700.51\))
Subject: Re: A unikernel for building unikernels
From: Thomas Gazagnaire <thomas.gazagnaire@gmail.com>
In-Reply-To: <a1a3e291-982b-4e75-9755-ad4602f74051@gmail.com>
Date: Mon, 16 Dec 2024 13:55:21 +0100
Cc: Nick Betteridge <lists.nick.betteridge@gmail.com>,
 Virgile Robles <virgile@tarides.com>
Content-Transfer-Encoding: quoted-printable
Message-Id: <07CB6CA4-D457-4417-AE1C-10A4AD71309D@gmail.com>
References: <a1a3e291-982b-4e75-9755-ad4602f74051@gmail.com>
To: mirageos-devel <mirageos-devel@lists.xenproject.org>
X-Mailer: Apple Mail (2.3776.700.51)

Hi Nick,

Not totallu sure if that=E2=80=99s what you are looking for but did you =
check https://github.com/ocurrent/mirage-ci?

This is used to build and deploy mirageos.org. It=E2=80=99s based on =
ocurrent/obduilder (with a sandbox mechanism similar to Docker)

We (at Tarides) are also working on a prototype platform to build and =
deploy unikernels =E2=80=94 should be available next year. Let me know =
if you want to be an early tester.

Best,
Thomas

> On 16 Dec 2024, at 11:42, Nick Betteridge =
<lists.nick.betteridge@gmail.com> wrote:
>=20
> Dear All,
>=20
> Does anyone know of any unikernels that can build unikernels for the =
local platform, using something like ocaml-monorepo and, perhaps, irmin?
>=20
> Hannes has suggested looking at something like ocamlnat [1], which =
would be one way of tackling the issue, but I was wondering if anyone =
had considered or implemented any other approaches to solve this  - I =
would really love to move away from using the relatively bulky Docker =
infrastructure and associated maintenance.
>=20
> Best wishes,
>=20
> Nick
>=20
> [1] https://github.com/bmeurer/ocamlnat
>=20
>=20



From mirageos-devel-bounces@lists.xenproject.org Mon Dec 16 13:55:26 2024
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 16 Dec 2024 13:55:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.858054.1270294 (Exim 4.92)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1tNBZ9-00034s-3y; Mon, 16 Dec 2024 13:55:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 858054.1270294; Mon, 16 Dec 2024 13:55:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1tNBZ9-00034l-1J; Mon, 16 Dec 2024 13:55:19 +0000
Received: by outflank-mailman (input) for mailman id 858054;
 Mon, 16 Dec 2024 13:55:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3TWp=TJ=gmail.com=lists.nick.betteridge@srs-se1.protection.inumbo.net>)
 id 1tNBZ8-00031Y-Cu
 for mirageos-devel@lists.xenproject.org; Mon, 16 Dec 2024 13:55:18 +0000
Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com
 [2a00:1450:4864:20::32a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 61499f2f-bbb5-11ef-99a3-01e77a169b0f;
 Mon, 16 Dec 2024 14:55:16 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-4362bae4d7dso21084915e9.1
 for <mirageos-devel@lists.xenproject.org>;
 Mon, 16 Dec 2024 05:55:16 -0800 (PST)
Received: from [10.0.0.128] ([84.71.191.161]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-43625553234sm143382475e9.3.2024.12.16.05.55.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 16 Dec 2024 05:55:15 -0800 (PST)
X-BeenThere: mirageos-devel@lists.xenproject.org
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: mirageos-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "MirageOS-devel" <mirageos-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 61499f2f-bbb5-11ef-99a3-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1734357316; x=1734962116; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=w1k8zoUm0n5gRsoEZ6w3mxqij/SqH9h90qlWJltn3rw=;
        b=IKic/UqoRFF4OBs1ra5erpO0EWQaRhPD0PGcb0nq6Ic1j5f2uValdjU8FdOJxQfBYy
         iZBGHip/+xUuk7z443LRvRgnZM0vA7J6be72i8BB8KTGXM92zBSdfG73uCs9/zUb4yKy
         +NkHTgI/6zmOXYMIyIBBbToBplm9NFpX7bWsACnFZowTylduFbIt9hvDLkw3CvXYEe8W
         TyjAS2NPmyhqISbVaU0rAEsjCYvhVEO4evonGVLjNC3GUtguIYQEVizgwT/FcM+qKXD6
         Sm6feKT2+oTC0PS60tC/dbhx7vSb/vQtcX2jjKQu/cSGg+eOjoqEzvcvjM0+hVEQFLmw
         MN/g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1734357316; x=1734962116;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=w1k8zoUm0n5gRsoEZ6w3mxqij/SqH9h90qlWJltn3rw=;
        b=f+jqZQ1CjLxkXXMtUPKNxRC3LZ8A7Ff1ezRQ6QDuOJrNl87zwtXZxu4SLTVHZ+9Ns0
         e40KuKRTdkj4Z9904mTwFpXk9Hf4jzQZvKEVqdLAE3sib//o63gSf4hO+hYXjhpL63JL
         9wHYpA54gfBIs5WVYNrVNViVRxim51LP1n7uVsy4OKXaCtf79V7IHNwwyE2wgVskHM3Z
         i1YxYtF6rVAWOH3sNMC6JnXCURegXTNON4ZStSd10iN5qgh2VMvmae8zRexRLqSXA3bF
         9QcmPhxzPBXjQfoO1oBdwXmBwjYBwwP+OlNM7EqSxemAQ9WtSFJJfZ8FZS89AbO7WOh7
         tsyg==
X-Forwarded-Encrypted: i=1; AJvYcCVm1E5/iSqHUEbDUK2vTIioY6xSHWsD5MuNi6vdLcuGWTYLs3ddCW2dJ4qrnMOjpRM7QbeRRNBDSfZ/94uixA==@lists.xenproject.org
X-Gm-Message-State: AOJu0YwDgeJQZf7/wzLE3XtDTWqM0J4xieNQFp+fWJ/duKzY93pLe09d
	8BLtoB2LhvTJswGvFQpjZwvllgmGLoWtbv6fP0DvfpLBO+1XnRMB
X-Gm-Gg: ASbGncuWgYqaJWLNBy9ZD/u44zYA1djfbaHpV0UjcQDn6PA2xiwlFQ4CZ9PEWLwcRjS
	2rKjTyKdVOtlq6qLDOBITBSv8iYAf85K+PPrqlbo5Bjhq8sSvrEq/gpuTL/elHWaRZ6GJ0lU15O
	FPazmDfiW3RTXuKZ046qbuzhG8Fk1mTpXz0xRbYiuJNsNxF5qEoSPInWqpauBBRrY+iR6tmI4FN
	c6zB21r0kWS2CvqHKX/9NidmFT4DDmo1bttiAEbWY/z3vl+3AVPsRTTr2BuQ1OF/JMRU1wa
X-Google-Smtp-Source: AGHT+IFk3iNNSKiXj3LjRDFmTuG96Quv9NKue9M76ydEZXKsZPmgjfM6Vly216Le+uEeMk0G07qN1w==
X-Received: by 2002:a05:600c:1907:b0:434:fbd5:2f0a with SMTP id 5b1f17b1804b1-4362aa425edmr128527915e9.9.1734357315968;
        Mon, 16 Dec 2024 05:55:15 -0800 (PST)
Message-ID: <9c956612-b5bd-4b5d-9417-5349caa49e31@gmail.com>
Date: Mon, 16 Dec 2024 13:55:14 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: A unikernel for building unikernels
To: Thomas Gazagnaire <thomas.gazagnaire@gmail.com>,
 mirageos-devel <mirageos-devel@lists.xenproject.org>
Cc: Virgile Robles <virgile@tarides.com>
References: <a1a3e291-982b-4e75-9755-ad4602f74051@gmail.com>
 <07CB6CA4-D457-4417-AE1C-10A4AD71309D@gmail.com>
Content-Language: en-US
From: Nick Betteridge <lists.nick.betteridge@gmail.com>
In-Reply-To: <07CB6CA4-D457-4417-AE1C-10A4AD71309D@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Thomas,

Thanks for the mirage-ci reference - I'm not really looking for a ci 
pipeline, just a compile harness where I can take a small unikernel 
repo, of which I'm confident on the code integrity/soundness, and build 
the unikernel for the platform it's to be deployed to. Having this as a 
unikernel would really complete the mirage environment.

Always happy to look at, and give feedback on, unikernel platforms - 
providing the license is right :)

Best,

Nick

On 12/16/24 12:55, Thomas Gazagnaire wrote:
> ,Hi Nick,
>
> Not totallu sure if that’s what you are looking for but did you check https://github.com/ocurrent/mirage-ci?
>
> This is used to build and deploy mirageos.org. It’s based on ocurrent/obduilder (with a sandbox mechanism similar to Docker)
>
> We (at Tarides) are also working on a prototype platform to build and deploy unikernels — should be available next year. Let me know if you want to be an early tester.
>
> Best,
> Thomas
>
>> On 16 Dec 2024, at 11:42, Nick Betteridge <lists.nick.betteridge@gmail.com> wrote:
>>
>> Dear All,
>>
>> Does anyone know of any unikernels that can build unikernels for the local platform, using something like ocaml-monorepo and, perhaps, irmin?
>>
>> Hannes has suggested looking at something like ocamlnat [1], which would be one way of tackling the issue, but I was wondering if anyone had considered or implemented any other approaches to solve this  - I would really love to move away from using the relatively bulky Docker infrastructure and associated maintenance.
>>
>> Best wishes,
>>
>> Nick
>>
>> [1] https://github.com/bmeurer/ocamlnat
>>
>>


From mirageos-devel-bounces@lists.xenproject.org Mon Dec 16 14:08:24 2024
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 16 Dec 2024 14:08:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.858102.1270348 (Exim 4.92)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1tNBlj-00071H-5l; Mon, 16 Dec 2024 14:08:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 858102.1270348; Mon, 16 Dec 2024 14:08:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1tNBlj-00071A-2M; Mon, 16 Dec 2024 14:08:19 +0000
Received: by outflank-mailman (input) for mailman id 858102;
 Mon, 16 Dec 2024 14:08:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=k/XQ=TJ=mehnert.org=hannes@srs-se1.protection.inumbo.net>)
 id 1tNBli-000714-8O
 for mirageos-devel@lists.xenproject.org; Mon, 16 Dec 2024 14:08:18 +0000
Received: from mail.mehnert.org (mail.mehnert.org [213.73.89.200])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 308cced7-bbb7-11ef-99a3-01e77a169b0f;
 Mon, 16 Dec 2024 15:08:15 +0100 (CET)
Received: from [192.168.42.80] (i5C74C387.versanet.de [92.116.195.135])
 (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256
 client-signature RSA-PSS (2048 bits) client-digest SHA256)
 (Client CN "hannes@mehnert.org", Issuer "mehnert root CA" (not verified))
 by mail.mehnert.org (Postfix) with ESMTPS id 0521B144D5
 for <mirageos-devel@lists.xenproject.org>;
 Mon, 16 Dec 2024 15:08:13 +0100 (CET)
X-BeenThere: mirageos-devel@lists.xenproject.org
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: mirageos-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "MirageOS-devel" <mirageos-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 308cced7-bbb7-11ef-99a3-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mehnert.org; s=mail;
	t=1734358093; bh=tEucq+KDdxxpvSjQYwwumilPkCs2eDl25FTexmOpUCk=;
	h=Date:Subject:To:References:From:In-Reply-To;
	b=hp1Lckpbnjew0NxWFnXWBw/nrY+5kijWU4MzvDHA3eyHIxjX+pN2rSeGFHqt31tjf
	 CRNmYSJSHh9rR8jl36w6mzgd8UL/MDLkcO76QjBJ4bSzKLwrfrlBNhZiNq6XTCOL3y
	 WqztEE0TMyC3YnksozFwpoeGyUWDWixLpoyh301kJUPjQ75UQIRlq5CLKGN9YGud8s
	 lTAdAFvCZpWhM/3Vg5n6RXM4n43Dp52eWQisPquJKrWd1wS7moHfiRXNCzvSmxoxsw
	 4ogvYeJwJF3W4pkpo1x/hkAB6Yh3jq2cqGD5ewg4HQTHN+fxDa/ptOx3+b0u4uEC0x
	 zWsy0AW3ugOAw==
Message-ID: <8c2697df-19b6-4f29-93bf-51df51117cd3@mehnert.org>
Date: Mon, 16 Dec 2024 15:08:12 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: A unikernel for building unikernels
Content-Language: en-US
To: mirageos-devel@lists.xenproject.org
References: <a1a3e291-982b-4e75-9755-ad4602f74051@gmail.com>
From: Hannes Mehnert <hannes@mehnert.org>
Autocrypt: addr=hannes@mehnert.org; keydata=
 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
In-Reply-To: <a1a3e291-982b-4e75-9755-ad4602f74051@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Dear Nick,

On 16/12/2024 11:42, Nick Betteridge wrote:
> Does anyone know of any unikernels that can build unikernels for the 
> local platform, using something like ocaml-monorepo and, perhaps, irmin?

I'm afraid I'm not aware of such a unikernel - though that'd be great, 
one that is able to compile itself (let's keep the C objects for the 
OCaml runtime as given).

> Hannes has suggested looking at something like ocamlnat [1], which would 

What I meant was not that ocamlnat, but the one provided by the OCaml 
compiler distribution -- on the 4.14 branch the toplevel/native 
directory (https://github.com/ocaml/ocaml/tree/4.14/toplevel/native) -- 
make ocamlnat

> be one way of tackling the issue, but I was wondering if anyone had 
> considered or implemented any other approaches to solve this  - I would 
> really love to move away from using the relatively bulky Docker 
> infrastructure and associated maintenance.

What we use is actually docker (or FreeBSD jails):
- we use the `mirage configure` generated opam file(s) as input (in our 
unikernel-repo https://git.robur.coop/robur/unikernel-repo)
- we then use builder (https://github.com/robur-coop/builder) as a 
client/server architecture to schedule builds from the scheduler 
(server) to the workers (that are polling for builds)
   - here, we once say 'builder-client orb-build hello 
mirage-unikernel-hello-hvt' (where "hello" is the job name, and 
"mirage-unikernel-hello-hvt" the opam name), and then get a daily build 
thereof
   - manually we schedule a build with "builder-client execute hello"
   - the builder-worker is running within a jail/docker container to 
have a think layer of dependencies
- the builder driver is orb (https://github.com/robur-coop/orb) that 
basically uses the opam API to execute the build while preserving 
information required for reproducing the build

Now, another stepping stone is builder-web 
(https://git.robur.coop/robur/builder-web/) where builder uploads the 
builds and we have a nice web interface (https://builds.robur.coop) with 
failed builds (https://builds.robur.coop/failed-builds), some 
visualizations (binary size, dependencies), a database of the builds (we 
can compare builds - i.e. 
https://builds.robur.coop/compare/c43f6d82-9a28-4482-94e9-cf14e50816c0/920b68e8-1ed7-47ee-a5a4-eacef52e1f92 
-- and if you look on the first build, it resulted in a 7.75MB hvt 
image, the second only a 6.97MB -- while the difference is an update of 
charrua that dropped sexplib dependencies), and finally also binary 
package repositories (pkg.robur.coop / apt.robur.coop) for the utilities 
just mentioned: orb. builder, builder-web, (and also albatross, solo5).

So, on our build machines we use these package repositories to "apt 
update && apt upgrade". Bootstrapping may be a bit tedious - that's why 
we provide the binaries for common platforms / OS (if yours is missing, 
don't hesitate to complain).


Back to the 'self-building MirageOS unikernel' - I guess apart from the 
C compiler, and the linking step this could be achieved with a 
reasonable effort.


Hope that helped,

Hannes


From mirageos-devel-bounces@lists.xenproject.org Mon Dec 16 15:31:38 2024
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 16 Dec 2024 15:31:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.858329.1270566 (Exim 4.92)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1tND4B-000737-Ql; Mon, 16 Dec 2024 15:31:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 858329.1270566; Mon, 16 Dec 2024 15:31:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1tND4B-000730-O5; Mon, 16 Dec 2024 15:31:27 +0000
Received: by outflank-mailman (input) for mailman id 858329;
 Mon, 16 Dec 2024 15:31:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3TWp=TJ=gmail.com=lists.nick.betteridge@srs-se1.protection.inumbo.net>)
 id 1tND4A-00072o-Jy
 for mirageos-devel@lists.xenproject.org; Mon, 16 Dec 2024 15:31:26 +0000
Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com
 [2a00:1450:4864:20::436])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cf50f9ce-bbc2-11ef-a0d6-8be0dac302b0;
 Mon, 16 Dec 2024 16:31:25 +0100 (CET)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-3863c36a731so3057486f8f.1
 for <mirageos-devel@lists.xenproject.org>;
 Mon, 16 Dec 2024 07:31:24 -0800 (PST)
Received: from [10.0.0.128] ([84.71.191.161]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-388c80470afsm8574584f8f.75.2024.12.16.07.31.23
 for <mirageos-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 16 Dec 2024 07:31:23 -0800 (PST)
X-BeenThere: mirageos-devel@lists.xenproject.org
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: mirageos-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "MirageOS-devel" <mirageos-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cf50f9ce-bbc2-11ef-a0d6-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1734363084; x=1734967884; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:to:subject:user-agent:mime-version:date:message-id:from
         :to:cc:subject:date:message-id:reply-to;
        bh=KmSv6fL7ohO5E11exNzScoyp7o/0+OfdcIs5XGVyAfw=;
        b=f7H7wrYZmH7M+s2ZBRtnFgrLQi1AwUp7t5/jGqunfkVk/DiQi4HE8EXj8J98wReoK9
         y28o7IEaLjCWYEYWyYwhDKNjmqHlYaovIQmDoJwjWctz/HpRC6CaZcg8FGUKHHoJk36a
         7Ydl1qmYOCLesAFA0k7egxaDB15UHfKdm87Ukubj0gPGDzM99ro/Q4IxB8UYjo0LRXk6
         7PfBjTSTLfrLDNLomB9arKeU/9PQqDRRUaIJlSennzXlO7XTt1n0QhUzq8T8g41UG/Kq
         RmKReVG3P7zEAfvm1vftCiYKwuBPsHcFbGacU0XzGn0RCcEF7XH1/k+1fh/XhZfsU3Id
         Nylg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1734363084; x=1734967884;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:to:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=KmSv6fL7ohO5E11exNzScoyp7o/0+OfdcIs5XGVyAfw=;
        b=qSUvksZLy41VevO1CJuTI1cT38fhmlnGm+VHaWwmazOzr5nGE4ngdhedW9WouOCBue
         CMi5Q5J5FAfgYgoE0wEhTzyXnSIUjLhhWwKv2xWcB+GHLK2hjZ98oRxCCGJCyVTyb/fk
         UJepS0VQhNdT9DwGE3rpc6jykA0bEhBKAyuY08jCtPVBJRkOr++9UQoFYX3Fqo0d83qp
         hUbf1e1YWWbcZOTeam6ZHcuPsENJXDc0+MRSl78/uA3XknZ9ojV55rpDJN/3qOlrJFq7
         xq6Vg6NCEK5DoUbnwGrsy4Mhk/vVOIB9Cuay4FDPqW6EKLCttW9B4GAQpWNbud1hpYqX
         Uosg==
X-Gm-Message-State: AOJu0YxhjDyJDtYXUobZsjBYyvesiF+/y0DxUZdv4n55K62/IfLd4CIh
	7g5E0EoI2pK1zPri/hxDZto9DIY9pnS6xxn/R1EzfOHgr4xi/cQwG3z1Eg==
X-Gm-Gg: ASbGnctWWJhkHuKkITk7WTVZzwhkyA2sCoiqwy3CrNS7PKXcJrz1CO2CsFu1U36/cAA
	2MpaKnGo2xHjsGoDPaeWGzmZ0HyGirKUM0SOdbb7dmwJgwrPS8ePyt7Q/99QHydKnsk1+rqZxkF
	6+Eqhk6c1wIO2ZBGGZwTysyNqHukh6MuOkG1kOnNBZs3aZl1r3q5zsyshXsosQXOSmpUNg6hNa/
	7PzQr53JEEhvKvMdCrg5sG6tP7S59iw1OOZFFQIyRUpEHpzmplreDg94MFDnrBLOCQLI1Tt
X-Google-Smtp-Source: AGHT+IFdjjE2G4X3dMJcU1jWwvfeqRymEW+Ocwt6EXrbW/UD/Jmt1UpGfI0Ty+t1jCyq7HEFSrxGGw==
X-Received: by 2002:a05:6000:2a5:b0:385:f840:e630 with SMTP id ffacd0b85a97d-3888e0b9bc0mr8472065f8f.37.1734363084259;
        Mon, 16 Dec 2024 07:31:24 -0800 (PST)
Message-ID: <9aef160b-ca1f-4e6e-acf7-edf7b45d8085@gmail.com>
Date: Mon, 16 Dec 2024 15:31:23 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: A unikernel for building unikernels
To: mirageos-devel@lists.xenproject.org
References: <a1a3e291-982b-4e75-9755-ad4602f74051@gmail.com>
 <8c2697df-19b6-4f29-93bf-51df51117cd3@mehnert.org>
Content-Language: en-US
From: Nick Betteridge <lists.nick.betteridge@gmail.com>
In-Reply-To: <8c2697df-19b6-4f29-93bf-51df51117cd3@mehnert.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Hannes,

Thanks for your detailed reply - very useful and a great overview of how 
you and Robur handle the compilation chain.

Thanks for the correct ocamlnat link - I should have asked at the time!

I also naively overlooked the issue of the C compiler/linker being 
available in a mirage unikernel.

I'll take a good look at both the ocaml ocamlnat and Robur's platform 
binaries using docker/jails.

I guess the only alternative is to use something like Buildroot + 
ocaml-monorepo and run it virtually with kvm etc.

Anyhow, again, thanks for taking the trouble to give a detailed overview.

Best,

Nick


On 12/16/24 14:08, Hannes Mehnert wrote:
> Dear Nick,
>
> On 16/12/2024 11:42, Nick Betteridge wrote:
>> Does anyone know of any unikernels that can build unikernels for the 
>> local platform, using something like ocaml-monorepo and, perhaps, irmin?
>
> I'm afraid I'm not aware of such a unikernel - though that'd be great, 
> one that is able to compile itself (let's keep the C objects for the 
> OCaml runtime as given).
>
>> Hannes has suggested looking at something like ocamlnat [1], which would 
>
> What I meant was not that ocamlnat, but the one provided by the OCaml 
> compiler distribution -- on the 4.14 branch the toplevel/native 
> directory (https://github.com/ocaml/ocaml/tree/4.14/toplevel/native) 
> -- make ocamlnat
>
>> be one way of tackling the issue, but I was wondering if anyone had 
>> considered or implemented any other approaches to solve this  - I 
>> would really love to move away from using the relatively bulky Docker 
>> infrastructure and associated maintenance.
>
> What we use is actually docker (or FreeBSD jails):
> - we use the `mirage configure` generated opam file(s) as input (in 
> our unikernel-repo https://git.robur.coop/robur/unikernel-repo)
> - we then use builder (https://github.com/robur-coop/builder) as a 
> client/server architecture to schedule builds from the scheduler 
> (server) to the workers (that are polling for builds)
>   - here, we once say 'builder-client orb-build hello 
> mirage-unikernel-hello-hvt' (where "hello" is the job name, and 
> "mirage-unikernel-hello-hvt" the opam name), and then get a daily 
> build thereof
>   - manually we schedule a build with "builder-client execute hello"
>   - the builder-worker is running within a jail/docker container to 
> have a think layer of dependencies
> - the builder driver is orb (https://github.com/robur-coop/orb) that 
> basically uses the opam API to execute the build while preserving 
> information required for reproducing the build
>
> Now, another stepping stone is builder-web 
> (https://git.robur.coop/robur/builder-web/) where builder uploads the 
> builds and we have a nice web interface (https://builds.robur.coop) 
> with failed builds (https://builds.robur.coop/failed-builds), some 
> visualizations (binary size, dependencies), a database of the builds 
> (we can compare builds - i.e. 
> https://builds.robur.coop/compare/c43f6d82-9a28-4482-94e9-cf14e50816c0/920b68e8-1ed7-47ee-a5a4-eacef52e1f92 
> -- and if you look on the first build, it resulted in a 7.75MB hvt 
> image, the second only a 6.97MB -- while the difference is an update 
> of charrua that dropped sexplib dependencies), and finally also binary 
> package repositories (pkg.robur.coop / apt.robur.coop) for the 
> utilities just mentioned: orb. builder, builder-web, (and also 
> albatross, solo5).
>
> So, on our build machines we use these package repositories to "apt 
> update && apt upgrade". Bootstrapping may be a bit tedious - that's 
> why we provide the binaries for common platforms / OS (if yours is 
> missing, don't hesitate to complain).
>
>
> Back to the 'self-building MirageOS unikernel' - I guess apart from 
> the C compiler, and the linking step this could be achieved with a 
> reasonable effort.
>
>
> Hope that helped,
>
> Hannes
>


