-
Notifications
You must be signed in to change notification settings - Fork 44
UEFI GOP and iohyve
There is now an experimental FreeBSD bhyve branch that allows for a VNC console to be attached to your bhyve guests. It's not in HEAD as of yet, but there is a feature branch available to test. As of 2016/06/09 iohyve can utilize these new features so you can use UEFI-GOP on bhyve to use a VNC console to install and use guests. Please note that this is still experimental, and over time this document may change as this feature is still undergoing active development on both bhyve
and iohyve
.
Before we begin, please read over the bhyve/UEFI Wiki page. Pay close attention to the Retrieve and Build the Project Branch and Firmware Binary portion to build the bhyve
binary. At this time, running make install
will not install the bhyve
binary to /usr/sbin
. Because of this, we must do something a bit hacky to get it working with iohyve
.
First we must back up the old bhyve
binary:
mv /usr/sbin/bhyve /usr/sbin/bhyve_old
Then copy your newly compiled bhyve
binary over to /usr/sbin/
:
cp $working_directory/bhyve /usr/sbin
Make sure you have the latest version of iohyve
from github:
git clone https://github.com/pr1ntf/iohyve.git
For the purposes of this document, we are going to try out Windows 10 under iohyve
.
Add the Windows 10 ISO to iohyve
via either by iohyve fetchiso $Win10ISO
or iohyve cpiso ~/Downloads/$Windows10.iso
and then create your new guest with something like:
iohyve create win10 16G
In order to use the new UEFI-GOP bits, you must set some properties on the newly created guest like:
iohyve set win10 loader=uefi ram=4096M cpu=2 vnc=YES vnc_port=5900 vnc_wait=YES vnc_tablet=YES
With these settings, we make sure that the guest RAM is 4096M
, the number of virtual CPU's is 2
, the VNC port is 5900
, the guest will not start until the VNC server is connected (vnc_wait=YES
), and that the tablet touch interface is connected for better responsiveness in the VNC console (vnc_tablet=YES
).
We also need to make sure the guest is ready for Windows:
iohyve set win10 bargs="-H -w"
Now we can install the Windows 10 VM:
iohyve install win10 Win10_1511_English_x64.iso
Since the default settings for the iohyve
UEFI-GOP settings attach the VNC server to 127.0.0.1
, you can connect to the VNC server on the local machine with something like vncviewer 127.0.0.1:5900
if you are working on a local machine.
If you are working on a remote machine, you should still only run the VNC server on 127.0.0.1
and use SSH port forwarding to forward you local port to the remote VNC port:
ssh -L 5900:127.0.0.1:5900 -N -f -l $username $hostname
Then you can connect to the VNC server with something like:
vncviewer 127.0.0.1:5900
How-to journals:
- USB 3.0 PCI Controller Pass through
- Installation of iohyve on HardenedBSD
- Running Windows Under iohyve
- Using iohyve over WiFi
- X11 Forwarding with Kali Linux and bhyve
- Installing CentOS7 on FreeNAS
Documentation:
Status pages:
Updating:
Contributing:
Archives: