wiki:Xen/dom0_Kernel

【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
      > 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】

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 <M> 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)
                               <M>   SCSI backend driver (NEW)
                               <M> Block-device frontend driver
                               <M> Network-device frontend driver
                               <M>   Network-device frontend driver acceleration for Solarflare NICs (NEW)
                               <M> 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】

Last modified 15 years ago Last modified on Nov 5, 2009, 9:10:34 AM