# virt-manager on FreeBSD as bhyve backend



## Purkuapas (Mar 6, 2016)

Hi.

I've try to find anything on FreeBSD to run virtual machines. Looks like XEN is not ready (my system is reboot on booting kernel with xen). After some hours in google i successfully run bhyve with FreeBSD  guest. But I would also like to get Linux in bhyve. And i do not understand how to use it with graphics support. To get VNC or something, i install virt-manager. But when i try to run any guest in virt-manager via bhyve, i've got:


```
Unable to complete install: 'internal error: cannot determine default video type'

Traceback (most recent call last):
  File "/usr/local/share/virt-manager/virtManager/asyncjob.py", line 89, in cb_wrapper
  callback(asyncjob, *args, **kwargs)
  File "/usr/local/share/virt-manager/virtManager/create.py", line 1873, in do_install
  guest.start_install(meter=meter)
  File "/usr/local/share/virt-manager/virtinst/guest.py", line 414, in start_install
  noboot)
  File "/usr/local/share/virt-manager/virtinst/guest.py", line 478, in _create_guest
  dom = self.conn.createLinux(start_xml or final_xml, 0)
  File "/usr/local/lib/python2.7/site-packages/libvirt.py", line 3595, in createLinux
  if ret is None:raise libvirtError('virDomainCreateLinux() failed', conn=self)
libvirtError: internal error: cannot determine default video type
```

What the I might have missed? And if there's something works in FreeBSD (except VBOX)? or any bhyve front-end with video support?

My FreeBSD box: FreeBSD 10.3-RC1 amd64. Hardware: Core(TM) i5-2430M CPU @ 2.40GHz


----------



## SirDice (Mar 7, 2016)

Please note that bhyve is still an experimental feature. Many things are still missing, including support for graphics terminals. 

https://wiki.freebsd.org/bhyve


----------



## Oko (Mar 7, 2016)

Purkuapas said:


> Hi.
> I've try to find anything on FreeBSD to run virtual machines. Looks like XEN is not ready (my system is reboot on booting kernel with xen). After some hours in google i successfully run bhyve with FreeBSD  guest. But I would also like to get Linux in bhyve. And i do not understand how to use it with graphics support. To get VNC or something, i install virt-manager. But when i try to run any guest in virt-manager via bhyve, i've got:



There are seven types of virtualization.



Pure Hardware virtualization (Available since early 70s on IBM main frame)  

Emulation (An example is Qemu, VirtualBox, KVM, Bhyve)

Full Virtualization (Xen, WMware, Hyper-V)

Paravirtualization (DragonFly BSD _vkernel_)

Operating System Level Virtualization ( Solaris Zones, FreeBSD Jails)

Library virtualization (Cygwin, Wine) 

Application virtualization (Linux docker, PC-BSD PBIs)
So the real question is what are you trying to virtualize and why? Most people who are interested in efficient (not necessary the smartest) hardware use will look at 3. I really like Xen (AWS also runs Xen). If you go with Xen Dom0 I would go with XenServer (Citrix free product). If you really want to learn Alpine Linux Dom0. Reports of Xen Dom0 on NetBSD are so few that I would be scared to try in production. Xen is also designed with security in mind (as much as possible considering the complexity of code)

If you are trying to get some added security, use resources efficiently and isolate processes you should look at 5. I will concur that Solaris Zones+Crossbow network virtualization are more mature than FreeBSD Jails which I use but Jails on the top of ZFS with iocage are not too shabby unless you want to virtualize networks where Crossbow is just much more mature technology than Jail network virtualization.

If you are Web developer looking to check if you website renders properly on Windows Explorer you should look at VritualBox.


Most people should not look at other things. However I will be first to admit that I use Qemu to build packages for OpenBSD. I use KVM just because it is convenient to run some of our analytical tools on the top of computing nodes running RedHat (KVM is linux specific).

I have little experience with 1 mostly on Sun servers from early 2000s.

4 is really cool as many things coming from DF but with scarce documentation and mostly targeting DF kernel hackers.

6 and 7 should not be used!

It looks to me base on your post that VirtualBox is what you need and that runs on FreeBSD albeit not an official Oracle version. Please switch to RedHat Linux for the official version.


----------



## Oko (Mar 7, 2016)

getopt said:


> Exclamation marks do not substitute explanations. So please be so kind ...


I have to fall back to an old math phrase. As it is trivial to verify


----------



## Purkuapas (Mar 7, 2016)

SirDice said:


> Please note that bhyve is still an experimental feature. Many things are still missing, including support for graphics terminals.
> 
> https://wiki.freebsd.org/bhyve



Yes, I know about missing graphics terminal support in bhyve. I thought that the virt-manager is capable to make something like openpty(3) from serial bhyve console <--> VNC. Because if doesn't do something or similar (while bhyve isn't able to support graphics) - that is unclear for me how to use bhyve through virt-manager in general.



Oko said:


> So the real question is what are you trying to virtualize and why?



I've try to find any solution on FreeBSD to run any modern OS as guest: Windows, Linux and FreeBSD. I very much love LXC and OpenVZ  as Linux container on Linux and KVM as hypervisor for any other OSes. On FreeBSD, for hosting FreeBSD environment it would be logical to use jail, however these problems ( https://forums.freebsd.org/threads/55404/ : in particular, impossibility of reboot, loopback binding and the very-*SHARED* shared memory) - this is not serious, alas. I work in hosting company and I would like to add support of FreeBSD - not only as vm-guest, but also to put into operation a small cluster on FreeBSD as a hoster.


----------



## Oko (Mar 7, 2016)

That is admirable but a tall order. You need to talk to developers not users like me.


----------



## lme@ (Mar 7, 2016)

I use a x2go server in a Linux instance and bhyve and connect via net/x2goclient. But you could also use x11rdp or VNC.


----------



## Oko (Mar 8, 2016)

gpatrick said:


> SmartOS by Joyent uses the illumos kernel which was forked from OpenSolaris before Oracle closed it. Joyent is also an OpenZFS developer.
> 
> SmartOS naturally allows Zones since it has lineage in Solaris, and Joyent ported KVM to SmartOS so you can run Linux or the BSDs. Plan9 also is supposed to run in KVM.
> 
> Joyent also has Docker running on SmartOS bare metal.


I think I played once with SmartOS thanks to you posts. In my experience YMMV depends how familiar is one with Solaris. It is based of Iluminus and doesn't include larest stuff from Solaris 11. It also uses NetBSD's pkgsrc. For people who like Zones and Crossbow and need KVM looks very credible. It does embedded installatio IIRC.


----------



## metsuke (Mar 8, 2016)

Purkuapas, I've tried virt-manager as well, but found that it is not yet suitable for bhyve deployment.  I got past the part you are stuck at by customizing the VM, and adding a "Video" device.


----------

