Some questions on bare metal readiness

Sid Agrawal siagraw at cs.ubc.ca
Mon Jan 2 23:41:36 CET 2023


Hi Genodians,
I got introduced to Genode as a viable userspace for seL4. But having
looked at the code and the abstraction provided by the "core", I feel like
I do not really case much about whether I am running sel4 under the hood or
not. I plan to use Genode for my research and to that affect, I would like
to understand whether I will be able to boot it on the hardware that is
available to me and what components of the sw stack will work out of the
box.

The things which attract me to Genode the most is the components based
architecture  and the notion of higher level capabilities like: PD, RM etc.

Below, I have listed some of things I am looking for. Followed up by
understanding of the answers to those questions. If Norman or someone else
can clear these up for me, it would be very helpfu.

*I would like your opinion on the best combination of Genode+Kernel+arch,
which would meet the following requirements:*

   - It can be booted on real hardware. FWIW I only have access to the
   following:
      - Intel x86_64-based PC
      - Raspberry Pi 4.
      - Raspberry Pi 3 (can be purchased)
      - The Toradex Aster carrier board with the iMX8X
      - Has some drivers that work on bare metal, with some run examples.
      - Network Driver: I think this exists only for PC,
      - SD card Driver: I think this exists for both PC and rspi3
      - Any other driver will also do, like a USB driver or something.
   - Has a VMM based on VM_Session, which will also boot on real hardware
   - I really liked the vmm_arm(full-fledged) and vmm_x86(toy VM guest)
      examples
   - The hardware can be flashed and booted with new images easily. I am
   thinking tftp, usb
   - Quick dev can be done on Qemu.


*Based on my read of the code, the top three contenders are:*

   - Nova + x86_64:
      - This will probably give me the best driver support. As it is the
      version which ships with sculpt and hence most widely tested.
      - vmm_x86 will give a trivial VMM example
      - VirtualBox will give me a full-fledged VMM example
   - Base-HW: I really the idea of not having a separate microkernel, as
   the base-hw's abstraction seems like the right level to me. So, if I base
   my work off this kernel, that would be best.
      -  ARM_v8
         - Looks like this will boot on rpi3, Is that correct?
         - I am not sure if there will be networking support
      - x86_64
         - I am not sure if this boot on x86
         - Or has the same  driver support for networking

Thanks again.
Sid
Grad Student
University of British Columbia
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.genode.org/pipermail/users/attachments/20230102/4698404f/attachment.htm>


More information about the users mailing list