

Enabling KVM Virtualization for Raspberry Pi 2 - sergiolp
http://blog.flexvdi.es/?p=139

======
graystevens
Google cached copy
[http://webcache.googleusercontent.com/search?q=cache:ZE1-Hy1...](http://webcache.googleusercontent.com/search?q=cache:ZE1-Hy148zEJ:blog.flexvm.es/%3Fp%3D167+&cd=4&hl=en&ct=clnk&gl=uk)

~~~
nodata
text version:
[http://webcache.googleusercontent.com/search?q=cache:ZE1-Hy1...](http://webcache.googleusercontent.com/search?q=cache:ZE1-Hy148zEJ:blog.flexvm.es/%3Fp%3D167&hl=en&gl=uk&strip=1)

------
voltagex_
Code is at [https://github.com/slp/rpi2-hyp-
boot](https://github.com/slp/rpi2-hyp-boot)

------
fulafel
So is the interrupt thing a real HW bug in the RPi CPU or might this be
solvable with some setup magic on the VC black box side? And why does
isolating one core on the host side suffice, without restricting which cores
the guest can run on? He's running the guest SMP enabled in the example
posted.

~~~
AlyssaRowan
Hmm. Could be the mailbox communication for VPU<->CPU communication timing
out? BCM should be able to repro and fix that. They could also be able to make
enabling HYP mode less of a hack.

As for the lack of an accessible GIC, the VPU runs ThreadX, which has a
software timer infrastructure: no reason I can see they couldn't expose those
if they wanted.

------
mkoryak
Last line of the article is "And that’s it, now you can extract the full
potential of your Raspberry Pi 2!"

Can someone explain this to me? I know almost nothing about virtualization,
but isn't it be definition slower than straight up OS install?

~~~
sergiolp
Of course, a virtualized Guest will have a performance penalty.

With that phrase I meant that, following this guide, you can make use of the
Virtualization Extensions from the Cortex-A7 which powers the Raspberry Pi 2.

This is pretty useful for running multiple isolated services (such as a media
server and an ownCloud instance), doing some kernel hacking, or testing a
variety of ARMv7 distributions.

------
teekert
Noob questions: Can I run Windows like this? Does it enable Qemu support? Can
a non ARM OS be emulated in ARM hardware? (Probably not by hardware
extensions, right?)

~~~
omh
This virtualisation is just for running ARM guests, so you can't run Windows.

There will apparently be an ARM version of Windows 10 for the pi, but that's a
cut down version for internet of things type apps.

You can emulate x86 on ARM with something like QEMU. But the performance
wouldn't be good enough for any modern OS.

------
wukoje
Why not just use containerization instead? it is the best fit for a RB pi in
any aspect. Almost no performance penalty and incredible use cases. Imagine
having a fast bare OS on it and deploying remotely containers trough tutum web
interface. IoT start to make sense now? :)

~~~
simcop2387
This ends up really useful if you want to run a different operating system at
the same time. It might make it possible to run Windows RT and Linux at the
same time on the RPi2 (or as the author is wanting, NetBSD and Linux). This is
something that cannot be done by a container system. For practical setups
though, you are correct you'll get a better experience with the lower overhead
of a container system and likely better support. Being able to work around the
hardware issue on the RPi2 though to enable this is something I didn't think
was really doable. Congrats to the author, this is a really great development.

~~~
tmzt
Would be pretty cool to have colinux on WinRT if you wanted to go the other
way.

There were also some demos of Android and Windows CE running on the same
hardware before ARM had intentional hardware virtualization support.

------
sciurus
Great hack, but I'm disappointed that it's this complicated.

------
kogepathic
Does anyone have a mirror? I think we DDoS'd OP's site.

~~~
sergiolp
Sorry, we've underestimated the attention this post was going to get. We've
just assigned more resources to that machine.

Let's hope that'll be enough to bear with the warm, warm hug of Hacker News
;-)

------
ipedrazas
Is this blog running on a Raspberry???

------
dijit
it's dead jim.

