[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MirageOS-devel] Why does mirage target Xen primarily but not KVM?

On 8 Jan 2015, at 10:04, Dave Scott <Dave.Scott@xxxxxxxxxx> wrote:
>> On 8 Jan 2015, at 02:03, crocket <crockabiscuit@xxxxxxxxx> wrote:
>> I'm just curious.
>> Mirage, https://github.com/GaloisInc/HaLVM, and erlang on Xen all
>> target Xen but not KVM.
> Someone who was sufficiently interested could make Mirage target KVM.
> They would need to
> - figure out booting: legacy BIOS bootloader? or perhaps EFI?
> - write VirtIO block and network drivers
> I donât think it would be especially difficult. [ If you or anyone else
> wants to give it a go, thatâd be great ]
>> What makes Xen the primary build target for unikernels?
> IMHO there are probably 2 reasons:
> 1. Xen provides a low barrier to entry: Xen can run guests in PV mode,
>   which avoids dealing with BIOSes/ bootloaders/ 16-bit real mode etc.
>   The Xen distribution contains a tiny example OS kernel called âmini-osâ
>   partly to make it easy to port existing OSes to Xen. Mirage and other
>   unikernels can link with this code directly.
> 2. the resulting unikernels can be run in places like AWS and Rackspace

It's also worth noting that the early versions of Mirage and HalVM predate
KVM (starting in around 2006), and were motivated by the driver domain
support in Xen that doesn't really exist in the type 2 hypervisors.

As Dave notes, there's nothing blocking KVM support these days except for
the lack of a contributor that's sufficiently interested in writing the
boot and VirtIO code.

MirageOS-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.