FreeBSD is a great O/S in itself but let's just run it as a KVM hypervised instance for testing purposes as described in the following quick introduction.
1. Base Install
At first, we create an image by e.g.
qemu-img create -f raw NWS3-FBSD10 64G
Using
VMM, the VM can be setup easily, choosing
linux/wheezy as O/S will activate virtio drivers, which is quite important. For performance reasons, the VM should be set to use 4GB of RAM (also to enable zfs preloading) and 4 CPU cores.
FreeBSD will be installed onto the
vtblk device, and it will use
vtnet as 10Gb ethernet adapter. Benchmarking via iperf shows that it comes quite close to the max:
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 9.68 GBytes 8.32 Gbits/sec
2. S/W Installation
After having installed the O/S, a couple of tweaks have to be made to be able to really run and use the KVM guest. First, I always want my tmux, so I build it via:
cd /usr/ports/sysutils/tmux; setenv BATCH yes; time make install
Installing other S/W from binary packages is as simple as e.g.
pkg install pidgin-otr firefox xorg nmap ettercap trafshow ngrep
3. Building a VESA Kernel for Xorg
The window manager shall startup after reboot, and we still need a VESA kernel for that, so we edit /etc/rc.conf and add:
gdm_enable="YES"
gnome_enable="YES"
allscreens_flags="MODE_280"
Now its time to build a new kernel w/ VESA enabled:
cd /usr/src/sys/amd64/conf
cp GENERIC VESAKERN
Edit VESAKERN and add:
options VESA
options SC_PIXEL_MODE
Then build and install the kernel:
cd /usr/src
time make buildkernel KERNCONF=VESAKERN
time make installkernel KERNCONF=VESAKERN
Gnome needs procfs, so we add the following line to /etc/fstab:
proc /proc procfs rw 0 0
4. Further Tweaks
Now, it is time to halt the VM, and do a backup if you wish so. I recommend using
qemu-img convert (64GB => 8GB) and
gpg (8GB > 4.5GB) to accomplish that.
To make the mouse work, it is
essential to do the following in VMM:
Add USB Mouse,Remove Tablet, Set VMVGA Graphics
Done! Overall time should be ~ 1hr
Comments
Comments powered by Disqus