From mirageos-devel-bounces@lists.xenproject.org Wed Jun 08 06:05:11 2022
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 08 Jun 2022 06:05:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.343692.569129 (Exim 4.92)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1nyooN-0002wB-Rs; Wed, 08 Jun 2022 06:04:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 343692.569129; Wed, 08 Jun 2022 06:04:59 +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 1nyooN-0002w4-Ox; Wed, 08 Jun 2022 06:04:59 +0000
Received: by outflank-mailman (input) for mailman id 343692;
 Wed, 08 Jun 2022 06:04:58 +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=fM5Z=WP=mehnert.org=hannes@srs-se1.protection.inumbo.net>)
 id 1nyooM-0002vy-CH
 for mirageos-devel@lists.xenproject.org; Wed, 08 Jun 2022 06:04:58 +0000
Received: from mail.mehnert.org (mail.mehnert.org [213.73.89.200])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id eaedfb83-e6f0-11ec-b605-df0040e90b76;
 Wed, 08 Jun 2022 08:04:55 +0200 (CEST)
Received: from [192.168.42.80]
 (dslb-188-102-156-145.188.102.pools.vodafone-ip.de [188.102.156.145])
 (using TLSv1 with cipher AES128-SHA (128/128 bits))
 (Client CN "hannes@mehnert.org", Issuer "mehnert root CA" (not verified))
 by mail.mehnert.org (Postfix) with ESMTPS id 0B97E3BF
 for <mirageos-devel@lists.xenproject.org>;
 Wed,  8 Jun 2022 08:04:54 +0200 (CEST)
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: eaedfb83-e6f0-11ec-b605-df0040e90b76
Content-Type: multipart/mixed; boundary="------------BGxTSBSjO8HyVW7c0lthHq9h"
Message-ID: <a71d6d85-4a88-f0b4-412e-e22dc84b8c3a@mehnert.org>
Date: Wed, 8 Jun 2022 08:04:53 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:91.0) Gecko/20100101
 Thunderbird/91.8.0
Subject: Re: no meeting today; but in two weeks
Content-Language: en-US
To: mirageos-devel@lists.xenproject.org
References: <73b5057c-c0ec-7a20-d29f-258ad27526f2@mehnert.org>
 <133723f5-3673-4c7e-d13e-882603834eff@mehnert.org>
From: Hannes Mehnert <hannes@mehnert.org>
In-Reply-To: <133723f5-3673-4c7e-d13e-882603834eff@mehnert.org>

This is a multi-part message in MIME format.
--------------BGxTSBSjO8HyVW7c0lthHq9h
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

sorry I'm not able to make it today. So the next meeting will be in two 
weeks, June 22nd 14:00 CEST (ics attached). I'll write a reminder before 
that takes place.


Best,

Hannes


