Thanks, everyone for your help. I have successfully built Xen, and I have documented the process. Posting it here for everyone's reference.
1. Download Xen sources. They must match the build of Solaris that you are using. For example, if you are using on-src-b79 (OpenSolaris build 79), you would get your Xen sources here at the gate http://dlc.sun.com/osol/on/downloads/b79/. For your convenience, the Xen source file xvm-src.tar.bz2 has already been downloaded to the directory /cs/systems/Solaris-source/on-src-b79. 2. Unpack the sources bzip2 -dc xvm-src.tar.bz2 | tar xf - Now you have the source from the original Xen's Mercurial repository. Since the version of Xen for Solaris xVM is different than the original, you need to apply the patches. The patches are found in the tree source directory that you have downloaded under xen.hg/.hg. 3. Set up the environmental files for the Mercurial repository. Create a ~/.hqrc file with the following contents: [extensions] hgext.mq= [paths] default=/home/username/Xen/xen.hg (Substitute the directory with the path to YOUR Xen directory.) 4. Add the following variables to your environment (i.e., in your .cshrc or .bashrc file): setenv EMAIL username at youdomain dot com setenv XVM_WS /home/username/Xen/ setenv EDITOR vi setenv SOLARIS_BUILD_TOOLS /opt 5. In xen.hg, run: hg qpush -a This will apply the Solaris-specific patches to the main Xen tree. 6. From xen.hg type ../sunos.hg/bin/build-all. This will build the sources and produce installable packages. xen.gz and xen-syms will be in /home/username/Xen/proto/install/boot (32-bit build) and in /home/username/Xen/proto/install/boot/amd64 (64-bit build). 7. Copy the 32-bit images to the /boot directory on your machine, and 64-bit images to /boot/amd64. (Note, this example is for my build, it is quite possible that you will see a platform-specific directory other than amd64 on your machine). Save the xen.gz and xen-syms under a different name, e.g., xen-myname.gz, so you can always revert to original images if the ones that you built do not boot. 8. Add the entry corresponding to your xen images to /boot/grub/menu.lst -- this should be self-explanatory if you look at menu.lst. Reboot the machine and choose to boot from your images in the grub menu! If Xen complains that the ELF image of the guest domain is incompatible with Xen, you probably didn't copy your xen.gz to the right directory (e.g., mixed up the 32- and 64- bit builds). I believe that in Xen versions beyond 3.0 this won't be the problem -- i.e., you'd be able to boot a 32-bit guest over a 64-bit Xen, but I don't know for sure. 9. I am not yet familiar with the process of installing the entire collection of packages (including tools and libraries). Perhaps someone more knowledgeable could elaborate? This message posted from opensolaris.org _______________________________________________ xen-discuss mailing list [email protected]
