[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-users] Building from Source
Hello Nathan, yesterday I managed to compile Xen 3.3 from the sources on Debian Etch. I am not a XEN specialist myself but maybe my notes will help you since they say that Ubuntu is closely related to Debian. Especialy note the hints about configuring the XEN kernel below. cd /usr/src/xen-3.3.0 make linux-2.6-xen-config CONFIGMODE=menuconfig That may let you configure the VMXASSIST=n Regards, Franz ########################## Howto build Xen 3.3 from the sources on Debian Etch --------------------------------------------------- Base: Debian Etch 4.0R4a netinst for AMD64/Intel64 Hints on the WEB say that we need a newer mercurial (V 0.9.5 or newer). Newer than the standard V0.9.1 that is provided via Debian Etch Problem: from where do we get the newer mercurial? mkdir -p /usr/src/XEN_3.3.0 cd /usr/src/XEN_3.3.0 wget http://packages.debian.org/etch-backports/all/mercurial-common/download/mercurial-common_1.0.1-5.1~bpo40+1_all.deb wget \ http://www.backports.org/debian/pool/main/m/mercurial/mercurial_1.0.1-5.1~bpo40+1_amd64.deb dpkg -i ./mercurial-common_1.0.1-5.1~bpo40+1_all.deb dpkg -i ./mercurial_1.0.1-5.1~bpo40+1_amd64.deb ##################### # Download other build tools: # Attention: the apt-get will also deinstall packages # Use aptitude instead to see the conflicts etc # The problem is the 'hotplug' # It conflicts with udev, kde and many others. # The xen Readme states that we need hotplug OR udev # --> we stay with udev and its dependent packages # apt-get install iproute bridge-utils hotplug python libz-dev python-dev gawk pciutils-dev # apt-get install graphviz texlive-latex-base texlive-latex-pdfetex transfig # apt-get install build-essential libssl-dev gettext python-dev libncurses5-dev xorg-dev bcc aptitude install iproute aptitude install bridge-utils # !!!! NO; do not install: aptitude install hotplug aptitude install python aptitude install libz-dev aptitude install python-dev aptitude install gawk aptitude install pciutils-dev aptitude install graphviz # this install texlive and de-installs our normal tetex! apt-get install tex-common texlive-base texlive-base-bin texlive-common \ texlive-doc-base texlive-doc-de texlive-lang-german \ texlive-latex-base texlive-pdfetex preview-latex-style \ texlive-latex-extra texlive-pictures texlive-fonts-recommended # aptitude install texlive-latex-pdfetex ??? apt-get install texlive-latex-recommended aptitude install texinfo aptitude install transfig aptitude install build-essential aptitude install libssl-dev aptitude install gettext aptitude install python-dev aptitude install libncurses5-dev aptitude install xorg-dev aptitude install bcc ##################### # Get the Xen sources # We download a tar ball of Xen 3.3 and clone the kernel tree ##################### mkdir -p /usr/src/XEN_3.3.0 cd /usr/src/XEN_3.3.0 # Get Xen 3.3.0 sources # Goto # http://www.xen.org/download/index.html # and download # http://bits.xensource.com/oss-xen/release/3.3.0/xen-3.3.0.tar.gz wget http://bits.xensource.com/oss-xen/release/3.3.0/xen-3.3.0.tar.gz # Get the xen kernel tree ## DEPRECATED: instead we clone ourselves (see below) # wget http://bits.xensource.com/oss-xen/release/3.3.0/linux-2.6.18-xen-3.3.0.tar.gz ### cleanup cd /usr/src rm -rf xen-3.3.0 rm -rf linux-2.6.18-xen.hg # unpack xen sources cd /usr/src tar xzf XEN_3.3.0/xen-3.3.0.tar.gz # Get the xen kernel tree via cloneing cd /usr/src hg clone http://xenbits.xensource.com/linux-2.6.18-xen.hg ################################################ # Now, let's compile that Xen cd /usr/src/xen-3.3.0 make KERNELS=linux-2.6-xen world # Note: the option 'CONFIGMODE=menuconfig' is meant to be used with other targets (see below) # make linux-2.6-xen-config CONFIGMODE=menuconfig # # It works at least if we run 'make KERNELS=linux-2.6-xen world' once # See the addon at the end down below. # From the /usr/src/xen-3.3.0/README that contains all instruction for building/installing! # In /usr/src/xen-3.3.0 use # make help # to learn more about the targets. # # 5. To rebuild a kernel with a modified config: # # # make linux-2.6-xen-config CONFIGMODE=menuconfig (or xconfig) # # make linux-2.6-xen-build # # make linux-2.6-xen-install # Other systems may requires the use of 'mkinitramfs' to create the # ram disk. # # depmod 2.6.18-xen # # mkinitramfs -o initrd-2.6.18-xen.img 2.6.18-xen # cleanup old xen-tools and kernels make uninstall make install depmod 2.6.18.8-xen # prepare the initrd config ## cp /etc/initramfs-tools/modules /etc/initramfs-tools/modules.orig cat > /etc/initramfs-tools/modules <<HERE # for Xen md_mod raid1 sd_mod HERE mkinitramfs -k -o /boot/initrd-2.6.18.8-xen.img 2.6.18.8-xen # edit the grub menu susi:/boot/grub# tail menu.lst ### END DEBIAN AUTOMAGIC KERNELS LIST title Xen 3.3.0 / kernel 2.6.18.8-xen root (hd0,0) kernel /xen-3.3.0.gz console=vga module /vmlinuz-2.6.18.8-xen root=/dev/mapper/RootVG-root ro console=tty0 module /initrd-2.6.18.8-xen.img savedefault OR as a refined test for HVM # Note: Adding the pciback.hide to the kernel options did not work as pciback is # only compiled as a module by default. # If we compile it as non-module (see below for instructions) it works # no pciback.hide title Xen 3.3.0 / kernel 2.6.18.8-xen no-backhide root (hd0,0) kernel /xen-3.3.0.gz console=vga noreboot max_loop=128 dom0_mem=1024M module /vmlinuz-2.6.18.8-xen root=/dev/mapper/RootVG-root ro console=tty0 module /initrd-2.6.18.8-xen.img savedefault # with pciback.hide and iommu for VT-d title Xen 3.3.0 / kernel 2.6.18.8-xen backhide the ATI Radeon root (hd0,0) #kernel /xen-3.3.0.gz console=vga noreboot max_loop=128 dom0_mem=1024M iommu=1 kernel /xen-3.3.0.gz console=vga noreboot max_loop=128 dom0_mem=1024M module /vmlinuz-2.6.18.8-xen root=/dev/mapper/RootVG-root ro console=tty0 pciback.hide=(01:00. 0)(01:00.1) module /initrd-2.6.18.8-xen.img savedefault ### link xen rc script update-rc.d xend defaults 20 21 update-rc.d xendomains defaults 21 20 ############################################ # Reboot your box and boot the Xen kernel ########## # Add on, from http://wiki.xensource.com/xenwiki/VTdHowTo # Compile PCI backend hide fixed into the kernel How to turn on VT-d in Xen 1 ) cd xen-unstable.hg 2 ) make install 3 ) make linux-2.6-xen-config CONFIGMODE=menuconfig 4 ) change XEN->"PCI-device backend driver" from "M" to "*". 5 ) make linux-2.6-xen-build 6 ) make linux-2.6-xen-install 7 ) depmod 2.6.18.8-xen 8 ) mkinitrd -v -f --with=ahci --with=aacraid --with=sd_mod --with=scsi_mod initrd-2.6.18-xen.img 2.6.1 8.8-xen 9 ) cp initrd-2.6.18-xen.img /boot 10) lspci - select the PCI BDF you want to assign to guest OS 11) "hide" pci device from dom0 as following sample grub entry: title Xen-Fedora Core (2.6.18-xen) root (hd0,0) kernel /boot/xen.gz com1=115200,8n1 console=com1 iommu=1 module /boot/vmlinuz-2.6.18.8-xen root=LABEL=/ ro xencons=ttyS console=tty0 console=ttyS0, pcib ack.hide=(01:00.0)(03:00.0) module /boot/initrd-2.6.18-xen.img 12) reboot system 13) add "pci" line in /etc/xen/hvm.conf for to assigned devices pci = [ '01:00.0', '03:00.0' ] 15) start hvm guest and use "lspci" to see the passthru device and "ifconfig" to see if IP address has been assigned to NIC devices. ## # Try that on our xen host cd /usr/src/xen-3.3.0 make linux-2.6-xen-config CONFIGMODE=menuconfig change XEN->"PCI-device backend driver" from "M" to "*". make linux-2.6-xen-build make linux-2.6-xen-install depmod 2.6.18.8-xen mkinitramfs -k -o /boot/initrd-2.6.18.8-xen.img 2.6.18.8-xen Boot .... and pciback.hide works as a kernel parameter _______________________________________________ Xen-users mailing list Xen-users@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-users
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |