[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] Add support to build arch/ia64 xen kernels, also add pre/post link hooks in mkbuildtree.



# HG changeset patch
# User cl349@xxxxxxxxxxxxxxxxxxxx
# Node ID ee8226e15e9ff3792207a4f5614c22159dd539e6
# Parent  f8e7af29daa1d6fd6cb4a5f7a093b229f5607c94
Add support to build arch/ia64 xen kernels, also add pre/post link hooks in 
mkbuildtree.
Signed-off-by: Christian Limpach <Christian.Limpach@xxxxxxxxxxxx>

diff -r f8e7af29daa1 -r ee8226e15e9f buildconfigs/Rules.mk
--- a/buildconfigs/Rules.mk     Tue Sep 20 09:43:46 2005
+++ b/buildconfigs/Rules.mk     Tue Sep 20 14:18:01 2005
@@ -14,6 +14,13 @@
 # Setup pristine search path
 PRISTINE_SRC_PATH      ?= .:..
 vpath pristine-% $(PRISTINE_SRC_PATH)
+
+# By default, build Linux with ARCH=xen (overridden by some non arch's)
+ifneq ($(ARCH),ia64)
+LINUX_ARCH     ?= xen
+else
+LINUX_ARCH     ?= ia64
+endif
 
 # Expand Linux series to Linux version
 LINUX_SERIES   ?= 2.6
diff -r f8e7af29daa1 -r ee8226e15e9f buildconfigs/mk.linux-2.4-xenU
--- a/buildconfigs/mk.linux-2.4-xenU    Tue Sep 20 09:43:46 2005
+++ b/buildconfigs/mk.linux-2.4-xenU    Tue Sep 20 14:18:01 2005
@@ -15,17 +15,17 @@
 # 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 ; \
+           $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) modules ; \
+           $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) 
INSTALL_MOD_PATH=$(DESTDIR) modules_install ; \
        fi
-       $(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_PATH=$(DESTDIR) install
+       $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) 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_SERIES)-xen-sparse ; \
-          ./mkbuildtree ../$(LINUX_DIR) )
+          LINUX_ARCH=$(LINUX_ARCH) ./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) ] && \
@@ -36,16 +36,16 @@
        ( 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
-       make -C $(LINUX_DIR) ARCH=xen dep
+       make -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) oldconfig
+       make -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) dep
 
 config: CONFIGMODE = menuconfig
 config: $(LINUX_DIR)/include/linux/autoconf.h
-       $(MAKE) -C $(LINUX_DIR) ARCH=xen $(CONFIGMODE)
-       $(MAKE) -C $(LINUX_DIR) ARCH=xen dep
+       $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) $(CONFIGMODE)
+       $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) dep
 
 clean::
-       $(MAKE) -C $(LINUX_DIR) ARCH=xen clean
+       $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) clean
 
 delete: 
        rm -rf tmp-$(OS)-$(LINUX_VER) $(LINUX_DIR) 
diff -r f8e7af29daa1 -r ee8226e15e9f buildconfigs/mk.linux-2.6-xen
--- a/buildconfigs/mk.linux-2.6-xen     Tue Sep 20 09:43:46 2005
+++ b/buildconfigs/mk.linux-2.6-xen     Tue Sep 20 14:18:01 2005
@@ -15,17 +15,17 @@
 # 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 ; \
+           $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) modules ; \
+           $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) 
INSTALL_MOD_PATH=$(DESTDIR) modules_install ; \
        fi
-       $(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_PATH=$(DESTDIR) install
+       $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) 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_SERIES)-xen-sparse ; \
-          ./mkbuildtree ../$(LINUX_DIR) )
+          LINUX_ARCH=$(LINUX_ARCH) ./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) ] && \
@@ -38,14 +38,14 @@
        ( 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
+       $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) oldconfig
 
 config: CONFIGMODE = menuconfig
 config: $(LINUX_DIR)/include/linux/autoconf.h
-       $(MAKE) -C $(LINUX_DIR) ARCH=xen $(CONFIGMODE)
+       $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) $(CONFIGMODE)
 
 clean::
