anuppatel
Posts: 20
Joined: Wed May 16, 2012 4:23 am

Xvisor ARM hypervisor ported to Raspberry Pi

Sun May 26, 2013 1:02 pm

Hi All,

Xvisor ARM brings virtualization to Raspberry Pi.

We have ported Xvisor ARM to Raspberry Pi and we are able to boot multiple unmodified Linux Guest instances on Raspberry Pi board.

Xvisor® is an open-source type-1 hypervisor, which aims at providing a monolithic, light-weight, portable, and flexible virtualization solution. It provides a high performance and low memory foot print virtualization solution for ARMv5, ARMv6, ARMv7a, x86_64, and other CPU architectures.
(For more info Xvisor visit http://xhypervisor.org/)

Xvisor is a young hypervisor (just 3 years old) and it is totally community based open source hypervisor. We welcome all enthusiastic developers to come and be part of Xvisor developer community.
(For more info on Xvisor community visit http://xhypervisor.org/index.php?page=community)

To quickly try out Xvisor ARM on Raspberry Pi, you can download my images from: https://docs.google.com/file/d/0B0ABS_s ... sp=sharing

The above link points to a TAR ball containing images for one Linux Guest instance on Raspberry Pi.

You will find README upon decompressing the TAR ball, which will help you in trying Xvisor ARM on Raspberry Pi board or QEMU Raspberry Pi.

Once you have successfully booted Linux Guest on Xvisor ARM, you can try out few benchmarks which I have provided in Linux Guest root filesystem. This will help you evaluate Xvisor Guest performance compared to Native Linux.

Best Regards,
Anup Patel

Heater
Posts: 13907
Joined: Tue Jul 17, 2012 3:02 pm

Re: Xvisor ARM hypervisor ported to Raspberry Pi

Sun May 26, 2013 8:10 pm

This all sounds quite amazing. Might take me a while to absorb what is going on.

Are you saying I can boot a second Raspian inside Raspian as I might Raspian inside Qemu on a PC?
Or perhaps run Arch inside Raspian?
And so on.

If so, that is a pretty mind bending accomplishment.

Question is, what might anyone do with this in practice?
Last edited by Heater on Mon May 27, 2013 5:26 am, edited 1 time in total.
Memory in C++ is a leaky abstraction .

ghans
Posts: 7878
Joined: Mon Dec 12, 2011 8:30 pm
Location: Germany

Re: Xvisor ARM hypervisor ported to Raspberry Pi

Sun May 26, 2013 8:44 pm

Yo dawg ....

Well , it's been some time since i've shouted some first time
poster down who wanted to run a x86 hypervisor on the Pi
(albeit a closed-source one).
Never thought that people would build such things for ARM , but
we're here for learning , aren't we ?


ghans
• Don't like the board ? Missing features ? Change to the prosilver theme ! You can find it in your settings.
• Don't like to search the forum BEFORE posting 'cos it's useless ? Try googling : yoursearchtermshere site:raspberrypi.org

anuppatel
Posts: 20
Joined: Wed May 16, 2012 4:23 am

Re: Xvisor ARM hypervisor ported to Raspberry Pi

Mon May 27, 2013 2:05 am

Are you saying I can boot a second Raspian inside Raspian as I might Raspian inside Qemu on a PC?
Or perhaps run Arch inside Raspian?
And so on.
No, we cannot boot Raspian inside Raspian. Currently, what we have achieved is to boot Realview-EB-MPCore Guest inside Raspian.

Currently, we emulate Realview-EB-MPCore Guest for ARMv6 boards (such as Raspberry Pi).

This does not mean we cannot emulate any other type of Guest for ARMv6 boards. We just need to add board/soc peripheral emulators in Xvisor ARM to emulate different type of Guest.
Question is, what might anyone do with this in practice?
Some of the potential applications could be:
1. low-cost private cloud of Raspians
2. embedded virtualization (i.e. proprietary RTOS as one guest and managment OS Linux as another guest. The RTOS will have higher priority over managment OS)
3. low-cost platform for virtualization research (since Raspberry Pi is very affordable)
4. ....

The above is the applications that I can think of for now but there could be more applications.

Regards,
Anup
Last edited by anuppatel on Mon May 27, 2013 6:25 am, edited 1 time in total.

User avatar
solar3000
Posts: 1051
Joined: Sat May 18, 2013 12:14 am

Re: Xvisor ARM hypervisor ported to Raspberry Pi

Mon May 27, 2013 3:50 am

What?
Maybe in Raspberry Pi 2 when the processor gets a boost.
My GUI is slow enough.
My remote ssh session is also slow enough.
Antikythera

Heater
Posts: 13907
Joined: Tue Jul 17, 2012 3:02 pm

Re: Xvisor ARM hypervisor ported to Raspberry Pi

Mon May 27, 2013 5:32 am

OK, so what is "Realview-EB-MPCore"? Google is not helping me much, linking back Xvisor or Qemu where I don't find out.

What can we run on top of Realview-EB-MPCore if not Raspian?

Wait...I'll try out your demo:)
Memory in C++ is a leaky abstraction .

anuppatel
Posts: 20
Joined: Wed May 16, 2012 4:23 am

Re: Xvisor ARM hypervisor ported to Raspberry Pi

Mon May 27, 2013 6:33 am

Realview-EB-MPCore is a emulation baseboard provided by ARM Ltd. for their ARM11 processor. Basically, its a FPGA board for ARM11 processor. QEMU is also capable of emulating Realview-EB-MPCore.

You can find its spec at http://infocenter.arm.com/help/index.js ... index.html

Regards,
Anup

Miknantes
Posts: 1
Joined: Thu Feb 05, 2015 10:51 am

Re: Xvisor ARM hypervisor ported to Raspberry Pi

Thu Feb 05, 2015 11:49 am

Hi,
2. embedded virtualization (i.e. proprietary RTOS as one guest and managment OS Linux as another guest. The RTOS will have higher priority over managment OS)
You said that XVisor can be used to virtualize a RTOS.
  • Is XVisor Real Time compliant? (it should be a run a RTOS…)
  • What are its scheduler policies?
Best regards,
Mik

anuppatel
Posts: 20
Joined: Wed May 16, 2012 4:23 am

Re: Xvisor ARM hypervisor ported to Raspberry Pi

Thu Feb 05, 2015 5:08 pm

Yes, the Xvisor scheduler is soft real-time.

Currently, we use fixed priority scheduling (http://en.wikipedia.org/wiki/Fixed-prio ... scheduling)

The Xvisor scheduler is extensible and we can always add other real-time scheduling strategy.

Regards,
Anup

Arthur_UAO
Posts: 5
Joined: Mon Oct 26, 2015 7:21 pm

Re: Xvisor ARM hypervisor ported to Raspberry Pi

Mon Oct 26, 2015 10:27 pm

Hi,

i follow the instructions given on the README.txt attached with all your files, but when i turn on the raspberry and nothing happen, looks like it is not booting. any idea about what is happening.

i copy all the files into the boot partition, then i modified the config.txt file so it looks like the following picture
config.jpeg
config.jpeg (8.95 KiB) Viewed 17065 times
then the SD card is put into raspberry. I thought i did everything fine, but nothing happened.

I also would like to know if there is any kind of Real time operating system that can work with Xvisor.

Thanks

Joe Schmoe
Posts: 4277
Joined: Sun Jan 15, 2012 1:11 pm

Re: Xvisor ARM hypervisor ported to Raspberry Pi

Mon Oct 26, 2015 11:58 pm

What's the state of this? Is it downloadable? Does it actually work?
And some folks need to stop being fanboys and see the forest behind the trees.

(One of the best lines I've seen on this board lately)

anuppatel
Posts: 20
Joined: Wed May 16, 2012 4:23 am

Re: Xvisor ARM hypervisor ported to Raspberry Pi

Tue Oct 27, 2015 5:49 am

Xvisor uses u-boot to start booting.

The steps mentioned in <xvisor_source>/docs/arm/bcm2835-raspi.txt instructs us to follow http://elinux.org/RPi_U-Boot to have a working u-boot on Raspberry Pi.

Once you have u-boot working on Raspberry Pi, the rest of the steps in <xvisor_source>/docs/arm/bcm2835-raspi.txt should be straight forward.

Regards,
Anup

Arthur_UAO
Posts: 5
Joined: Mon Oct 26, 2015 7:21 pm

Re: Xvisor ARM hypervisor ported to Raspberry Pi

Wed Nov 18, 2015 9:44 pm

Hi, it is me again.

I have achieved the U-boot bootloader to run on my raspberry, now the problem is that when i try to run xvisor seems that the raspberry get halt or something like that. I took a picture so you can see what's happening:
xvisor.jpeg
xvisor.jpeg (44.84 KiB) Viewed 16583 times
the image of xvisor is the one attached at this link: https://docs.google.com/file/d/0B0ABS_s ... edit?pli=1 , but it didn't work so i tried to cross-compile xvisor from Ubuntu but i got some errors, i don't know what could be the problem

thanks for your help :)

anuppatel
Posts: 20
Joined: Wed May 16, 2012 4:23 am

Re: Xvisor ARM hypervisor ported to Raspberry Pi

Thu Nov 19, 2015 12:06 pm

You need to use the u-boot given the tar ball.

Also, the tar ball contains Xvisor v0.2.3 (2years old). This particular Xvisor follows old way of booting Xvisor. The latest Xvisor follows Linux booting protocol.

The latest youtube video for Xvisor v0.2.6 on Raspberry Pi is at https://www.youtube.com/watch?v=F5ozZRFtRkI.

Recently released Xvisor v0.2.7 is also tested on Raspberry Pi.

For both Xvisor v0.2.6 and Xvisor v0.2.7, refer <xvisor_source>/docs/arm/bcm2835-raspi.txt.

Regards,
Anup

Arthur_UAO
Posts: 5
Joined: Mon Oct 26, 2015 7:21 pm

Re: Xvisor ARM hypervisor ported to Raspberry Pi

Thu Nov 19, 2015 3:25 pm

Hi, i think i don't understand. I'll tell you what i've done until now:

1. i downloaded the xvisor_raspi_demo folder that you put at this link: https://docs.google.com/file/d/0B0ABS_s ... edit?pli=1

2. I tried the instructions written on the README.txt file attached to it. Following those instruction i didn't get the u-boot working on my raspberry

3. So, i downloaded U-boot the latest version and compiled it, only then i got u-boot working on raspberry

4. having u-boot on my raspberry, i tried Xvisor by just copying the images attached to xvisor_raspi_demo folder, by doing that i got the result that i showed in my last post.

5. then i tried compiling xvisor-0.2.6 using <xvisor_source>/docs/arm/bcm2835-raspi.txt but i got an error on the cross compilation, still don't figure it out what it is but i am on that.

and ... that's the point that i have reached

thanks and please excuse me if there is any kind of mistakes.

Arthur_UAO
Posts: 5
Joined: Mon Oct 26, 2015 7:21 pm

Re: Xvisor ARM hypervisor ported to Raspberry Pi

Fri Nov 27, 2015 7:33 pm

Hi,

Compiling the xvisor code, i got this error:
compile.jpeg
compile.jpeg (51.51 KiB) Viewed 16243 times
i got it when i was trying to follow the instruction on this file: xvisor-0.2.6 / tests / arm32 / realview-eb-mpcore / linux / README

could it be the version of xvisor that i am trying to use ? or maybe some command is missing on the steps ?

thanks

anuppatel
Posts: 20
Joined: Wed May 16, 2012 4:23 am

Re: Xvisor ARM hypervisor ported to Raspberry Pi

Sat Nov 28, 2015 4:40 am

Hi,

The step8 in tests/arm32/realview-eb-mpcore/linux/README is to be done with current directory as <linux_source_directory>. (Please refer step7)

Changing current directory to <linux_source_directory> would solve your issue.

Regards,
Anup

Arthur_UAO
Posts: 5
Joined: Mon Oct 26, 2015 7:21 pm

Re: Xvisor ARM hypervisor ported to Raspberry Pi

Thu Dec 03, 2015 10:10 pm

Hi,

i have achieved the compilation of xvisor. Now i had a problem while trying to run it just that this time i am guessing the problem has to deal with U-boot, following message shows the error i got:
error_cmdline.png
error_cmdline.png (9.17 KiB) Viewed 16003 times
hope you can tell me what should i read or do to solve this error.

Thanks

anuppatel
Posts: 20
Joined: Wed May 16, 2012 4:23 am

Re: Xvisor ARM hypervisor ported to Raspberry Pi

Sun Dec 06, 2015 6:05 am

You need to load one_guest_ebmp.dtb (created using "make dtbs" ) at 0x00800000 using uboot fatload command.

Also make sure you have pretty recent uboot on your Raspberry Pi.

Regards,
Anup

abrams
Posts: 13
Joined: Mon Oct 16, 2017 3:26 pm

Re: Xvisor ARM hypervisor ported to Raspberry Pi

Mon Oct 30, 2017 9:08 pm

Hi guys,

I am not sure If anyone will see it but, I am posting here because even if I have become member of the Google Group Xvisor Develoment I dont have the privileges to add/ start a new topic/thread, so I will try to do it here.

I am new with Raspberry pi and xvisor so dont be rush with me.
I am trying to install Xvisor on a Raspberry pi 2 Model B following the steps of the doc "xvisor-next/docs/arm/bcm2836-raspi2.txt"
I am trying to do all the steps directly on Raspberry pi2 and I dont using an another Linux machine as a development machine.
Is that an issue?

However, I got some errors during the steps:
1) When I tried to build the U-boot and executed the command "make all" at the end I took this:
/bin/sh: 1:bc: not found

Is this critical? Although I have got a u-boot.bin file

Furthermore, since I am executing all the commands on a raspberry pi2 I dont use the export CROSS_COMPILER commands since is already amrhf architecture

After all these, I execute the git clone command and I downloaded the source code of the Xvisor-next
During the build steps the commands: make; make dtbs provide the following error:
See the attached image please

Can anyone guide me what I am doing wrong ? Do I need to build the Xvisor source code to another linux system ?

Thanks in advance
Attachments
makedtbs_error.png
make dtbs error
makedtbs_error.png (50.41 KiB) Viewed 7437 times

User avatar
Paeryn
Posts: 2745
Joined: Wed Nov 23, 2011 1:10 am
Location: Sheffield, England

Re: Xvisor ARM hypervisor ported to Raspberry Pi

Mon Oct 30, 2017 10:25 pm

abrams wrote:
Mon Oct 30, 2017 9:08 pm
However, I got some errors during the steps:
1) When I tried to build the U-boot and executed the command "make all" at the end I took this:
/bin/sh: 1:bc: not found

Is this critical? Although I have got a u-boot.bin file
Not sure how critical that is but it is saying it can't find the program bc (see below)
abrams wrote:
Mon Oct 30, 2017 9:08 pm
Furthermore, since I am executing all the commands on a raspberry pi2 I dont use the export CROSS_COMPILER commands since is already amrhf architecture

After all these, I execute the git clone command and I downloaded the source code of the Xvisor-next
During the build steps the commands: make; make dtbs provide the following error:
See the attached image please

Can anyone guide me what I am doing wrong ? Do I need to build the Xvisor source code to another linux system ?

Thanks in advance
That is saying it can't find the programs flex or bison.

To install these three programs do the following, you may find you need other packages installing too (I have no knowledge of Xvisor or it's requirements). I would have thought the developers would have written somewhere what tools are required to build their projects (flex is a lexical analyser generator, bison is a parser generator and bc is an arbitrary precision calculator language).

Code: Select all

sudo apt update
sudo apt install bc flex bison
She who travels light — forgot something.

Return to “General discussion”