Hello seL4 developers,

I want to be able to retrieve data from seL4's virtual Linux machine, in
order to store it in a persistent way. Namely, I want to be able to
simulate a seL4 kernel, boot its Linux virtual machine, compute some hash
digests, and then export those hash digests. These digests are valuable
because they represent the "clean room" runtime-state of the linux machine.
Currently I can export these digests by way of hand-eye coordination, but I
consider this unusable as a piece of software.

To date I've taken two main approaches: CAmkES FileServer or virtual
networking. I'm under the impression that the FileServer changes are not
persistent through reboot, and even if they were, to change the boot image
after compile-time would seem to fly in the face of seL4's principles.
Virtual networking seems to promise I can host my digests on a webpage that
is visible to my "root host" machine; that is, the simulated seL4's linux
instance hosts a site available on my 192.168.x.x network. I know there is
a seL4webserver app as part of the seL4 repositories which claims to do
this, but unfortunately its prose is unhelpful and it doesn't seem to work
even when it compiles and simulates.

I've taken two distinct strategies to investigate the virtual network
approach. First, I tried to get it to work on my normal stack: Windows 10
using WSL2 using a Docker container to simulate the seL4 image. The problem
with this approach is that it appears I'm required to blindly thread 3 or 4
needles all at once, without getting feedback more descriptive than "you
didn't do it." In other words, there does not appear to be a partial
success available, and without ICMP ping, I honestly have no idea how to
debug these "virtual" networks.

Next, I tried simplifying my stack by installing the dependencies natively
on a Debian 10 machine, which should bypass several layers of the virtual
network I was suggesting in my first strategy. Unfortunately, I met with
the same "AttributeError: module 'yaml' has no attribute 'FullLoader'"
error that inspired me to begin using Docker several years ago. Of course I
should note that "pip/pip2/pip3 install pyyaml" all report that pyyaml is
already installed, so I would be in debt to anyone who has an idea about
that error.

To conclude, I find virtual networks opaque, and I would be grateful for
any guidance. If you have a different idea how I might achieve my goal, I
would be similarly effusive in my thanks.

Cheers,
Michael Neises
_______________________________________________
Devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to