On 27/05/2022 12:08, Hannes Mehnert wrote:
> The next meeting will be on June 8th at 14:00 CEST (again on 
> https://whereby.com/ocamllabs). The agenda and minutes at 
> https://pad.data.coop/jgZ3NnyETWaaIT-5FM8ceA# (ics attached)
--------------BGxTSBSjO8HyVW7c0lthHq9h
Content-Type: text/calendar; charset=UTF-8; name="2022-06-22-mirage.ics"
Content-Disposition: attachment; filename="2022-06-22-mirage.ics"
Content-Transfer-Encoding: base64

QkVHSU46VkNBTEVOREFSDQpQUk9ESUQ6LS8vTW96aWxsYS5vcmcvTk9OU0dNTCBNb3ppbGxh
IENhbGVuZGFyIFYxLjEvL0VODQpWRVJTSU9OOjIuMA0KQkVHSU46VlRJTUVaT05FDQpUWklE
OkV1cm9wZS9QYXJpcw0KQkVHSU46REFZTElHSFQNClRaT0ZGU0VURlJPTTorMDEwMA0KVFpP
RkZTRVRUTzorMDIwMA0KVFpOQU1FOkNFU1QNCkRUU1RBUlQ6MTk3MDAzMjlUMDIwMDAwDQpS
UlVMRTpGUkVRPVlFQVJMWTtCWURBWT0tMVNVO0JZTU9OVEg9Mw0KRU5EOkRBWUxJR0hUDQpC
RUdJTjpTVEFOREFSRA0KVFpPRkZTRVRGUk9NOiswMjAwDQpUWk9GRlNFVFRPOiswMTAwDQpU
Wk5BTUU6Q0VUDQpEVFNUQVJUOjE5NzAxMDI1VDAzMDAwMA0KUlJVTEU6RlJFUT1ZRUFSTFk7
QllEQVk9LTFTVTtCWU1PTlRIPTEwDQpFTkQ6U1RBTkRBUkQNCkVORDpWVElNRVpPTkUNCkJF
R0lOOlZFVkVOVA0KVUlEOjQzOWU0MDgzLWFiZTMtNDRiZC1iODU2LTJlMmQ5NTIyMTE4Ng0K
RFRTVEFNUDoyMDIyMDYwOFQwNjAzMDhaDQpEVFNUQVJUO1RaSUQ9RXVyb3BlL1BhcmlzOjIw
MjIwNjIyVDE0MDAwMA0KRFRFTkQ7VFpJRD1FdXJvcGUvUGFyaXM6MjAyMjA2MjJUMTUwMDAw
DQpDUkVBVEVEOjIwMjIwNTI3VDEwMDMzMFoNCkxBU1QtTU9ESUZJRUQ6MjAyMjA2MDhUMDYw
MzA4Wg0KU1VNTUFSWTptaXJhZ2VvcyBtZWV0aW5nDQpUUkFOU1A6T1BBUVVFDQpMT0NBVElP
TjpodHRwczovL3doZXJlYnkuY29tL29jYW1sbGFicw0KREVTQ1JJUFRJT047QUxUUkVQPSJk
YXRhOnRleHQvaHRtbCwlM0Nib2R5JTNFaHR0cHM6JTJGJTJGcGFkLmRhdGEuY29vcCUyRmpn
WjNObnlFVFdhYUlULTVGTThjZUElMjMlM0MlMkZib2R5JTNFIjpodHRwczovL3BhZC5kYXRh
LmNvb3AvamdaM05ueUVUV2FhSVQtNUZNOGNlQSMNClNFUVVFTkNFOjENClgtTU9aLUdFTkVS
QVRJT046MQ0KQkVHSU46VkFMQVJNDQpBQ1RJT046RElTUExBWQ0KVFJJR0dFUjtWQUxVRT1E
VVJBVElPTjotUFQ1TQ0KREVTQ1JJUFRJT046RGVmYXVsdCBNb3ppbGxhIERlc2NyaXB0aW9u
DQpFTkQ6VkFMQVJNDQpFTkQ6VkVWRU5UDQpFTkQ6VkNBTEVOREFSDQo=

--------------BGxTSBSjO8HyVW7c0lthHq9h--


From mirageos-devel-bounces@lists.xenproject.org Wed Jun 22 13:23:19 2022
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 22 Jun 2022 13:23:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.353879.580877 (Exim 4.92)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1o40K5-0000Ia-FB; Wed, 22 Jun 2022 13:23:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 353879.580877; Wed, 22 Jun 2022 13:23:09 +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 1o40K5-0000IT-Bv; Wed, 22 Jun 2022 13:23:09 +0000
Received: by outflank-mailman (input) for mailman id 353879;
 Wed, 22 Jun 2022 13:23:07 +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=0bEO=W5=gmail.com=romain.calascibetta@srs-se1.protection.inumbo.net>)
 id 1o40K3-0000IJ-Lz
 for mirageos-devel@lists.xenproject.org; Wed, 22 Jun 2022 13:23:07 +0000