-       $(MAKE) -C $(LINUX_DIR) ARCH=xen clean
+       $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) clean
 
 delete: 
        rm -rf tmp-$(OS)-$(LINUX_VER) $(LINUX_DIR) 
diff -r f8e7af29daa1 -r ee8226e15e9f buildconfigs/mk.linux-2.6-xen0
--- a/buildconfigs/mk.linux-2.6-xen0    Tue Sep 20 09:43:46 2005
+++ b/buildconfigs/mk.linux-2.6-xen0    Tue Sep 20 14:18:01 2005
@@ -15,17 +15,17 @@
 # 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 ; \
+           $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) modules ; \
+           $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) 
INSTALL_MOD_PATH=$(DESTDIR) modules_install ; \
        fi
-       $(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_PATH=$(DESTDIR) install
+       $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) 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_SERIES)-xen-sparse ; \
-          ./mkbuildtree ../$(LINUX_DIR) )
+          LINUX_ARCH=$(LINUX_ARCH) ./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) ] && \
@@ -38,14 +38,14 @@
        ( 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
+       $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) oldconfig
 
 config: CONFIGMODE = menuconfig
 config: $(LINUX_DIR)/include/linux/autoconf.h
-       $(MAKE) -C $(LINUX_DIR) ARCH=xen $(CONFIGMODE)
+       $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) $(CONFIGMODE)
 
 clean::
-       $(MAKE) -C $(LINUX_DIR) ARCH=xen clean
+       $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) clean
 
 delete: 
        rm -rf tmp-$(OS)-$(LINUX_VER) $(LINUX_DIR) 
diff -r f8e7af29daa1 -r ee8226e15e9f buildconfigs/mk.linux-2.6-xenU
--- a/buildconfigs/mk.linux-2.6-xenU    Tue Sep 20 09:43:46 2005
+++ b/buildconfigs/mk.linux-2.6-xenU    Tue Sep 20 14:18:01 2005
@@ -15,17 +15,17 @@
 # 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 ; \
+           $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) modules ; \
+           $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) 
INSTALL_MOD_PATH=$(DESTDIR) modules_install ; \
        fi
-       $(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_PATH=$(DESTDIR) install
+       $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) 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_SERIES)-xen-sparse ; \
-          ./mkbuildtree ../$(LINUX_DIR) )
+          LINUX_ARCH=$(LINUX_ARCH) ./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) ] && \
@@ -38,14 +38,14 @@
        ( 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
+       $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) oldconfig
 
 config: CONFIGMODE = menuconfig
 config: $(LINUX_DIR)/include/linux/autoconf.h
-       $(MAKE) -C $(LINUX_DIR) ARCH=xen $(CONFIGMODE)
+       $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) $(CONFIGMODE)
 
 clean::
-       $(MAKE) -C $(LINUX_DIR) ARCH=xen clean
+       $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) clean
 
 delete: 
        rm -rf tmp-$(OS)-$(LINUX_VER) $(LINUX_DIR) 
diff -r f8e7af29daa1 -r ee8226e15e9f linux-2.6-xen-sparse/mkbuildtree
--- a/linux-2.6-xen-sparse/mkbuildtree  Tue Sep 20 09:43:46 2005
+++ b/linux-2.6-xen-sparse/mkbuildtree  Tue Sep 20 14:18:01 2005
@@ -89,6 +89,11 @@
 abs_to_rel ${AD} ${AS}
 RS=$DESTPATH
 
+# Arch-specific pre-processing
+if [ -x arch/${LINUX_ARCH}/xen-mkbuildtree-pre ]; then
+       arch/${LINUX_ARCH}/xen-mkbuildtree-pre
+fi
+
 # Remove old copies of files and directories at the destination
 for i in `find . -type f -o -type l` ; do rm -f ${AD}/${i#./} ; done
 
@@ -110,3 +115,9 @@
 
 cd ${AD}/include/asm-xen/linux-public
 ln -sf ../../../${RS}/../tools/xenstore/xenstored.h
+
+# Arch-specific post-processing
+cd ${AD}
+if [ -x arch/${LINUX_ARCH}/xen-mkbuildtree-post ]; then
+       arch/${LINUX_ARCH}/xen-mkbuildtree-post
+fi

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.