Show pageOld revisionsBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. This page is replaced by [[/Xen]] ====== Old FreeBSD/Xen port wiki page ====== The port will only run as a guest (ie. domU) right now, on i386/PAE platforms. ===== Status ===== * domU is self-hosting on 8-CURRENT (can compile world + kernel in a VM). Latest sources are CVS/SVN. * domU support is available for 6.3 and RELENG_6 in project branches: * 6.3-RELEASE svn:%%//%%svn.freebsd.org/base/projects/release_6_3_xen/ * RELENG_6 svn:%%//%%svn.freebsd.org/base/projects/releng_6_xen/ * Xen 3.0.3 and earlier are not currently supported. * Amazon's EC2 uses 3.0.3. * Device structure needs to be cleaned up, it's not conformant to newbus. * SMP support is working. * amd64 support is planned. * 3.1 has been tested under vmware and on real hardware with a 32-bit dom0 (one cannot run 32-bit guests with a 64-bit dom0 on xen 3.1) * 3.2 has been tested on real hardware with both 32-bit and 64-bit dom0 * 3.3 has been tested on real hardware with a 32-bit dom0 ===== TODO ===== * Substantial cleanup needed - check with Kip Macy or Scott Long for further details if you are interested. * Device tree: * Add a newbus nexus for the front-end bus * Figure out how to get xenstore working in time for the bus scan (get scheduler running) * Convert drivers to newbus * XEN kernel conf file cleanup: * Remove options and devices that don't apply to Xen * Add xc, xbd, and xn devices, and update /sys/conf/files.i386 appropriately * Fix blkfront to give sensible unit numbers ===== Warnings ===== * If you want to use xen as a development environment you would be well advised to install a 32-bit dom0. The libxc interface that emulates ptrace for gdbserver-xen cannot fetch a 32-bit register set when running on a 64-bit kernel. * There are problem reports on some systems with the %%DomU%% clock not running reliably, giving stalled or sporadic console output and system progress during boot. This is being investigated. Please contact us if you are experiencing this. ===== Setup ===== To help get one started a small file-backed disk and some sample configuration files can be found at: http://www.fsmware.com/xenofreebsd/7.0/download/ Steps I used for installing Xen 3.2 on a recent %%CentOS%%: Install zlib-devel, gcc, libX11-devel, openssl-devel, ncurses-devel, bridge-utils, python-devel. Install git if it's not already included in the Dom0 install; it's needed by the Xen build. Fetch mercurial: <code> wget http://www.selenic.com/mercurial/release/mercurial-1.0.2.tar.gz </code> Build & install mercurial: <code> python setup.py config; python setup.py build; python setup.py install </code> Fetch xen sources: <code> hg clone http://xenbits.xensource.com/xen-3.2-testing.hg </code> Build and install the xen kernel, modules, and tools: <code> cd xen-3.3-testing.hg ; make world && make install </code> Create new initrd: <code> mkinitrd /boot/initrd-2.6.18.8-xen.img 2.6.18.8-xen </code> Update /boot/grub/grub.conf (menu.lst on some systems). A sample entry might look like this: <code> title Xen (2.6.18.8-xen-3.3) root (hd0,1) kernel /boot/xen-3.3.gz console=com1 com1=115200,8n1 module /boot/vmlinuz-2.6.18.8-xen ro root=/dev/sda2 rhgb console=tty console=ttyS0,115200 module /boot/initrd-2.6.18.8-xen.img </code> **NOTE: Don't use this example verbatim without reviewing the "//root//****" parameters** ===== Updates ===== For questions about %%FreeBSD%% on xen and next steps please contact Kip Macy - he can be reached at kmacy at freebsd.org. There is also a dedicated mailing list: http://lists.freebsd.org/mailman/listinfo/freebsd-xen Kip Macy is currently working on a RELENG_7 backport. This entry is referenced by the [[http://bsdresearch.blogspot.com|BSD Research blog]]. ---- [[/CategoryHistorical]] freebsd/xenold.txt Last modified: 2019/09/07 08:40by LorenzoSalvadore