Received: from mail-io1-xd2d.google.com (mail-io1-xd2d.google.com
 [2607:f8b0:4864:20::d2d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 725fd4fe-f22e-11ec-b725-ed86ccbb4733;
 Wed, 22 Jun 2022 15:23:06 +0200 (CEST)
Received: by mail-io1-xd2d.google.com with SMTP id s17so11246185iob.7
 for <mirageos-devel@lists.xenproject.org>;
 Wed, 22 Jun 2022 06:23:04 -0700 (PDT)
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: 725fd4fe-f22e-11ec-b725-ed86ccbb4733
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc;
        bh=PhLlbpkQ4T+lWaLu4R+r9hem3IYO6XyR4/NsJjmreSY=;
        b=SroCDT0VorquT1/fgDtdhpvxljnKMLC67+4tUiUYlxpTjkbgkhmmBR31rnXpdAgIJY
         MhuxbkJqwSbAiFWgiq12u/MxMlT0ZDWzmNpKUF2d/v5HlwfYCCiWZcTtvQmGGRcqMcVI
         d15Ztp1IFbNzqfpsacKOa0nugO/nWfCOh2scIJk/FPZ4iA3aRHfJ1OKxq/u1kyWuqL5O
         PGEl+f1haOu78MWZrruEuH18mzKGfTalu/pqxbQ79Ewpf2qAYCoo1Et/EdK9wDTxdyDo
         Qvrs5uDlUEvXNDOld6CmQDjWjzXS9z4WNSbUXUl072y5jjMGCv9FtXD2PLCih+1OcVTb
         +zAg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc;
        bh=PhLlbpkQ4T+lWaLu4R+r9hem3IYO6XyR4/NsJjmreSY=;
        b=oUD34g6iQMYragCT+vOtIEaXL+6lUVnUiUuPmfJZmvU9u1JtDH/ACyuT+iv+jtuosp
         YF/U21GSmf0E7PIVexGYfoBD83ao5RBisfYTP6E4/xMWQ3CtVCM6miWgg5KXFa/NqmN7
         +ihVpwuY9qCp6zcrXKx+2C8g+HqonLk2nUTyzsYk1xojsYB5rOfr0yU1TMSqfjxRtHnO
         oAgQOddXlUhHpIAXcadraakK1ae1opJPOwECp4x5KpYybed/OsEUEjXv14k7u4tGaM0h
         yjjsGA6f+FoMOD6xyzJHyomJ+S/s6BP7eGkOk9/T/AXk3Ez3KGW5H5F185//FdW6m+Jq
         Oadg==
X-Gm-Message-State: AJIora90YSXfztpzEDHr1387gV093g6opsB6JscQ6Gp85l2E791hko9l
	5wTaShkNwVwtWxtFt1A9c0XsHFA1oocgl249qv/Je5VxFTA=
X-Google-Smtp-Source: AGRyM1ui4xpiVV4xVBREXFAUAXxrLYOJPElMDzEiFsKMJ+YmRfldfB+JcpD7zEYrAkXd8VVIHSpNrWLvUJ6JDBHSj2w=
X-Received: by 2002:a02:caa9:0:b0:339:e1a6:387e with SMTP id
 e9-20020a02caa9000000b00339e1a6387emr705130jap.97.1655904183660; Wed, 22 Jun
 2022 06:23:03 -0700 (PDT)
MIME-Version: 1.0
References: <73b5057c-c0ec-7a20-d29f-258ad27526f2@mehnert.org>
 <133723f5-3673-4c7e-d13e-882603834eff@mehnert.org> <a71d6d85-4a88-f0b4-412e-e22dc84b8c3a@mehnert.org>
In-Reply-To: <a71d6d85-4a88-f0b4-412e-e22dc84b8c3a@mehnert.org>
From: Romain Calascibetta <romain.calascibetta@gmail.com>
Date: Wed, 22 Jun 2022 15:22:52 +0200
Message-ID: <CAOc4sy89hHXnjD1L=zDJ2x_2AGLO3vNSgOKDQ983t2b5dKumjw@mail.gmail.com>
Subject: Re: no meeting today; but in two weeks
To: Hannes Mehnert <hannes@mehnert.org>
Cc: mirageos-devel@lists.xenproject.org
Content-Type: multipart/alternative; boundary="000000000000a636f605e2093c6f"

--000000000000a636f605e2093c6f
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi, this is what we said at the meeting (2022-06-22) and we scheduled
another meeting in 2 weeks (2022-07-06 14:00 - 15:00 (CEST)). Thanks for
your participation.
Sorry for my english and if I missed something, please tell us through this
email :) ! Enjoy.

PS: I will let Hannes send another email to schedule the next meeting.

# Mirage 2022-06-22

## Presentation round

reynir: I'm in robur :)

pierre: I'm Pierre, CS teacher (in France, Bretagne), I recently joined
MirageOS. I want to use it and teach new things to my students.

thomas: continue to work on eio and OCaml 5 stuff. I plugged eio into lwt
and async. It should be possible to plug into MirageOS

timada: from Japan, working on Solo5 and microcontrollers, I finished
implementing 40% percent of tenders. I look into details.

## What is going on about mirage

romain: Hannes did a PR about reproducible builds and added few
meta-informations into the generated OPAM files to let `orb` to build
unikernels: https://github.com/mirage/mirage/pull/1335
Some works was done about `ocaml-solo5` (thx to Pierre and Hannes) to
provides some metrics about allocations on the C heap (with `dlmalloc`):
https://github.com/mirage/ocaml-solo5/pull/120
A release of `ocaml-solo5` was done and a pending PR exists about
`mirage-xen` to be able to get these informations:
https://github.com/mirage/mirage-xen/pull/48
All of that is related to some issues found about `qubes-firewall` and
Solo5, you can see the CHANGES.md of Solo5 here:
https://github.com/Solo5/solo5/pull/518
Waiting to merge the reproducible build PR on MirageOS 4 and be able to:
1) do a release of `mirage-xen` (which includes allocation metrics)
2) do a release of `mirage` with right bounds about
`mirage-xen`/`ocaml-solo5` (because the API was updated)

