diff options
author | iap10@freefall.cl.cam.ac.uk <iap10@freefall.cl.cam.ac.uk> | 2005-07-06 14:23:39 +0000 |
---|---|---|
committer | iap10@freefall.cl.cam.ac.uk <iap10@freefall.cl.cam.ac.uk> | 2005-07-06 14:23:39 +0000 |
commit | a80eaa26fbfba4b0c43030745d1c47e0b4308b3f (patch) | |
tree | fa650c026ae64b278e4ca23b24e207a5603dae86 /buildconfigs/mk.linux-2.6-xen | |
parent | b7d34829a343a9fcc9e5d6a64d6138bc6ce0d160 (diff) | |
download | xen-a80eaa26fbfba4b0c43030745d1c47e0b4308b3f.tar.gz xen-a80eaa26fbfba4b0c43030745d1c47e0b4308b3f.tar.bz2 xen-a80eaa26fbfba4b0c43030745d1c47e0b4308b3f.zip |
Add a new Linux kernel config file -xen [NB: no 0 or U suffix] that builds a wide selection of modules, more in keeping with distro kernels.
It can be used as both a dom0 and domU domain kernel. It is not built by default as it takes ages, but should be in install tar balls and the demo CD.
Signed-off-by: ian.pratt@cl.cam.ac.uk
Diffstat (limited to 'buildconfigs/mk.linux-2.6-xen')
-rw-r--r-- | buildconfigs/mk.linux-2.6-xen | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/buildconfigs/mk.linux-2.6-xen b/buildconfigs/mk.linux-2.6-xen new file mode 100644 index 0000000000..23f8583782 --- /dev/null +++ b/buildconfigs/mk.linux-2.6-xen @@ -0,0 +1,48 @@ + +OS = linux + +LINUX_SERIES = 2.6 + +EXTRAVERSION = xen + +LINUX_DIR = $(OS)-$(LINUX_VER)-$(EXTRAVERSION) + +include buildconfigs/Rules.mk + +.PHONY: build clean delete + +# The real action starts here! +build: $(LINUX_DIR)/include/linux/autoconf.h + if grep "^CONFIG_MODULES=" $(LINUX_DIR)/.config ; then \ + $(MAKE) -C $(LINUX_DIR) ARCH=xen modules ; \ + $(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_MOD_PATH=$(DESTDIR) modules_install ; \ + fi + $(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_PATH=$(DESTDIR) install + +$(LINUX_DIR)/include/linux/autoconf.h: ref-$(OS)-$(LINUX_VER)/.valid-ref + rm -rf $(LINUX_DIR) + cp -al $(<D) $(LINUX_DIR) + # Apply arch-xen patches + ( cd linux-$(LINUX_VER)-xen-sparse ; \ + ./mkbuildtree ../$(LINUX_DIR) ) + # Re-use config from install dir if one exits else use default config + CONFIG_VERSION=$$(sed -ne 's/^EXTRAVERSION = //p' $(LINUX_DIR)/Makefile); \ + [ -r $(DESTDIR)/boot/config-$(LINUX_VER)$$CONFIG_VERSION-$(EXTRAVERSION) ] && \ + cp $(DESTDIR)/boot/config-$(LINUX_VER)$$CONFIG_VERSION-$(EXTRAVERSION) $(LINUX_DIR)/.config \ + || cp $(LINUX_DIR)/arch/xen/configs/$(EXTRAVERSION)_defconfig_$(XEN_TARGET_ARCH) \ + $(LINUX_DIR)/.config + # Patch kernel Makefile to set EXTRAVERSION + ( cd $(LINUX_DIR) ; \ + sed -e 's/^EXTRAVERSION.*/&$$(XENGUEST)\nXENGUEST = -$(EXTRAVERSION)/' Makefile >Mk.tmp ; \ + rm -f Makefile ; mv Mk.tmp Makefile ) + $(MAKE) -C $(LINUX_DIR) ARCH=xen oldconfig + +config: CONFIGMODE = menuconfig +config: $(LINUX_DIR)/include/linux/autoconf.h + $(MAKE) -C $(LINUX_DIR) ARCH=xen $(CONFIGMODE) + +clean:: + $(MAKE) -C $(LINUX_DIR) ARCH=xen clean + +delete: + rm -rf tmp-$(OS)-$(LINUX_VER) $(LINUX_DIR) |