On Sep 16, 2008, at 9:22 AM, Zhang, Xiantao wrote:
Alexander Graf wrote:KVM as is assumes that the kernel obj dir and the kernel source dir are at the same location. This is true for most self-built vanilla kernels, but some distributions split these up (e.g. SUSE). To keep compatible and have users have a good experience on building KVM on any distribution, this patch attempts to rebuild the logic from the kernel Makefile as closely as possible. With it I successfully built KVM on a current SUSE system. Signed-off-by: Alexander Graf <agraf@xxxxxxx> Please check and see if it breaks the build process for anyone else. Building with IA64 on SUSE-kernels is still broken due to similar but separate problems.Hi, Graf what problems did you meet when building kvm/ia64 ? Xiantao
This is the list of stuff I had to modify to get kvm-74 to run. I haven't tried anything more recent yet.
1) -mno-sdata does not work. Qemu CFLAGS need to be -msdata2) In qemu/ia64.ld SEARCH_DIR is invalid for SUSE. It shouldn't search in /usr/ia64-linux but in /usr/ia64-suse-linux.
3) TARGET_PAGE_BITS is wrong4) kernel/ia64/Makefile.pre assumes to find .S files in $KERNELDIR. They are in $SOURCEDIR. 5) kernel/ia64/Makefile.pre suffers from the same problem my original fix for x86 addressed. 6) The IA64 kernel build system is broken. The file asm-ia64/nr-irqs.h gets generated during the kernel build, but is not exported as obj, so it won't be in the split obj directory. Since the source-dir is clean though, the file simply does not exist on SUSE rpms.
I will attach the patch I use in our local buildsystem to make KVM compile on IA64. Please do not take this as fixes, most of them are simple workarounds and should rather be fixed properly. We were just hitting deadlines internally.
Alex
Attachment:
IA64-kvm-suse.patch
Description: Binary data