[[PageOutline]] = 【0.前言】 = * Ubuntu 後來取 KVM 捨 Xen,9.04 之後的 ubuntu kernel 都不支援 Xen dom0 Kernel (Ubuntu 的 OpenNEbula 和 Eucalyptus 套件都預設會使用 KVM) ---- = 【1.dom0 Kernel version】 = * Xen 官方的 2.6.18 * 整合 Xen & lustre 的 2.6.22 * Xen 官方的 2.6.27 {{{ # cd /usr/src/ # hg clone http://xenbits.xensource.com/ext/linux-2.6.27-xen.hg }}} * Debian 官方的 2.6.26 * 2.6.31.1 (From Jeremy Fitzhardinge git repository) {{{ $ git clone git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git linux-2.6-xen $ cd linux-2.6-xen $ git branch }}} * Problem {{{ #!sh > drivers/built-in.o: In function `processor_cntl_xen_prepare': > (.text+0x50aba): undefined reference to `acpi_processor_get_performance_info' > drivers/built-in.o: In function `processor_cntl_xen_prepare': > (.text+0x50ad9): undefined reference to `acpi_processor_get_psd' > drivers/built-in.o: In function `xenfb_init': > xen-fbfront.c:(.init.text+0xd62): undefined reference to `__xenbus_register_frontend' > drivers/built-in.o: In function `xenkbd_init': > xen-kbdfront.c:(.init.text+0x7b48): undefined reference to `__xenbus_register_frontend' > make: *** [.tmp_vmlinux1] Error 1 There's a known problem with making ACPI modular. Compiling them builting (=y) should work. }}} ---- = 【2.相關的 Kernel Options】 = {{{ #!sh General setup ---> Choose SLAB allocator (SLUB (Unqueued Allocator)) ---> (X) SLAB Processor type and features ---> Subarchitecture Type (PC-compatible) ---> (X) Enable Xen compatible kernel Bus options (PCI etc.) ---> [*] PCI support [*] Xen PCI Frontend [ ] Xen PCI Frontend Debugging (NEW) Change 802.1d Ethernet Bridging to <*> 802.1d Ethernet Bridging: Networking support ---> Networking options ---> <*> 802.1d Ethernet Bridging Disable 10000 Mbit Ethernet (otherwise the build process will most likely fail): Device Drivers ---> [*] Network device support ---> [ ] Ethernet (10000 Mbit) ---> Make the Xen section look as follows (make sure you select Xen version compatibility (3.0.4 and later) instead of Xen version compatibility (3.0.2 and later)): Device Drivers ---> XEN ---> [*] Privileged Guest (domain 0) <*> Backend driver support (NEW) <*> Block-device backend driver (NEW) <*> Block-device tap backend driver (NEW) <*> Network-device backend driver (NEW) (8) Maximum simultaneous transmit requests (as a power of 2) (NEW) [ ] Pipelined transmitter (DANGEROUS) (NEW) < > Network-device loopback driver (NEW) <*> PCI-device backend driver (NEW) PCI Backend Mode (Virtual PCI) ---> [ ] PCI Backend Debugging (NEW) < > TPM-device backend driver (NEW) SCSI backend driver (NEW) Block-device frontend driver Network-device frontend driver Network-device frontend driver acceleration for Solarflare NICs (NEW) SCSI frontend driver (NEW) <*> User-space granted page access driver (NEW) <*> Framebuffer-device frontend driver (NEW) <*> Keyboard-device frontend driver (NEW) [*] Disable serial port drivers (NEW) <*> Export Xen attributes in sysfs (NEW) (256) Number of guest devices (NEW) Xen version compatibility (3.0.4 and later) ---> }}} ---- = 【Reference】 = * [http://wiki.xensource.com/xenwiki/XenDom0Kernels?highlight=%28dom0%29|%28kernel%29 Xen Dom0 Kernels] * [http://wiki.xensource.com/xenwiki/XenParavirtOps Xen paravirt_ops for upstream Linux kernel] * [http://www.howtoforge.com/installing-xen-3.3-with-kernel-2.6.27-on-ubuntu-8.10-x86_64 dom0 2.6.27]