aboutsummaryrefslogtreecommitdiffstats
path: root/buildconfigs/mk.linux-2.6-xen
diff options
context:
space:
mode:
authoriap10@freefall.cl.cam.ac.uk <iap10@freefall.cl.cam.ac.uk>2005-07-06 14:23:39 +0000
committeriap10@freefall.cl.cam.ac.uk <iap10@freefall.cl.cam.ac.uk>2005-07-06 14:23:39 +0000
commita80eaa26fbfba4b0c43030745d1c47e0b4308b3f (patch)
treefa650c026ae64b278e4ca23b24e207a5603dae86 /buildconfigs/mk.linux-2.6-xen
parentb7d34829a343a9fcc9e5d6a64d6138bc6ce0d160 (diff)
downloadxen-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-xen48
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)