Hello L4 hackers,

I'm currently evaluating whether we can use Fiasco/L4Re for some of our future 
projects
and ran into some problems/questions that you might help me out with.
The general idea is to isolate multiple Linux VMs running Debian/Ubuntu 
(unmodified kernel) on x86/amd64 hardware with L4Re.

I already did most of the tutorials on the kernkonzept/manifest github wiki. 
(https://github.com/kernkonzept/manifest/wiki)
There were some issues with the hardware I'm using, since it maps its BIOS to 
an address that L4 likes to use for page tables. (at least on amd64, x86 did 
work out of the box)
I fixed it by adjusting the base address in the linker script. (Hopefully, this 
should not have any bad side effects on L4.)

First question:
In the VM tutorials, I always see the use of kernel image + cpio ramdisk in the 
startup code. Is this also applicable if I want to use a full-fledged 
Debian/Ubuntu installation?
The guest system should also be able to modify the installation. (i. e. run 
apt-get upgrade etc.)

Second question:
The general architecture for the VM scenario seems to be Fiasco/L4 -> uvmm -> 
Linux VMs.
Is it also possible to use L4Linux as Host for the Linux VMs?
My assumption would be, that it might be easier to use the Linux VMs from Linux 
instead of uvmm. (maybe with kvm/libvirt support?)
Especially when it comes to passing the hardware to the VMs.

Third question:
This is a direct follow up from the last point. Passing the HW is the hard part 
for me.
I'm not that familiar with device tree files yet and as far as I know x86/amd64 
usually does not use device tree because it can auto-detect via PCI/ACPI.
But it looks like uvmm/io does require device tree to pass the HW to the VMs 
even though L4 itself is detecting it via PCI/ACPI.
Maybe I can pass the whole PCI bus, but then I would like to isolate at least 
some parts.
For example VM 1 should only get one port of the network adapter and VM 2 
should get another one. (exclusively)
And while both VMs should be able to read the RTC, they should not be able to 
modify it. (or maybe only one of them)
I know, it's not really a question, but maybe you can give me some advice on 
how best to approach this on x86/amd64 hardware.

Fourth question:
Does Fiasco/L4 support SR-IOV?
I checked the code + commits and there seems to be some development in the last 
year, but not sure how "mature" it is.

That's all for now, thanks for reading and I hope the questions are not too 
embarrassing/annoying. :)

Best regards,

Andreas Hübner
Software Developer
Business Fullfillment | Research & Development 
 
aconnic group 
OFFICE: 01157 Dresden, Am Lehmberg 54, GERMANY
 
Phone                +49 3722 7351-1010 
E-Mail                 [email protected] 
Web                    www.aconnic.com
 
Court Munich Registration HRB 292019 
Chairman of the Supervisory Board: Dr. Stefan Hagemann 
Executive Board: Werner Neubauer, Markus Königshofer 
 
aconnic AG (Munich), aconnic system Germany GmbH (Hartmannsdorf), aconnic 
service GmbH (Kornwestheim), aconnic sistemas de telecomunicaciones S.A. de 
C.V. (Mexico City), aconnic system Switzerland AG (Zurich), aconnic engineering 
AG (Zurich), aconnic carbonzero GmbH (Starnberg) are direct affiliates of the 
aconnic group. 
 
We refer to our data protection rules at: https://www.aconnic.com/privacy/ 
_______________________________________________
l4-hackers mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to