Hello Hugo

There's a couple of things that could change from virtualising Linux to another kernel/OS.

The first goal would probably just to get the kernel booting, and for that you would want to know the conditions Hermit needs to be in before it can boot (e.g where in RAM it needs to be placed, does it expect any other artefacts such as a DTB or initrd to be placed in certain areas). Another point is that Linux expects its TCB to be setup with certain registers set to particular values before booting. For the specific conditions I believe Linux documents them (e.g https://www.kernel.org/doc/Documentation/arm64/booting.rst for ARM64).

If the conditions are different to Linux you would need to change the CAmkES VMM source code yourself. Looking at what the Hermit loader does might be a good first step.

At Trustworthy Systems we are using libvmm (https://github.com/au-ts/libvmm) and for fun I thought I'd try to get Hermit virtualised using it but I got stuck pretty quickly because I could not build Hermit, see https://github.com/hermit-os/hermit-rs-template/issues/51. In libvmm you can see what it's doing to setup Linux here https://github.com/au-ts/libvmm/blob/main/src/arch/aarch64/linux.c and here https://github.com/au-ts/libvmm/blob/main/src/guest.c#L6.

Thanks,
Ivan

On 17/12/23 23:50, Hugo V.C. wrote:
[Some people who received this message don't often get email from 
skydive...@gmail.com. Learn why this is important at 
https://aka.ms/LearnAboutSenderIdentification ]

Hi all,

I'm wondering if someone could forward me to the path I must follow to
achieve booting a Hermit unikernel (https://github.com/hermit-os/hermit-rs)
via CAmkES VMM. I know CAmkES VMM are "virtualised Linux guests on seL4 for
ARM and x86 platforms" but I think that being able to boot a Rust based
unikernel opens the door to a fascinating World... (no more dependency on
"fat/buggy" Linux kernel).

Any help where I need to start? Does it require to modify CAmkES VMM to add
such functionality?

Best,
_______________________________________________
Devel mailing list -- devel@sel4.systems
To unsubscribe send an email to devel-leave@sel4.systems
_______________________________________________
Devel mailing list -- devel@sel4.systems
To unsubscribe send an email to devel-leave@sel4.systems

Reply via email to