For those having troubles install Xen here is a nice simple How-to. This could possibly be added to the Xen Users guide. Attached is an html version. Below is the text version: Setting up Fedora Core 3 w/ Xen 1. Getting Started You should start with a machine you''re willing to dedicate. If you''re not dedicating the machine to Xen then you''ll have to make adjustments as you go. You also need the Fedora Core 3 CDs or DVD. 2. Overview This is intended as easy guide for getting Xen & Fedora 3 working together for those having problems getting them working together. 3. Packages You need to start with a copy of xen-2.0.3, Twisted-1.3.0, linux-2.6.10, bridge-utils, and sysfs-utils. Web Locations of packages: * xen-2.0.3-> http://www.cl.cam.ac.uk/Research/SRG/netos/xen/downloads/xen-2.0.3- src.tgz * Twisted-1.3.0 -> http://twistedmatrix.com/downloads/Twisted-1.3.0.tar.gz * linux-2.6.10 -> http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.10.tar.bz2 * bridge-utils -> http://mirrors.kernel.org/fedora/core/3/i386/os/Fedora/RPMS/bridge- utils-1.0 .4-4.i386.rpm * sysfs-utils -> http://mirrors.kernel.org/fedora/core/3/i386/os/Fedora/RPMS/sysfsutils-1.2.0 -1.i386.rpm 4. Steps to Create Domain 0 1. Install Fedora Core 3 on the system: a. On "Installation Type" screen choose "Server" b. On"Disk Setup" screen allocate about 10GB for your root partition ("/"). Optionally allocate about 1GB for swap partition. Remember you will need to leave space for partitions for other domains. c. On "Firewall Configuration" screen DISABLE the firewall and DISABLE SELinux. d. At "Package Group Selection" screen place a check by "Development Tools". Also check any additional package you want to add. e. Go through installation & reboot. 2. Boot into your new Fedora Core 3 system. 3. Install bridge-utils and sysfs-utils rpms. 4. Unpack Twisted-1.3.0.tar.gz 5. cd Twisted-1.3.0 6. python setup.py install 7. ln -s /usr/lib/libidn.so.11 /usr/lib/libidn.so (don''t worry if already exists) 8. Unpack xen-2.0.3-src.tgz 9. cp linux-2.6.10.tar.bz2 xen-2.0 10. cd xen-2.0 11. make 12. ./install.sh 13. cp dist/install/etc/init.d/xen* /etc/init.d 14. chkconfig xend on 15. chkconfig xendomains on 16. touch /lib/modules/2.6.10-xen0/modules.dep (This step is needed to create initrd image) 17. mkinitrd /boot/initrd-2.6.10-xen0.img 2.6.10-xen0 18. Add this to your grub configuration file (/boot/grub/grub.conf) : title Xen 2.0.3 (stable) kernel /boot/xen.gz dom0_mem=131072 console=vga module /boot/vmlinuz-2.6.10-xen0 root=/dev/hda1 ro console=tty0 module /boot/initrd-2.6.10-xen0.img 19. For the grub entry above make sure that "root=" is set to the root partition ("/") that you setup. 20. Also set "dom0_mem" to the amount of physical memory you want for 21. Use fdisk to create new partitions for other virtual domains that you are going to want to create. You can also set up your partitions under LVM. See instructions from the Xen User Manual for more information. http://www.cl.cam.ac.uk/Research/SRG/netos/xen/readmes/user/user.html 22. Reboot and choose "Xen 2.0.3 (stable)" from Grub menu. 5. Create Fedora 3 Domain > 0 (Xen Virtual Domains) 1. Create 2 new partitions for virtual machine. One will be for the root partition ("/") ( this needs to be the about same size as your current Fedora partition 10GB) , the other will be a swap partition for the virtual machine (this partition is optional). 2. Format partition for root partition ("/") using "mkfs.ext3 /dev/<location of root partition>". If making swap then use "mkswap /dev/<location of swap partition>" to format swap. 3. Mount your newly created for the root partition ("/") to /mnt mount /dev/<location of root partition> /mnt 4. Your then going to copy your current Fedora installation to the root partition ("/") of the new Xen virtual domain: cp -ax /{root,dev,var,etc,usr,bin,sbin,lib} /mnt mkdir /mnt/{proc,sys,home,tmp} 5. Move tls libraries not supported by Xen: mv /mnt/lib/tls /mnt/lib/tls.disabled 6. touch /lib/modules/2.6.10-xenU/modules.dep 7. Create initrd for xenU kernel: mkinitrd /boot/initrd-2.6.10-xenU.img 2.6.10-xenU 8. Create a new Xen virutal domain configuration file. Make a copy of file /etc/xen/xmexample2 and place it in /etc/xen/. In that copy important to make sure to have the following lines set: kernel = "/boot/vmlinuz-2.6.10-xenU" ramdisk="/boot/initrd-2.6.10-xenU.img" root="/dev/<location of root partition> ro" 9. Comment out "extra=" line in the file. 10. To point to your configuration file to the correct partitions change the "disk=" line. disk = [ ''phy:<location of root>,hda1,w'', ''phy:<location of swap>,hda2,w'' ] This is an list of disk that you want the virtual domain to see and what you want to the virtual domain to see them as. So ''phy:hda5,hda1,w'', reads that I want physical partition hda5 to be seen by the virtual domain as hda1 and the virtual domain will have read-write access to it. 11. Edit /mnt/etc/fstab to point to proper partitions as specified in your Xen virtual domain configuration. It should look something like: /dev/hda1 / ext3 defaults 1 1 none /dev/pts devpts gid=5,mode=620 0 0 none /dev/shm tmpfs defaults 0 0 none /proc proc defaults 0 0 none /sys sysfs defaults 0 0 /dev/hda2 swap swap defaults 0 0 12. Erase all entries in /mnt/etc/modprobe.conf echo > /mnt/etc/modprobe.conf 13. umount /mnt 14. Load new virtual machine: xm create -c <xen configuration> vmid=<some number> 15. You should now be in your virtual machine :-) 16. Kudzu will prompt you to remove a bunch hardware, remove the hardware. 17. To setup network echo "alias eth0 xen_net" > /etc/modprobe.conf 18. Edit /etc/sysconfig/network-scripts/ifcfg-eth0 and add the following text: DEVICE=eth0 BOOTPROTO=dhcp ONBOOT=on 19. Edit /etc/sysconfig/network to have: NETWORKING=yes HOSTNAME=<you choose the name> 20. ifup eth0 21. Networking will start automatically on boot from now on. 22. It''s a little messy, but once you get things configured nicely you can create an image and copy it for other Xen virtual domains. 23. For more information see Xen Users guide: http://www.cl.cam.ac.uk/Research/SRG/netos/xen/readmes/user/user.html Authors: Anthony Liguori <aliguori@us.ibm.com> Jerone Young <jyoung5@us.ibm.com> -- Jerone Young Open Virtualization IBM Linux Technology Center jyoung5@us.ibm.com 512-838-1157 (T/L: 678-1157)