This release will be done probably in a few weeks.

## Job rounds

### Pierre round

pierre: question about memory consumption and mirage-xen PR (
https://github.com/mirage/mirage-xen/pull/48) should we merge what we did
on `mirage-xen` into `mirage-solo5` (because they use the same things, eg.
solo5)
romain: for me it's good to do
pierre:I did an unikernel which implements a NAT router into the Tor
network, https://github.com/palainp/torrefacteur
thomas: it's like an unix gateway?
pierre: I would like to replace the unix gateway by a VM, so yes be able to
route some traffic on default gateway and route some traffic on tor
thomas: will be a useful unikernel
reynir: Hannes made a PR (https://github.com/mirage/ocaml-conduit/pull/414)
into conduit which should fix the issue about the Tor unikernel
pierre: I saw the fix but I'm not sure how to use this fix. I think I need
to work on something on what Hannes wrote on this PR
pierre: I also have a question. I wrote a code to work with ESP32 to be
able to use it as a wifi card with the PPP protocol. Then, I can use this
controller to process the wifi. I have a question about Gilbraltar (RPi4)
which does not yet have a network. PPP interesting?
timada: if you want to use TCP/IP with MirageOS on a micro-controller, you
need to have both a TCP/IP handling layer on MirageOS and also basically a
packet transmitting/receiving layer which is provided on the C layer. For
instance, the packet transmitting/receiving layer is implemented by the
Linux operating system for unix, seccomp. For a microcontroller, you must
have something which handles that.
romain: for RPi4, the difficulty is about the Ethernet driver which is
missing from Gilbraltar. But if someone wants to implement the Ethernet
driver, it's just a matter of plugging `mirage-tcpip` then and you have a
full network stack. More concretely, you need to deal with *mbox* and
interrupts to be able to implement the ethernet driver, a PR exists on
Gilbraltar which handles interrupts from the CPU to the OCaml side (
https://github.com/dinosaure/gilbraltar/pull/19). From it, you should be
able to implement an Ethernet driver in OCaml may be (with few C codes)
timada: https://mcuxpresso.nxp.com/api_doc/dev/329/group__lpc__enet.html
this is an ethernet driver target to bare-metal and it does not depends to
highly complexe Linux things, it can be interesting. I think it's difficult
to port the ethernet driver from Linux to bare-metal.
romain: Yeah. the ethernet driver for RPi4 provided by Linux is too complex
for us and require too many things but I found a bare-metal ethernet driver
too in C++ (https://github.com/rsta2/circle/blob/master/lib/bcm54213.cpp)
(BCM54213PE PHY). From a quick look, it should not be super difficult to
implement it.
timada: if we use a small microcontroller, in many cases the
microcontroller provides something for ethernet/wifi. And you probably can
use them. Like ESP32 provides that.

### Romain

romain: try to implement a peer-to-peer file-transfer with a simple tool
and a unikernel as a relay. Implement the protocol with SPAKE2+EE (
https://github.com/dinosaure/spoke) and the tool (
https://github.com/dinosaure/bob)

# Thomas

thomas: Look into the eio supports on MirageOS 4, I would like to upgrade
mirage-skeleton with eio. Be able to use the direct-style on some of them.

# Reynir

reynir: Caldav code, otherwise I work on builder/reproducible build
romain: maybe you can talk about caldav
reynir: It's an unikernel which implements a CalDAV server with the CalDAV
protocol. Git is used as the store. You can create users and multiple
calendars.
romain: we currently use it (4 peoples) to find some bugs by usage and
improve it.

# Timada

timada: Solo5 on microcontrollers, I also need to understand the muen
Solo5. Especially the muen framework. The new building framework is
different from the previous one. Look into `ocaml-solo5`, `solo5`
romain: yeah the new layout of Solo5 is about _toolchains_. Solo5 provides
a new toolchain (like `cc`, `ld` and `objcopy`) which is a wrapper with a
compiler (like `gcc` or `clang`) or a cross-compiler (like `aarch64-gcc`).
Then, `ocaml-solo5` uses this C toolchain to compile the _caml runtime_ and
provide a new OCaml _toolchain_. At the end, for the mirage tool and
depending on what the user wants, we choose the right OCaml _toolchain_.
timada: What about `opam monorepo`?
romain: Yeah, it's mostly about (transitive?) dependencies which include C
stubs. We must compile them with certain flags (like `-ffreestanding` or
`-nostdlib`). These flags will be provided by the OCaml toolchain which use
the correct C toolchain (the `cc`/`ld`/`objcopy` provided by Solo5 first).
By this way, we compile everything needed by the unikernel into a coherent
`dune`'s context.
timada: I'm currently testing my test compilation with a very simple
Makefile. It does not care about `opam-monorepo`. I will look into that.

Le mer. 8 juin 2022 =C3=A0 08:05, Hannes Mehnert <hannes@mehnert.org> a =C3=
=A9crit :

> Hi,
>
> sorry I'm not able to make it today. So the next meeting will be in two
> weeks, June 22nd 14:00 CEST (ics attached). I'll write a reminder before
> that takes place.
>
>
> Best,
>
> Hannes
>
>
> On 27/05/2022 12:08, Hannes Mehnert wrote:
> > The next meeting will be on June 8th at 14:00 CEST (again on
> > https://whereby.com/ocamllabs). The agenda and minutes at
> > https://pad.data.coop/jgZ3NnyETWaaIT-5FM8ceA# (ics attached)



--=20
Romain Calascibetta - http://din.osau.re/

--000000000000a636f605e2093c6f
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>Hi, this is what we said at the meeting (2022-06-22) =
and we scheduled another meeting in 2 weeks (2022-07-06 14:00 - 15:00 (CEST=
)). Thanks for your participation.</div><div>Sorry for my english and if I =
missed something, please tell us through this email :) ! Enjoy.</div><div><=
br></div><div>PS: I will let Hannes send another email to schedule the next=
 meeting.<br></div><div><br></div><div># Mirage 2022-06-22<br><br>## Presen=
tation round<br><br>reynir: I&#39;m in robur :)<br><br>pierre: I&#39;m Pier=
re, CS teacher (in France, Bretagne), I recently joined MirageOS. I want to=
 use it and teach new things to my students.<br><br>thomas: continue to wor=
k on eio and OCaml 5 stuff. I plugged eio into lwt and async. It should be =
possible to plug into MirageOS<br><br>timada: from Japan, working on Solo5 =
and microcontrollers, I finished implementing 40% percent of tenders. I loo=
k into details.<br><br>## What is going on about mirage<br><br>romain: Hann=
es did a PR about reproducible builds and added few meta-informations into =
the generated OPAM files to let `orb` to build unikernels: <a href=3D"https=
://github.com/mirage/mirage/pull/1335">https://github.com/mirage/mirage/pul=
l/1335</a><br>Some works was done about `ocaml-solo5` (thx to Pierre and Ha=
nnes) to provides some metrics about allocations on the C heap (with `dlmal=
loc`): <a href=3D"https://github.com/mirage/ocaml-solo5/pull/120">https://g=
ithub.com/mirage/ocaml-solo5/pull/120</a><br>A release of `ocaml-solo5` was=
 done and a pending PR exists about `mirage-xen` to be able to get these in=
formations: <a href=3D"https://github.com/mirage/mirage-xen/pull/48">https:=
//github.com/mirage/mirage-xen/pull/48</a><br>All of that is related to som=
e issues found about `qubes-firewall` and Solo5, you can see the CHANGES.md=
 of Solo5 here: <a href=3D"https://github.com/Solo5/solo5/pull/518">https:/=
/github.com/Solo5/solo5/pull/518</a><br>Waiting to merge the reproducible b=
uild PR on MirageOS 4 and be able to:<br>1) do a release of `mirage-xen` (w=
hich includes allocation metrics)<br>2) do a release of `mirage` with right=
 bounds about `mirage-xen`/`ocaml-solo5` (because the API was updated)<br><=
br>This release will be done probably in a few weeks.<br></div><div><br></d=
iv><div>## Job rounds<br></div><div><br>### Pierre round<br><br>pierre: que=
stion about memory consumption and mirage-xen PR (<a href=3D"https://github=
.com/mirage/mirage-xen/pull/48">https://github.com/mirage/mirage-xen/pull/4=
8</a>) should we merge what we did on `mirage-xen` into `mirage-solo5` (bec=
ause they use the same things, eg. solo5)<br>romain: for me it&#39;s good t=
o do<br>pierre:I did an unikernel which implements a NAT router into the To=
r network, <a href=3D"https://github.com/palainp/torrefacteur">https://gith=
ub.com/palainp/torrefacteur</a><br>thomas: it&#39;s like an unix gateway?<b=
r>pierre: I would like to replace the unix gateway by a VM, so yes be able =
to route some traffic on default gateway and route some traffic on tor<br>t=
homas: will be a useful unikernel<br>reynir: Hannes made a PR (<a href=3D"h=
ttps://github.com/mirage/ocaml-conduit/pull/414">https://github.com/mirage/=
ocaml-conduit/pull/414</a>) into conduit which should fix the issue about t=
he Tor unikernel<br>pierre: I saw the fix but I&#39;m not sure how to use t=
his fix. I think I need to work on something on what Hannes wrote on this P=
R<br>pierre: I also have a question. I wrote a code to work with ESP32 to b=
e able to use it as a wifi card with the PPP protocol. Then, I can use this=
 controller to process the wifi. I have a question about Gilbraltar (RPi4) =
which does not yet have a network. PPP interesting?<br>timada: if you want =
to use TCP/IP with MirageOS on a micro-controller, you need to have both a =
TCP/IP handling layer on MirageOS and also basically a packet transmitting/=
receiving layer which is provided on the C layer. For instance, the packet =
transmitting/receiving layer is implemented by the Linux operating system f=
or unix, seccomp. For a microcontroller, you must have something which hand=
les that.<br>romain: for RPi4, the difficulty is about the Ethernet driver =
which is missing from Gilbraltar. But if someone wants to implement the Eth=
ernet driver, it&#39;s just a matter of plugging `mirage-tcpip` then and yo=
u have a full network stack. More concretely, you need to deal with *mbox* =
and interrupts to be able to implement the ethernet driver, a PR exists on =
Gilbraltar which handles interrupts from the CPU to the OCaml side (<a href=
=3D"https://github.com/dinosaure/gilbraltar/pull/19">https://github.com/din=
osaure/gilbraltar/pull/19</a>). From it, you should be able to implement an=
 Ethernet driver in OCaml may be (with few C codes)<br>timada: <a href=3D"h=
ttps://mcuxpresso.nxp.com/api_doc/dev/329/group__lpc__enet.html">https://mc=
uxpresso.nxp.com/api_doc/dev/329/group__lpc__enet.html</a> this is an ether=
net driver target to bare-metal and it does not depends to highly complexe =
Linux things, it can be interesting. I think it&#39;s difficult to port the=
 ethernet driver from Linux to bare-metal.<br>romain: Yeah. the ethernet dr=
iver for RPi4 provided by Linux is too complex for us and require too many =
things but I found a bare-metal ethernet driver too in C++ (<a href=3D"http=
s://github.com/rsta2/circle/blob/master/lib/bcm54213.cpp">https://github.co=
m/rsta2/circle/blob/master/lib/bcm54213.cpp</a>) (BCM54213PE PHY). From a q=
uick look, it should not be super difficult to implement it.<br>timada: if =
we use a small microcontroller, in many cases the microcontroller provides =
something for ethernet/wifi. And you probably can use them. Like ESP32 prov=
ides that.<br><br>### Romain<br><br>romain: try to implement a peer-to-peer=
 file-transfer with a simple tool and a unikernel as a relay. Implement the=
 protocol with SPAKE2+EE (<a href=3D"https://github.com/dinosaure/spoke">ht=
tps://github.com/dinosaure/spoke</a>) and the tool (<a href=3D"https://gith=
ub.com/dinosaure/bob">https://github.com/dinosaure/bob</a>)<br><br># Thomas=
<br><br>thomas: Look into the eio supports on MirageOS 4, I would like to u=
pgrade mirage-skeleton with eio. Be able to use the direct-style on some of=
 them.<br><br># Reynir<br><br>reynir: Caldav code, otherwise I work on buil=
der/reproducible build<br>romain: maybe you can talk about caldav<br>reynir=
: It&#39;s an unikernel which implements a CalDAV server with the CalDAV pr=
otocol. Git is used as the store. You can create users and multiple calenda=
rs.<br>romain: we currently use it (4 peoples) to find some bugs by usage a=
nd improve it.<br><br># Timada<br><br>timada: Solo5 on microcontrollers, I =
also need to understand the muen Solo5. Especially the muen framework. The =
new building framework is different from the previous one. Look into `ocaml=
-solo5`, `solo5`<br>romain: yeah the new layout of Solo5 is about _toolchai=
ns_. Solo5 provides a new toolchain (like `cc`, `ld` and `objcopy`) which i=
s a wrapper with a compiler (like `gcc` or `clang`) or a cross-compiler (li=
ke `aarch64-gcc`). Then, `ocaml-solo5` uses this C toolchain to compile the=
 _caml runtime_ and provide a new OCaml _toolchain_. At the end, for the mi=
rage tool and depending on what the user wants, we choose the right OCaml _=
toolchain_.<br>timada: What about `opam monorepo`?<br>romain: Yeah, it&#39;=
s mostly about (transitive?) dependencies which include C stubs. We must co=
mpile them with certain flags (like `-ffreestanding` or `-nostdlib`). These=
 flags will be provided by the OCaml toolchain which use the correct C tool=
chain (the `cc`/`ld`/`objcopy` provided by Solo5 first). By this way, we co=
mpile everything needed by the unikernel into a coherent `dune`&#39;s conte=
xt.<br>timada: I&#39;m currently testing my test compilation with a very si=
mple Makefile. It does not care about `opam-monorepo`. I will look into tha=
t.</div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmai=
l_attr">Le=C2=A0mer. 8 juin 2022 =C3=A0=C2=A008:05, Hannes Mehnert &lt;<a h=
ref=3D"mailto:hannes@mehnert.org">hannes@mehnert.org</a>&gt; a =C3=A9crit=
=C2=A0:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px =
0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
<br>
sorry I&#39;m not able to make it today. So the next meeting will be in two=
 <br>
weeks, June 22nd 14:00 CEST (ics attached). I&#39;ll write a reminder befor=
e <br>
that takes place.<br>
<br>
<br>
Best,<br>
<br>
Hannes<br>
<br>
<br>
On 27/05/2022 12:08, Hannes Mehnert wrote:<br>
&gt; The next meeting will be on June 8th at 14:00 CEST (again on <br>
&gt; <a href=3D"https://whereby.com/ocamllabs" rel=3D"noreferrer" target=3D=
"_blank">https://whereby.com/ocamllabs</a>). The agenda and minutes at <br>
&gt; <a href=3D"https://pad.data.coop/jgZ3NnyETWaaIT-5FM8ceA#" rel=3D"noref=
errer" target=3D"_blank">https://pad.data.coop/jgZ3NnyETWaaIT-5FM8ceA#</a> =
(ics attached)</blockquote></div><br clear=3D"all"><br>-- <br><div dir=3D"l=
tr" class=3D"gmail_signature">Romain Calascibetta - <a href=3D"http://din.o=
sau.re/" target=3D"_blank">http://din.osau.re/</a></div>

--000000000000a636f605e2093c6f--


