===== Build ===== To build kexec support for IA64 Xen, four separate trees need to be downloaded, patched, and built. * Xen: hypervisor * Linux-Xen: domain~0 * kexec-tools: user-space component of kexec * Linux: For kexec this is needed only if you wish to kexec from Xen to Linux For kdump this is required, as kdump's crash kernel needs to be Linux Build: Xen ========== REQUIRED These patches are currently based on the ext/ia64/xen-unstable.hg tree, version 16982:e83d2b840e88. 1. Obtain ext/ia64/xen-unstable.hg, version 16982:e83d2b840e88. hg clone -r 16982 http://xenbits.xensource.com/ext/ia64/xen-unstable.hg cd xen-unstable.hg 2. Apply patches This can be done in many ways, here is one. a. initialise hg patch queue hg qinit b. copy in patches and series file cp -p ROOT_OF_DOWNLOADED_PATCHES/xen/*.patch .hg/patches/ c. apply patches hg qpush -a 3. Build For a guide on how to do this see ./README in the root of the xen tree. Build: Linux-Xen ================ REQUIRED These patches are currently based on the ext/ia64/linux-2.6.18-xen.hg tree, revision 407:9e3f78203bb5. 1. Obtain ext/ia64/linux-2.6.18-xen.hg, version 407:9e3f78203bb5. hg clone -r 407 http://xenbits.xensource.com/ext/ia64/linux-2.6.18-xen.hg cd xen-ia64-unstable.hg 2. Apply patches This can be done in many ways, here is one. a. initialise hg patch queue hg qinit b. copy in patches and series file cp -p ROOT_OF_DOWNLOADED_PATCHES/xen/*.patch .hg/patches/ c. apply patches hg qpush -a 3. Trim config (optional) I highly suggest trimming the kernel config down to what you need to get your hardware running. This should greatly reduce both built time and the size of the resulting image+modules. The important thing for kexec is to have CONFIG_KEXEC set. For kdump you will need CONFIG_KEXEC and CONFIG_CRASH_DUMP set. As Xen can't opperate as a crash-kernel, you do not need CONFIG_PROC_VMCORE. 4. Build For a guide on how to do this see ./README in the root of the xen tree. Build: kexec-tools ================== REQUIRED These patches are based on kexec-tools-testing, version 20071017-rc 1. Obtain kexec-tools-testing, version 20071017-rc There are several ways to do this, here are two: a. Download wget http://www.kernel.org/pub/linux/kernel/people/horms/kexec-tools/testing/kexec-tools-testing-20071017-rc.tar.bz2 tar -jxf kexec-tools-testing-20071017-rc.tar.bz2 cd kexec-tools-testing-20071017-rc Also available from Kernel.Org mirrors, and http://www.vergenet.net/inux/kexec/kexec-tools/ or b. Check out from git git clone git://git.kernel.org/pub/scm/linux/kernel/git/horms/kexec-tools-testing.git cd kexec-tools-testing git branch v20071017-rc v20071017-rc git checkout v20071017-rc 2. Apply patches There are currently no patches 4. Build The INSTALL file in the root of the kexec-tools directory has instructions on how to do this. But briefly: autoconf ./configure make Build: Linux Kernel =================== OPTIONAL: For kexec this is needed only if you wish to kexec from xen to Linux For kdump this is required, as (at this time?) kdump's crash kernel needs to be Linux These instructions are based on Linux, version v2.6.24 1. Obtain Linux, version 2.6.24 There are several ways to do this, here are two: a. Download wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.24.tar.bz2 tar -jxf linux-2.6.24.tar.bz2 cd linux-2.6.24 Also available from Kernel.Org mirrors or b. Check out from git git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git cd linux-2.6 git branch v2.6.24 v2.6.24 git checkout v2.6.24 2. Apply patches There are currently no patches 4. Build The Documentation/kdump/kdump.txt file in the the Linux kernel directory has instructions on how to do this.