|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-unstable] [linux build] Build Linux kernels with ou
# HG changeset patch
# User Christian Limpach <Christian.Limpach@xxxxxxxxxxxxx>
# Date 1168256025 0
# Node ID c89384734c1990beaecc0c27bf91142654bbdaa5
# Parent 9ba91a854787816f5c2086612074baa8a913ada6
[linux build] Build Linux kernels with output files in a separate directory.
Use a single source tree (linux-2.6-xen) and use Linux' O= option to
make the build put output files in a
build-linux-$(LINUX_VER)-$(EXTRAVERSION)_$(XEN_TARGET_ARCH) directory,
making it possible to build both x86_32 and x86_64 kernels in the same
tree.
Signed-off-by: Christian Limpach <Christian.Limpach@xxxxxxxxxxxxx>
---
.hgignore | 1 +
buildconfigs/mk.linux-2.6-xen | 30 +++++++++++++++++++-----------
2 files changed, 20 insertions(+), 11 deletions(-)
diff -r 9ba91a854787 -r c89384734c19 .hgignore
--- a/.hgignore Sat Jan 06 15:56:52 2007 +0000
+++ b/.hgignore Mon Jan 08 11:33:45 2007 +0000
@@ -20,6 +20,7 @@
^\.config$
^TAGS$
^tags$
+^build.*$
^dist/.*$
^docs/.*\.aux$
^docs/.*\.dvi$
diff -r 9ba91a854787 -r c89384734c19 buildconfigs/mk.linux-2.6-xen
--- a/buildconfigs/mk.linux-2.6-xen Sat Jan 06 15:56:52 2007 +0000
+++ b/buildconfigs/mk.linux-2.6-xen Mon Jan 08 11:33:45 2007 +0000
@@ -3,7 +3,8 @@ LINUX_VER = 2.6.16.33
EXTRAVERSION ?= xen
-LINUX_DIR = linux-$(LINUX_VER)-$(EXTRAVERSION)
+LINUX_SRCDIR = linux-$(LINUX_VER)-xen
+LINUX_DIR = build-linux-$(LINUX_VER)-$(EXTRAVERSION)_$(XEN_TARGET_ARCH)
IMAGE_TARGET ?= vmlinuz
INSTALL_BOOT_PATH ?= $(DESTDIR)
@@ -23,24 +24,30 @@ build: $(LINUX_DIR)/include/linux/autoco
mkdir -p $(INSTALL_BOOT_PATH)
$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH)
INSTALL_PATH=$(INSTALL_BOOT_PATH) install
-$(LINUX_DIR)/include/linux/autoconf.h: ref-linux-$(LINUX_VER)/.valid-ref
- rm -rf $(LINUX_DIR)
- cp -al $(<D) $(LINUX_DIR)
+$(LINUX_SRCDIR)/.valid-src: ref-linux-$(LINUX_VER)/.valid-ref
+ rm -rf $(LINUX_SRCDIR)
+ cp -al $(<D) $(LINUX_SRCDIR)
# Apply arch-xen patches
( cd linux-$(LINUX_SERIES)-xen-sparse && \
- LINUX_ARCH=$(LINUX_ARCH) bash ./mkbuildtree ../$(LINUX_DIR) )
+ LINUX_ARCH=$(LINUX_ARCH) bash ./mkbuildtree ../$(LINUX_SRCDIR) )
+ # Patch kernel Makefile to set EXTRAVERSION
+ ( cd $(LINUX_SRCDIR) ; \
+ sed -e 's,^EXTRAVERSION.*,&$$(XENGUEST)\nXENGUEST := $$(shell [ -r
$$(objtree)/.xenguest ] \&\& cat $$(objtree)/.xenguest),' Makefile >Mk.tmp ; \
+ rm -f Makefile ; mv Mk.tmp Makefile )
+ touch $@
+
+$(LINUX_DIR)/include/linux/autoconf.h: $(LINUX_SRCDIR)/.valid-src
+ rm -rf $(LINUX_DIR)
+ mkdir -p $(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); \
+ CONFIG_VERSION=$$(sed -ne 's/$$(XENGUEST)//; s/^EXTRAVERSION = //p'
$(LINUX_SRCDIR)/Makefile); \
[ -r
$(DESTDIR)/boot/config-$(LINUX_VER3)$$CONFIG_VERSION-$(EXTRAVERSION) ] && \
cp
$(DESTDIR)/boot/config-$(LINUX_VER3)$$CONFIG_VERSION-$(EXTRAVERSION)
$(LINUX_DIR)/.config \
|| sh buildconfigs/create_config.sh $(LINUX_DIR)/.config
$(EXTRAVERSION) $(XEN_TARGET_ARCH) $(XEN_SYSTYPE)
# See if we need to munge config to enable PAE
$(MAKE) CONFIG_FILE=$(LINUX_DIR)/.config -f buildconfigs/Rules.mk
config-update-pae
- # 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=$(LINUX_ARCH) oldconfig
+ echo "-$(EXTRAVERSION)" >$(LINUX_DIR)/.xenguest
+ $(MAKE) -C $(LINUX_SRCDIR) ARCH=$(LINUX_ARCH) oldconfig
O=$$(/bin/pwd)/$(LINUX_DIR)
.PHONY: prep
prep: $(LINUX_DIR)/include/linux/autoconf.h
@@ -62,4 +69,5 @@ delete:
.PHONY: mrpropper
mrpropper:
+ rm -rf $(LINUX_SRCDIR)
rm -f linux-$(LINUX_VER).tar.bz2
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] [linux build] Build Linux kernels with output files in a separate directory.,
Xen patchbot-unstable <=
|
|
|
|
|