====== Virtualization TODO ====== This wiki page contains the results of brainstorming missing features required to make %%FreeBSD%% work well in a range of virtualized environments. ===== Cross-Platform ===== * %%VirtIO%% drivers in the base tree (for KVM, bhyve, VirtualBox, possibly others) (**//9/21//**, initial commit of virtio drivers to projects/virtio branch: http://lists.freebsd.org/pipermail/svn-src-projects/2011-September/004361.html ) * Support for hot adding/removing of CPUs (mainly for bare metal and VMware so far) * "make release" generates template disk / file system images (not specific to a particular VM platform) * "make release" extensions that allow qemu-tools (or similar external or new internal tools) to convert file system images into VM images that can be loaded with minimal work (i.e., VMDK, etc). * makefs(1) support for UFS2 * GEOM "resize" event to allow device drivers to notify the storage stack of growth * Live-growable UFS * Shrinkable UFS (for reducing "cloud" costs) * Reorder partitions so that swap is first * Possibly a /boot with pivotroot twiddle model * tar(1) support for UFS1, UFS2 * tar(1) support for ext2fs * Cross-install from Linux (i.e., %%FreeBSD%% installer ported to Linux can build %%FreeBSD%% file system images for use with a VM) ===== Xen ===== * See: [[Xen]] * kldloadable PV drivers without having to compile in "options XENHVM" * Break out various Xen PV drivers into separate modules so they can be loaded independently -- i.e., front drivers without back drivers * ifnet-level support for advertising the maximum number of mbuf clusters that can be used with TSO; Xen netfront tweaks to advertise the Linux limit used by netback * dom0 (but lots to do here -- especially, grant tables, but also general stability work for "options XEN") ===== bhyve ===== * See the [[bhyve|dedicated bhyve page]] * Suspend/resume * Live migration * Support for older CPUs without nested paging virtualization (there are still a lot of them) ===== Jails ===== * Make more filesystems jail friendly (audit individual filesystem code so that VFCF_JAIL can be set) ===== EC2 (Amazon Cloud) ===== * Provide AMI files as part of the release process ===== VMware ===== ==== VMware Studio ==== * See: http://www.vmware.com/products/studio and http://communities.vmware.com/thread/312289 * Add a %%FreeBSD%% VM vApp template. See /opt/vmware/etc/new_os/TODO_new_os in the VMWare Studio 2.6 image. * Port the Provisioning Agent to %%FreeBSD%%. This is just a shell script run once after first boot, which provisions a VM from template fillout hosted in a custom ISO image. /etc/rc integration is needed. See /opt/vmware/www/provagent/.build/etc/vmware-studio in the VMWare Studio 2.6 image. ---- {{tag>Virtualization}} {{tag>Todo}} {{tag>Stale}}