diff mbox

[Xen-devel,xen.git,v2] build: remove Linux kernel build integration.

Message ID 1396971478-25664-1-git-send-email-ian.campbell@citrix.com
State Accepted
Commit 40305629dc48a6bfdef52ae5995bfcfb1d59ae8e
Headers show

Commit Message

Ian Campbell April 8, 2014, 3:37 p.m. UTC
We haven't shipped a XenoLinux kernel for more releases than I can remember.
We held onto these because osstest was using them but this is no longer the
case.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
v2: Remove include of buildconfigs/Rules.mk from Makefile. Ensure we export
DESTDIR since previously buildconfigs/Rules.mk did it.
---
 Makefile                             |   61 +--
 buildconfigs/Rules.mk                |   42 --
 buildconfigs/enable-xen-config       |  127 ------
 buildconfigs/interface.exclude       |    7 -
 buildconfigs/ketchup                 |  742 ----------------------------------
 buildconfigs/mk.linux-2.6            |   10 -
 buildconfigs/mk.linux-2.6-common     |  154 -------
 buildconfigs/mk.linux-2.6-git        |    2 -
 buildconfigs/mk.linux-2.6-mm         |    2 -
 buildconfigs/mk.linux-2.6-native     |    5 -
 buildconfigs/mk.linux-2.6-pvops      |   17 -
 buildconfigs/mk.linux-2.6-rc         |    2 -
 buildconfigs/mk.linux-2.6-tip        |    2 -
 buildconfigs/mk.linux-2.6-tip-latest |   17 -
 buildconfigs/mk.linux-2.6-xen        |    6 -
 buildconfigs/mk.linux-2.6-xen0       |    2 -
 buildconfigs/mk.linux-2.6-xenU       |    2 -
 buildconfigs/select-linux-arch       |   30 --
 buildconfigs/select-linux-image      |   33 --
 buildconfigs/select-repository       |   69 ----
 buildconfigs/src.git-clone           |   32 --
 buildconfigs/src.hg-clone            |   32 --
 buildconfigs/src.tarball             |   19 -
 config/Linux.mk                      |    7 -
 configure                            |   50 ---
 configure.ac                         |    1 -
 26 files changed, 11 insertions(+), 1462 deletions(-)
 delete mode 100644 buildconfigs/Rules.mk
 delete mode 100644 buildconfigs/enable-xen-config
 delete mode 100644 buildconfigs/interface.exclude
 delete mode 100644 buildconfigs/ketchup
 delete mode 100644 buildconfigs/mk.linux-2.6
 delete mode 100644 buildconfigs/mk.linux-2.6-common
 delete mode 100644 buildconfigs/mk.linux-2.6-git
 delete mode 100644 buildconfigs/mk.linux-2.6-mm
 delete mode 100644 buildconfigs/mk.linux-2.6-native
 delete mode 100644 buildconfigs/mk.linux-2.6-pvops
 delete mode 100644 buildconfigs/mk.linux-2.6-rc
 delete mode 100644 buildconfigs/mk.linux-2.6-tip
 delete mode 100644 buildconfigs/mk.linux-2.6-tip-latest
 delete mode 100644 buildconfigs/mk.linux-2.6-xen
 delete mode 100644 buildconfigs/mk.linux-2.6-xen0
 delete mode 100644 buildconfigs/mk.linux-2.6-xenU
 delete mode 100755 buildconfigs/select-linux-arch
 delete mode 100755 buildconfigs/select-linux-image
 delete mode 100755 buildconfigs/select-repository
 delete mode 100644 buildconfigs/src.git-clone
 delete mode 100644 buildconfigs/src.hg-clone
 delete mode 100644 buildconfigs/src.tarball

Comments

Ian Campbell April 10, 2014, 11:37 a.m. UTC | #1
On Tue, 2014-04-08 at 16:37 +0100, Ian Campbell wrote:
> We haven't shipped a XenoLinux kernel for more releases than I can remember.
> We held onto these because osstest was using them but this is no longer the
> case.
> 
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

Applied.
diff mbox

Patch

diff --git a/Makefile b/Makefile
index 91ca280..41dabbf 100644
--- a/Makefile
+++ b/Makefile
@@ -7,7 +7,7 @@ 
 all: dist
 
 -include config/Toplevel.mk
-SUBSYSTEMS?=xen kernels tools stubdom docs
+SUBSYSTEMS?=xen tools stubdom docs
 TARGS_DIST=$(patsubst %, dist-%, $(SUBSYSTEMS))
 TARGS_INSTALL=$(patsubst %, install-%, $(SUBSYSTEMS))
 
@@ -15,15 +15,15 @@  export XEN_ROOT=$(CURDIR)
 include Config.mk
 
 SUBARCH := $(subst x86_32,i386,$(XEN_TARGET_ARCH))
-export XEN_TARGET_ARCH SUBARCH XEN_SYSTYPE
-include buildconfigs/Rules.mk
+export XEN_TARGET_ARCH SUBARCH
+export DESTDIR
 
 # build and install everything into the standard system directories
 .PHONY: install
 install: $(TARGS_INSTALL)
 
 .PHONY: build
-build: kernels
+build:
 	$(MAKE) -C xen build
 	$(MAKE) -C tools build
 	$(MAKE) -C stubdom build
@@ -54,17 +54,12 @@  dist-%: install-%
 	@: # do nothing
 
 # Legacy dist targets
-.PHONY: xen tools stubdom kernels docs
+.PHONY: xen tools stubdom docs
 xen: dist-xen
 tools: dist-tools
-kernels: dist-kernels
 stubdom: dist-stubdom
 docs: dist-docs
 
-.PHONY: prep-kernels
-prep-kernels:
-	for i in $(XKERNELS) ; do $(MAKE) $$i-prep || exit 1; done
-
 .PHONY: install-xen
 install-xen:
 	$(MAKE) -C xen install
@@ -95,10 +90,6 @@  endif
 install-tools: $(QEMU_TRAD_DIR_TARGET) $(QEMU_XEN_DIR_TARGET)
 	$(MAKE) -C tools install
 
-.PHONY: install-kernels
-install-kernels:
-	for i in $(XKERNELS) ; do $(MAKE) $$i-install || exit 1; done
-
 .PHONY: install-stubdom
 install-stubdom: $(QEMU_TRAD_DIR_TARGET) install-tools
 	$(MAKE) -C stubdom install
@@ -122,27 +113,12 @@  install-docs:
 dev-docs:
 	$(MAKE) -C docs dev-docs
 
-# Build all the various kernels and modules
-.PHONY: kbuild
-kbuild: kernels
-
-# Delete the kernel build trees entirely
-.PHONY: kdelete
-kdelete:
-	for i in $(XKERNELS) ; do $(MAKE) $$i-delete ; done
-
-# Clean the kernel build trees
-.PHONY: kclean
-kclean:
-	for i in $(XKERNELS) ; do $(MAKE) $$i-clean ; done
-
-# build xen, the tools, and a domain 0 plus unprivileged linux-xen images,
-# and place them in the install directory. 'make install' should then
-# copy them to the normal system directories
+# build xen and the tools and place them in the install
+# directory. 'make install' should then copy them to the normal system
+# directories
 .PHONY: world
 world: 
 	$(MAKE) clean
-	$(MAKE) kdelete
 	$(MAKE) dist
 
 # Package a build in a debball file, that is inside a .deb format
@@ -159,7 +135,6 @@  debball: dist
 rpmball: dist
 	bash ./tools/misc/mkrpm $(XEN_ROOT) $$($(MAKE) -C xen xenversion --no-print-directory)
 
-# clean doesn't do a kclean
 .PHONY: clean
 clean::
 	$(MAKE) -C xen clean
@@ -170,7 +145,7 @@  ifeq (x86_64,$(XEN_TARGET_ARCH))
 endif
 	$(MAKE) -C docs clean
 
-# clean, but blow away kernel build tree plus tarballs
+# clean, but blow away tarballs
 .PHONY: distclean
 distclean:
 	rm -f config/Toplevel.mk
@@ -181,9 +156,7 @@  ifeq (x86_64,$(XEN_TARGET_ARCH))
 	XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom distclean
 endif
 	$(MAKE) -C docs distclean
-	rm -rf dist patches/tmp
-	for i in $(ALLKERNELS) ; do $(MAKE) $$i-delete ; done
-	rm -rf patches/*/.makedep
+	rm -rf dist
 	rm -rf config.log config.status config.cache autom4te.cache
 
 # Linux name for GNU distclean
@@ -203,19 +176,15 @@  help:
 	@echo '  install          - build and install everything'
 	@echo '  install-xen      - build and install the Xen hypervisor'
 	@echo '  install-tools    - build and install the control tools'
-	@echo '  install-kernels  - build and install guest kernels'
 	@echo '  install-stubdom  - build and install the stubdomain images'
 	@echo '  install-docs     - build and install user documentation'
 	@echo ''
 	@echo 'Building targets:'
 	@echo '  dist             - build and install everything into local dist directory'
-	@echo '  world            - clean everything, delete guest kernel build'
-	@echo '                     trees then make dist'
+	@echo '  world            - clean everything then make dist'
 	@echo '  xen              - build and install Xen hypervisor'
 	@echo '  tools            - build and install tools'
 	@echo '  stubdom          - build and install the stubdomain images'
-	@echo '  kernels          - build and install guest kernels'
-	@echo '  kbuild           - synonym for make kernels'
 	@echo '  docs             - build and install user documentation'
 	@echo '  dev-docs         - build developer-only documentation'
 	@echo ''
@@ -223,11 +192,8 @@  help:
 	@echo '  clean            - clean the Xen, tools and docs (but not guest kernel trees)'
 	@echo '  distclean        - clean plus delete kernel build trees and'
 	@echo '                     local downloaded files'
-	@echo '  kdelete          - delete guest kernel build trees'
-	@echo '  kclean           - clean guest kernel build trees'
 	@echo ''
 	@echo 'Miscellaneous targets:'
-	@echo '  prep-kernels     - prepares kernel directories, does not build'
 	@echo '  uninstall        - attempt to remove installed Xen tools'
 	@echo '                     (use with extreme care!)'
 	@echo
@@ -255,11 +221,6 @@  uninstall:
 	make -C tools uninstall
 	rm -rf $(D)/boot/tboot*
 
-# Legacy targets for compatibility
-.PHONY: linux26
-linux26:
-	$(MAKE) 'KERNELS=linux-2.6*' kernels
-
 .PHONY: xenversion
 xenversion:
 	@$(MAKE) --no-print-directory -C xen xenversion
diff --git a/buildconfigs/Rules.mk b/buildconfigs/Rules.mk
deleted file mode 100644
index ee61cf6..0000000
--- a/buildconfigs/Rules.mk
+++ /dev/null
@@ -1,42 +0,0 @@ 
-
-include Config.mk
-
-export DESTDIR
-
-ALLKERNELS = $(patsubst buildconfigs/mk.%,%,$(wildcard buildconfigs/mk.*))
-
-%-install:
-	$(MAKE) -f buildconfigs/mk.$* build
-
-%-dist: DESTDIR=$(DISTDIR)/install
-%-dist: %-install
-	@: # do nothing
-
-# Legacy dist target
-%-build: %-dist
-	@: # do nothing
-
-%-prep: DESTDIR=$(DISTDIR)/install
-%-prep:
-	$(MAKE) -f buildconfigs/mk.$* prep
-
-%-config: DESTDIR=$(DISTDIR)/install
-%-config:
-	$(MAKE) -f buildconfigs/mk.$* config
-
-%-delete:
-	$(MAKE) -f buildconfigs/mk.$* delete
-
-%-clean:
-	$(MAKE) -f buildconfigs/mk.$* clean
-
-%.patch:
-	$(MAKE) -f buildconfigs/mk.$* $@
-
-%-mrproper:
-	$(MAKE) -f buildconfigs/mk.$*-xen mrproper
-	rm -rf pristine-$(*)* ref-$(*)*
-	rm -rf $*-xen.patch
-
-# never delete any intermediate files.
-.SECONDARY:
diff --git a/buildconfigs/enable-xen-config b/buildconfigs/enable-xen-config
deleted file mode 100644
index 7ee4d37..0000000
--- a/buildconfigs/enable-xen-config
+++ /dev/null
@@ -1,127 +0,0 @@ 
-#!/bin/sh
-
-set -e
-
-if [ $# -ne 1 ] ; then
-	echo "Usage $(basename $0) <config-file>" 1>&2
-	exit 1
-fi
-
-CONFIG=$1
-
-setopt()
-{
-	OPTION=$1
-	VALUE=$2
-
-	# First remove any existing instances of this option
-	sed -e "s/^# ${OPTION} is not set$//g ; s/^${OPTION}=.*$//g" -i "${CONFIG}"
-
-	# Then append the new value
-	case ${VALUE} in
-	    n)     echo "# ${OPTION} is not set" >> "${CONFIG}" ;;
-	    y|m|*) echo "${OPTION}=${VALUE}" >> "${CONFIG}" ;;
-	esac
-}
-
-setopt CONFIG_PARAVIRT y
-setopt CONFIG_PARAVIRT_DEBUG y
-setopt CONFIG_PARAVIRT_GUEST y
-setopt CONFIG_PARAVIRT_SPINLOCKS y
-
-setopt CONFIG_XEN y
-setopt CONFIG_XEN_BLKDEV_FRONTEND y
-setopt CONFIG_XEN_NETDEV_FRONTEND y
-setopt CONFIG_XEN_KBDDEV_FRONTEND y
-setopt CONFIG_XEN_FBDEV_FRONTEND y
-setopt CONFIG_XEN_PCIDEV_FRONTEND y
-setopt CONFIG_XEN_BALLOON y
-setopt CONFIG_XEN_SCRUB_PAGES y
-setopt CONFIG_XEN_DEV_EVTCHN y
-setopt CONFIG_XEN_BACKEND y
-setopt CONFIG_XEN_BLKDEV_BACKEND y
-setopt CONFIG_XEN_BLKDEV_TAP y
-setopt CONFIG_XEN_NETDEV_BACKEND y
-setopt CONFIG_XEN_PCIDEV_BACKEND y
-setopt CONFIG_XEN_PCIDEV_BACKEND_VPCI y
-setopt CONFIG_XEN_PCIDEV_BACKEND_PASS n
-setopt CONFIG_XEN_PCIDEV_BACKEND_SLOT n
-setopt CONFIG_XEN_PCIDEV_BE_DEBUG n
-setopt CONFIG_XENFS y
-setopt CONFIG_XEN_COMPAT_XENFS y
-setopt CONFIG_XEN_PCI_PASSTHROUGH y
-setopt CONFIG_HVC_XEN y
-setopt CONFIG_XEN_MAX_DOMAIN_MEMORY 32
-setopt CONFIG_XEN_DEBUG_FS y
-setopt CONFIG_XEN_DOM0 y
-setopt CONFIG_XEN_SYS_HYPERVISOR y
-setopt CONFIG_XEN_GNTDEV y
-setopt CONFIG_XEN_PLATFORM_PCI y
-
-setopt CONFIG_VMI y
-setopt CONFIG_TUN y
-
-setopt CONFIG_KVM y
-setopt CONFIG_KVM_INTEL y
-setopt CONFIG_KVM_AMD y
-setopt CONFIG_KVM_CLOCK y
-setopt CONFIG_KVM_GUEST n
-setopt CONFIG_KVM_TRACE n
-
-setopt CONFIG_LGUEST n
-
-setopt CONFIG_LOCALVERSION_AUTO n
-
-setopt CONFIG_BRIDGE y
-
-setopt CONFIG_DEBUG_STACK_USAGE n
-
-setopt CONFIG_MEMORY_HOTPLUG y
-setopt CONFIG_MEMORY_HOTREMOVE y
-
-setopt CONFIG_MIGRATION n
-
-setopt CONFIG_ACPI_HOTPLUG_MEMORY n
-
-# Should all be set one way or another in defconfig but aren't
-setopt CONFIG_NUMA n
-setopt CONFIG_X86_VSMP n
-setopt CONFIG_X86_UV n
-setopt CONFIG_CALGARY_IOMMU n
-setopt CONFIG_AMD_IOMMU n
-setopt CONFIG_MAXSMP n
-setopt CONFIG_SPARSEMEM_VMEMMAP n
-setopt CONFIG_I7300_IDLE n
-setopt CONFIG_DMAR n
-setopt CONFIG_INTR_REMAP n
-setopt CONFIG_GFS2_FS n
-setopt CONFIG_IOMMU_DEBUG n
-setopt CONFIG_X86_MCE_INTEL n
-setopt CONFIG_X86_MCE_AMD n
-setopt CONFIG_CRYPTO_AES_NI_INTEL n
-setopt CONFIG_CISS_SCSI_TAPE n
-
-setopt CONFIG_FUSION y
-setopt CONFIG_FUSION_SPI m
-setopt CONFIG_FUSION_SAS m
-setopt CONFIG_FUSION_FC m
-setopt CONFIG_FUSION_MAX_SGE 128
-setopt CONFIG_FUSION_CTL n
-setopt CONFIG_FUSION_LOGGING n
-
-setopt CONFIG_BLK_CPQ_CISS_DA m
-
-case ${XEN_TARGET_ARCH} in
-    x86_32) setopt CONFIG_64BIT n ;;
-    x86_64)
-	setopt CONFIG_64BIT y
-	setopt CONFIG_IA32_EMULATION y
-	setopt CONFIG_IA32_AOUT n
-	setopt CONFIG_CRYPTO_AES_X86_64 n
-	setopt CONFIG_CRYPTO_SALSA20_X86_64 n
-	setopt CONFIG_CRYPTO_TWOFISH_X86_64 n
-	;;
-    *) ;;
-esac
-
-exit 0
diff --git a/buildconfigs/interface.exclude b/buildconfigs/interface.exclude
deleted file mode 100644
index 1df89a5..0000000
--- a/buildconfigs/interface.exclude
+++ /dev/null
@@ -1,7 +0,0 @@ 
-*.size
-*.pyc
-checker
-checker.c
-ia64.h
-x86_32.h
-x86_64.h
diff --git a/buildconfigs/ketchup b/buildconfigs/ketchup
deleted file mode 100644
index 8725f7d..0000000
--- a/buildconfigs/ketchup
+++ /dev/null
@@ -1,742 +0,0 @@ 
-#!/usr/bin/python
-#
-# ketchup 0.9.8
-# http://selenic.com/ketchup/wiki
-#
-# Copyright 2004 Matt Mackall <mpm@selenic.com>
-#
-# This software may be used and distributed according to the terms
-# of the GNU General Public License, incorporated herein by reference.
-#
-# Usage:
-#
-# in an existing kernel directory, run:
-#
-#  ketchup <version>
-#
-# where version is a complete kernel version, or a branch name to grab
-# the latest version
-#
-# You can override some variables by creating a ~/.ketchuprc file.
-# The ~/.ketchuprc is just a Python script, eg. it might look like this:
-#
-# kernel_url = 'http://kernel.localdomain/pub/linux/kernel'
-# archive = os.environ["HOME"] + '/tmp/ketchup-archive'
-# gpg = '/weird/path/to/gpg'
-#
-
-import re, sys, urllib, os, getopt, glob, shutil
-
-def error(*args):
-    sys.stderr.write("ketchup: ")
-    for a in args:
-        sys.stderr.write(str(a))
-        sys.stderr.write("\n")
-
-def qprint(*args):
-    if not options["quiet"]:
-        sys.stdout.write(" ".join(map(str, args)))
-        sys.stdout.write("\n")
-
-def lprint(*args):
-    sys.stdout.write(" ".join(map(str, args)))
-    sys.stdout.write("\n")
-
-
-def fancyopts(args, options, state, syntax=''):
-    long = []
-    short = ''
-    map = {}
-    dt = {}
-
-    def help(state, opt, arg, options = options, syntax = syntax):
-        lprint("Usage: ", syntax)
-
-        for s, l, d, c in options:
-            opt = ' '
-            if s: opt = opt + '-' + s + ' '
-            if l: opt = opt + '--' + l + ' '
-            if d: opt = opt + '(' + str(d) + ')'
-            lprint(opt)
-            if c: lprint('   %s' % c)
-        sys.exit(0)
-
-    options = [('h', 'help', help, 'Show usage info')] + options
-
-    for s, l, d, c in options:
-        map['-'+s] = map['--'+l]=l
-        state[l] = d
-        dt[l] = type(d)
-        if not d is None and not type(d) is type(help): s, l = s + ':', l + '='
-        if s: short = short + s
-        if l: long.append(l)
-
-    if os.environ.has_key("KETCHUP_OPTS"):
-        args = os.environ["KETCHUP_OPTS"].split() + args
-
-    try:
-        opts, args = getopt.getopt(args, short, long)
-    except getopt.GetoptError:
-        help(state, None, args)
-        sys.exit(-1)
-
-    for opt, arg in opts:
-        if dt[map[opt]] is type(help): state[map[opt]](state,map[opt],arg)
-        elif dt[map[opt]] is type(1): state[map[opt]] = int(arg)
-        elif dt[map[opt]] is type(''): state[map[opt]] = arg
-        elif dt[map[opt]] is type([]): state[map[opt]].append(arg)
-        elif dt[map[opt]] is type(None): state[map[opt]] = 1
-
-    return args
-
-# Default values
-kernel_url = 'http://www.kernel.org/pub/linux/kernel'
-archive = os.environ["HOME"] + "/.ketchup"
-rename_prefix = 'linux-'
-rename_with_localversion = False
-wget = "/usr/bin/wget"
-gpg = "/usr/bin/gpg"
-precommand = postcommand = None
-default_tree = None
-local_trees = {}
-
-# Functions to parse version strings
-
-def tree(ver):
-    return float(re.match(r'(\d+\.\d+)', ver).group(1))
-
-def rev(ver):
-    p = pre(ver)
-    r = int(re.match(r'\d+\.\d+\.(\d+)', ver).group(1))
-    if p: r = r - 1
-    return r
-
-def pre(ver):
-    try: return re.match(r'\d+\.\d+\.\d+(\.\d+)?-((rc|pre)\d+)', ver).group(2)
-    except: return None
-
-def post(ver):
-    try: return re.match(r'\d+\.\d+\.\d+\.(\d+)', ver).group(1)
-    except: return None
-
-def pretype(ver):
-    try: return re.match(r'\d+\.\d+\.\d+(\.\d+)?-((rc|pre)\d+)', ver).group(3)
-    except: return None
-
-def prenum(ver):
-    try: return int(re.match(r'\d+\.\d+\.\d+-((rc|pre)(\d+))', ver).group(3))
-    except: return None
-
-def prebase(ver):
-    return re.match(r'(\d+\.\d+\.\d+((-(rc|pre)|\.)\d+)?)', ver).group(1)
-
-def revbase(ver):
-    return "%s.%s" % (tree(ver), rev(ver))
-
-def base(ver):
-    v = revbase(ver)
-    if post(ver): v += "." + post(ver)
-    return v
-
-def forkname(ver):
-    try: return re.match(r'\d+.\d+.\d+(\.\d+)?(-(rc|pre)\d+)?(-(\w+?)\d+)?',
-                         ver).group(5)
-    except: return None
-
-def forknum(ver):
-    try: return int(
-        re.match(r'\d+.\d+.\d+(\.\d+)?(-(rc|pre)\d+)?(-(\w+?)(\d+))?',
-                 ver).group(6))
-    except: return None
-
-def fork(ver):
-    try: return re.match(r'\d+.\d+.\d+(\.\d+)?(-(rc|pre)\d+)?(-(\w+))?', ver).group(4)
-    except: return None
-
-def get_ver(makefile):
-    """ Read the version information from the specified makefile """
-    part = {}
-    parts = "VERSION PATCHLEVEL SUBLEVEL EXTRAVERSION".split(' ')
-    m = open(makefile)
-    for l in m.readlines():
-        for p in parts:
-            try: part[p] = re.match(r'%s\s*=\s*(\S+)' % p, l).group(1)
-            except: pass
-
-    version = "%s.%s.%s" % tuple([part[p] for p in parts[:3]])
-    version += part.get("EXTRAVERSION","")
-    return version
-
-def get_localversion():
-    v = ''
-
-    for name in glob.glob('localversion*'):
-        try: v += open(name).readline().strip()
-        except: pass
-
-    try:
-        c = open('.config').read()
-        v += re.search(r'^CONFIG_LOCALVERSION="(.+)"', c, re.M).group(1)
-    except: pass
-
-    return v
-
-def compare_ver(a, b):
-    """
-    Compare kernel versions a and b
-
-    Note that -pre and -rc versions sort before the version they modify,
-    -pre sorts before -rc, -bk, -git, and -mm, etc. sort alphabetically.
-    """
-    if a == b: return 0
-
-    c = cmp(float(tree(a)), float(tree(b)))
-    if c: return c
-    c = cmp(rev(a), rev(b))
-    if c: return c
-    c = cmp(int(post(a) or 0), int(post(b) or 0))
-    if c: return c
-    c = cmp(pretype(a), pretype(b)) # pre sorts before rc
-    if c: return c
-    c = cmp(prenum(a), prenum(b))
-    if c: return c
-    c = cmp(forkname(a), forkname(b))
-    if c: return c
-    return cmp(forknum(a), forknum(b))
-
-def last(url, pat="(.*/)"):
-    for l in urllib.urlopen(url).readlines():
-        m = re.search('(?i)<a href="%s">' % pat, l)
-        if m: n = m.group(1)
-    return n
-
-def latest_mm(url, pat):
-    url = kernel_url + '/people/akpm/patches/2.6/'
-    url += last(url)
-    part = last(url)
-    return part[:-1]
-
-def latest_ck(url, pat):
-    url = "http://ck.kolivas.org/patches/2.6/pre-releases/"
-    url += last(url)
-    part = last(url)
-    pre = part[:-1]
-
-    url = "http://ck.kolivas.org/patches/2.6/"
-    url += last(url,"(2.6.*/)")
-    part = last(url)
-    rel = part[:-1]
-
-    l = [pre, rel]
-    l.sort(compare_ver)
-    return l[-1]
-
-def latest_dir(url, pat):
-    """Find the latest link matching pat at url after sorting"""
-    p = []
-    for l in urllib.urlopen(url).readlines():
-        m = re.search('"%s"' % pat, l)
-        if m: p.append(m.group(1))
-
-    if not p: return None
-
-    p.sort(compare_ver)
-    return p[-1]
-
-# mbligh is lazy and has a bunch of empty directories
-def latest_mjb(url, pat):
-    url = kernel_url + '/people/mbligh/'
-
-    # find the last Linus release and search backwards
-    l = [find_ver('2.6'), find_ver("2.6-pre")]
-    l.sort(compare_ver)
-    linus = l[-1]
-
-    p = []
-    for l in urllib.urlopen(url).readlines():
-        m = re.search('"(2\.6\..*/)"', l)
-        if m:
-            v = m.group(1)
-            if compare_ver(v, linus) <= 0:
-                p.append(v)
-
-    p.sort(compare_ver)
-    p.reverse()
-
-    for ver in p:
-        mjb = latest_dir(url + ver, pat)
-        if mjb: return mjb
-
-    return None
-
-def latest_26_tip(url, pat):
-    l = [find_ver('2.6'), find_ver('2.6-git'), find_ver('2.6-pre')]
-    l.sort(compare_ver)
-    return l[-1]
-
-def find_info(ver):
-    b = "%.1f" % tree(ver)
-    f = forkname(ver)
-    p = pre(ver)
-
-    s = b
-    if f:
-        s = "%s-%s" % (b, f)
-    elif p:
-        s = "%s-pre" % b
-
-    return version_info[s]
-
-def version_urls(ver):
-    """ Return the URL for the patch associated with the specified version """
-    i = find_info(ver)[1]
-    if type(i) != type([]):
-        i = [i]
-
-    v = {
-        'full': ver,
-        'tree': tree(ver),
-        'base': base(ver),
-        'prebase': prebase(ver)
-        }
-
-    l = []
-    for e in i:
-        l.append(e % v)
-
-    return l
-
-def patch_path(ver):
-    return os.path.join(archive, os.path.basename(version_urls(ver)[0]))
-
-def download(url, f):
-    qprint("Downloading %s" % os.path.basename(url))
-    if options["dry-run"]:
-        return 1
-
-    if not options["wget"]:
-        p = urllib.urlopen(url).read()
-        if p.find("<title>404") != -1:
-            return None
-        open(f, 'w').write(p)
-    else:
-        e = os.system("%s -c -O %s %s" %
-                      (options["wget"], f + ".partial", url))
-        if e:
-            return None
-        os.rename(f + ".partial", f)
-
-    return 1
-
-def verify(url, f, sign):
-    if options["no-gpg"] or options["dry-run"] or not options["gpg-path"]:
-        return 1
-
-    sf = f + sign
-    if not download(url + sign, sf):
-        error("signature download failed")
-        error("removing files...")
-        os.unlink(f)
-        return 0
-
-    qprint("Verifying signature...")
-    r = os.system("%s --verify %s %s" % (options["gpg-path"], sf, f))
-    if r:
-        error("gpg returned %d" % r)
-        error("removing files...")
-        os.unlink(f)
-        os.unlink(sf)
-        return 0
-
-    return 1
-
-def trydownload(urls, f, sign):
-    for url in urls:
-        if download(url, f):
-            if not sign or verify(url, f, sign):
-                return f
-        if url[-4:] == ".bz2":
-            f2 = f[:-4] + ".gz"
-            url2 = url[:-4] + ".gz"
-            if download(url2, f2):
-                if not sign or verify(url2, f2, sign):
-                    return f2
-    return None
-
-def get_patch(ver):
-    """Return the path to patch for given ver, downloading if necessary"""
-    f = patch_path(ver)
-    if os.path.exists(f):
-        return f
-    if f[-4:] == ".bz2":
-        f2 = f[:-4] + ".gz"
-        if os.path.exists(f2):
-            return f2
-
-    urls = version_urls(ver)
-    sign = find_info(ver)[3]
-    if sign == 1: sign = ".sign"
-    f = trydownload(urls, f, sign)
-    if not f:
-        error("patch download failed")
-        sys.exit(-1)
-
-    return f
-
-def apply_patch(ver, reverse = 0):
-    """Find the patch to upgrade from the predecessor of ver to ver and
-    apply or reverse it."""
-    p = get_patch(ver)
-    r = ""
-    if reverse:
-        r = " -R"
-
-    qprint("Applying %s%s" % (os.path.basename(p), r))
-    if options["dry-run"]:
-        return ver
-
-    def cmd(patch, reverse, dry):
-        base = "patch -l -p1%s" % reverse
-        if dry:
-            base += " --dry-run"
-
-        if p[-4:] == ".bz2":
-            pipe = "bzcat %s | %s" % (patch, base)
-        elif p[-3:] == ".gz":
-            pipe = "zcat %s | %s" % (patch, base)
-        else:
-            pipe = "%s < %s" % (base, patch)
-
-        err = os.system(pipe + " > .patchdiag")
-        if err:
-            sys.stderr.write(open(".patchdiag").read())
-        os.unlink(".patchdiag")
-        return err
-
-    err = cmd(p, r, 1)
-    if err:
-        error("patch %s failed: %d" % (p, err))
-        sys.exit(-1)
-
-    err = cmd(p, r, 0)
-    if err:
-        error("patch %s failed while it was supposed to apply: %d" % (p, err))
-        sys.exit(-1)
-
-def untar(tarfile):
-    old = os.getcwd()
-    os.mkdir("ketchup-tmp")
-    os.chdir("ketchup-tmp")
-
-    err = os.system("bzcat %s | tar -xf -" % tarfile)
-    if err:
-        error("Unpacking failed: ", err)
-        sys.exit(-1)
-
-    err = os.system("mv linux*/* linux*/.[^.]* ..; rmdir linux*")
-    if err:
-        error("Unpacking failed: ", err)
-        sys.exit(-1)
-
-    os.chdir(old)
-    shutil.rmtree("ketchup-tmp")
-
-def install_nearest(ver):
-    t = tree(ver)
-    tarballs = glob.glob(archive + "/linux-%s.*.tar.bz2" % t)
-    list = []
-
-    for f in tarballs:
-        m = re.match(r'.*/linux-(.*).tar.bz2$', f)
-        v = m.group(1)
-        d = abs(rev(v) - rev(ver))
-        list.append((d, f, v))
-    list.sort()
-
-    if not list or (options["full-tarball"] and list[0][0]):
-        f = "linux-%s.tar.bz2" % ver
-        url = "%s/v%s/%s" % (kernel_url, t, f)
-        f = archive + "/" + f
-
-        sign = find_info(ver)[3]
-        if sign == 1: sign = ".sign"
-
-        f = trydownload([url], f, sign)
-        if not f:
-            error("Tarball download failed")
-            sys.exit(-1)
-
-    else:
-        f = list[0][1]
-        ver = list[0][2]
-
-    qprint("Unpacking %s" % os.path.basename(f))
-    if options["dry-run"]: return ver
-    untar(f)
-
-    return ver
-
-def find_ver(ver):
-    if ver in version_info.keys():
-        v = version_info[ver]
-        d = v[1]
-        if type(d) is type([]):
-            d = d[0]
-        for n in range(5):
-            return v[0](os.path.dirname(d), v[2])
-            error('retrying version lookup for %s' % ver)
-    else:
-        return ver
-
-def transform(a, b):
-    if a == b:
-        qprint("Nothing to do!")
-        return
-    if not a:
-        a = install_nearest(base(b))
-    t = tree(a)
-    if t != tree(b):
-        error("Can't patch %s to %s" % (tree(a), tree(b)))
-        sys.exit(-1)
-    if fork(a):
-        apply_patch(a, 1)
-        a = prebase(a)
-    if prebase(a) != prebase(b):
-        if pre(a):
-            apply_patch(a, 1)
-            a = base(a)
-
-        if post(a) and post(a) != post(b):
-            apply_patch(prebase(a), 1)
-
-        ra, rb = rev(a), rev(b)
-        if ra > rb:
-            for r in range(ra, rb, -1):
-                apply_patch("%s.%s" % (t, r), -1)
-        if ra < rb:
-            for r in range(ra + 1, rb + 1):
-                apply_patch("%s.%s" % (t, r))
-        a = revbase(b)
-
-        if post(b) and post(a) != post(b):
-            apply_patch(prebase(b), 0)
-            a = base(b)
-
-        if pre(b):
-            apply_patch(prebase(b))
-            a = prebase(b)
-
-    if fork(b):
-        a = apply_patch(b)
-
-def rename_dir(v):
-    """Rename the current directory to linux-v, where v is the function arg"""
-    if rename_with_localversion:
-        v += get_localversion()
-    cwd = os.getcwd()
-    basedir = os.path.dirname(cwd)
-    newdir = os.path.join(basedir, rename_prefix + v)
-    if newdir == cwd:
-        return
-    if os.access(newdir, os.F_OK):
-        error("Cannot rename directory, destination exists: %s", newdir);
-        return
-    os.rename(cwd, newdir)
-    qprint('Current directory renamed to %s' % newdir)
-
-
-# latest lookup function, canonical urls, pattern for lookup function,
-#  signature flag, description
-version_info = {
-    '2.4': (latest_dir,
-            kernel_url + "/v2.4" + "/patch-%(base)s.bz2",
-            r'patch-(.*?).bz2',
-            1, "old stable kernel series"),
-    '2.4-pre': (latest_dir,
-                kernel_url + "/v2.4" + "/testing/patch-%(prebase)s.bz2",
-                r'patch-(.*?).bz2',
-                1, "old stable kernel series prereleases"),
-    '2.6': (latest_dir,
-            kernel_url + "/v2.6" + "/patch-%(prebase)s.bz2",
-            r'patch-(.*?).bz2',
-            1, "current stable kernel series"),
-    '2.6-rc': (latest_dir,
-                kernel_url + "/v2.6" + "/testing/patch-%(prebase)s.bz2",
-                r'patch-(.*?).bz2',
-                1, "current stable kernel series prereleases"),
-    '2.6-pre': (latest_dir,
-                kernel_url + "/v2.6" + "/testing/patch-%(prebase)s.bz2",
-                r'patch-(.*?).bz2',
-                1, "current stable kernel series prereleases"),
-    '2.6-git': (latest_dir,
-                [kernel_url + "/v2.6" + "/snapshots/patch-%(full)s.bz2",
-                 kernel_url + "/v2.6" + "/snapshots/old/patch-%(full)s.bz2"],
-                r'patch-(.*?).bz2',
-                1, "current stable kernel series snapshots"),
-    '2.6-bk': (latest_dir,
-               [kernel_url + "/v2.6" + "/snapshots/patch-%(full)s.bz2",
-                kernel_url + "/v2.6" + "/snapshots/old/patch-%(full)s.bz2"],
-               r'patch-(.*?).bz2',
-               1, "old stable kernel series snapshots"),
-    '2.6-tip': (latest_26_tip, "", "", 1,
-                "current stable kernel series tip"),
-    '2.6-mm': (latest_mm,
-               kernel_url + "/people/akpm/patches/" +
-               "%(tree)s/%(prebase)s/%(full)s/%(full)s.bz2", "",
-               1, "Andrew Morton's -mm development tree"),
-    '2.6-tiny': (latest_dir,
-                 "http://www.selenic.com/tiny/%(full)s.patch.bz2",
-                 r'(2.6.*?).patch.bz2',
-                 1, "Matt Mackall's -tiny tree for small systems"),
-    '2.6-mjb': (latest_mjb,
-                 kernel_url + "/people/mbligh/%(prebase)s/patch-%(full)s.bz2",
-                 r'patch-(2.6.*?).bz2',
-                 1, "Martin Bligh's random collection 'o crap"),
-    '2.6-rt': (latest_dir,
-               ["http://people.redhat.com/mingo/" +
-                "realtime-preempt/patch-%(full)s",
-                "http://people.redhat.com/mingo/" +
-                "realtime-preempt/older/patch-%(full)s"],
-               r'patch-(2.6.*?)',
-               0, "Ingo Molnar's realtime-preempt kernel"),
-    '2.6-ck': (latest_ck,
-               ["http://ck.kolivas.org/patches/2.6/" +
-                "%(prebase)s/%(full)s/patch-%(full)s.bz2",
-                "http://ck.kolivas.org/patches/2.6/pre-releases/" +
-                "%(prebase)s/%(full)s/patch-%(full)s.bz2"],
-               "", ".sig",
-               "Con Kolivas' patches for system responsiveness (desktop)"),
-    '2.6-cks': (latest_dir,
-                "http://ck.kolivas.org/patches/cks/patch-%(full)s.bz2",
-                r'patch-(2.6.*?).bz2', ".sig",
-                "Con Kolivas' patches for system responsiveness (server)")
-    }
-
-# Override defaults with ~/.ketchuprc which is just a Python script
-rcpath = os.path.expanduser('~/.ketchuprc')
-if os.path.isfile(rcpath):
-    try:
-        execfile(rcpath)
-    except Exception, e:
-        sys.exit('Failed parsing %s\nError was: %s' % (rcpath, e))
-
-# Add local trees
-for k,v in local_trees.items():
-    version_info[k] = v
-
-# Environment variables override defaults and ketchuprc
-kernel_url = os.environ.get("KETCHUP_URL", kernel_url)
-archive = os.environ.get("KETCHUP_ARCH", archive)
-
-# And finally command line overrides everything
-if not os.path.exists(wget): wget = ""
-if not os.path.exists(gpg): gpg = ""
-
-options = {}
-opts = [
-    ('a', 'archive', archive, 'cache directory'),
-    ('d', 'directory', '.', 'directory to update'),
-    ('f', 'full-tarball', None, 'if unpacking a tarball, download the latest'),
-    ('g', 'gpg-path', gpg, 'path for GnuPG'),
-    ('G', 'no-gpg', None, 'disable GPG signature verification'),
-    ('k', 'kernel-url', kernel_url, 'base url for kernel.org mirror'),
-    ('l', 'list-trees', None, 'list supported trees'),
-    ('m', 'show-makefile', None, 'output version in makefile <arg>'),
-    ('n', 'dry-run', None, 'don\'t download or apply patches'),
-    ('p', 'show-previous', None, 'output version previous to <arg>'),
-    ('q', 'quiet', None, 'reduce output'),
-    ('r', 'rename-directory', None, 'rename updated directory to %s<v>'
-     % rename_prefix),
-    ('s', 'show-latest', None, 'output the latest version of <arg>'),
-    ('u', 'show-url', None, 'output URL for <arg>'),
-    ('w', 'wget', wget, 'command to use for wget'),
-    ]
-
-args = fancyopts(sys.argv[1:], opts, options,
-                 'ketchup [options] [ver]')
-
-archive = options["archive"]
-kernel_url = options["kernel-url"]
-if options["no-gpg"]: options["gpg-path"] = ''
-
-# Process args
-
-if not os.path.exists(options["directory"]):
-    qprint("Creating target directory", options["directory"])
-    os.mkdir(options["directory"])
-os.chdir(options["directory"])
-
-if os.path.isfile(".ketchuprc"):
-    try:
-        execfile(".ketchuprc")
-    except Exception, e:
-        sys.exit('Failed parsing .ketchuprc\nError was: %s' % (e))
-
-if options["list-trees"]:
-    l = version_info.keys()
-    l.sort()
-    for tree in l:
-	if version_info[tree][3] == 0:
-	   lprint(tree, "(unsigned)")
-        else:
-	   lprint(tree, "(signed)")
-        lprint(" " + version_info[tree][4])
-    sys.exit(0)
-
-if options["show-makefile"] and len(args) < 2:
-    if not args:
-        lprint(get_ver("Makefile"))
-    else:
-        lprint(get_ver(args[0]))
-    sys.exit(0)
-
-if len(args) == 0 and default_tree:
-    qprint("Using default tree \"%s\"" % (default_tree))
-    args.append(default_tree)
-
-if len(args) != 1:
-    error("No version given on command line and no default in configuration")
-    sys.exit(-1)
-
-if options["show-latest"]:
-    lprint(find_ver(args[0]))
-    sys.exit(0)
-
-if options["show-url"]:
-    lprint(version_urls(find_ver(args[0]))[0])
-    sys.exit(0)
-
-if options["show-previous"]:
-    v = find_ver(args[0])
-    p = prebase(v)
-    if p == v: p = base(v)
-    if p == v:
-        if rev(v) > 0: p = "%.1f.%s" % (tree(v), rev(v) -1)
-        else: p = "unknown"
-    lprint(p)
-    sys.exit(0)
-
-if not os.path.exists(options["archive"]):
-    qprint("Creating cache directory", options["archive"])
-    os.mkdir(options["archive"])
-
-if precommand and os.system(precommand):
-    sys.exit('Precommand "%s" failed!' % precommand)
-
-try:
-    a = get_ver('Makefile')
-except:
-    a = None
-
-if not a and os.listdir("."):
-    error("Can't find kernel version for non-empty directory")
-    sys.exit(-1)
-
-b = find_ver(args[0])
-qprint("%s -> %s" % (a, b))
-transform(a, b)
-if options["rename-directory"] and not options["dry-run"]:
-    rename_dir(b)
-
-if postcommand and os.system(postcommand):
-    sys.exit('Postcommand "%s" failed!' % postcommand)
diff --git a/buildconfigs/mk.linux-2.6 b/buildconfigs/mk.linux-2.6
deleted file mode 100644
index 6b8d989..0000000
--- a/buildconfigs/mk.linux-2.6
+++ /dev/null
@@ -1,10 +0,0 @@ 
-XEN_LINUX_SOURCE ?= tarball
-LINUX_VER ?= 2.6
-
-IMAGE_TARGET ?= vmlinux bzImage
-
-XEN_LINUX_CONFIG_UPDATE := buildconfigs/enable-xen-config
-
-EXTRAVERSION ?=
-
-include buildconfigs/mk.linux-2.6-common
diff --git a/buildconfigs/mk.linux-2.6-common b/buildconfigs/mk.linux-2.6-common
deleted file mode 100644
index e8e97fb..0000000
--- a/buildconfigs/mk.linux-2.6-common
+++ /dev/null
@@ -1,154 +0,0 @@ 
-LINUX_SERIES = 2.6
-
-# Linux search path, will be searched for tarballs and mercurial
-# repositories.
-LINUX_SRC_PATH ?= .:..
-
-# The source directory is not automatically updated to avoid blowing
-# away developer's changes. If you want to automatically pull a new
-# version of the Linux tree then add `XEN_LINUX_UPDATE=y' to your make
-# command line.
-ifeq ($(XEN_LINUX_UPDATE),y)
-__XEN_LINUX_UPDATE = $(LINUX_SRCDIR)/.force-update
-else
-__XEN_LINUX_UPDATE =
-endif
-
-ifeq ($(XEN_LINUX_NONINTERACTIVE_CONFIG),y)
-__NONINT_CONFIG = yes $$'\n' |
-else
-__NONINT_CONFIG =
-endif
-
-LINUX_DIR     = build-linux-$(LINUX_VER)$(EXTRAVERSION)_$(XEN_TARGET_ARCH)
-
-IMAGE_TARGET ?= vmlinuz
-
-LINUX_VER3  := $(LINUX_SERIES).$(word 3, $(subst ., ,$(LINUX_VER)))
-
-.PHONY: _build
-_build: build
-
--include buildconfigs/src.$(XEN_LINUX_SOURCE)
-
-LINUX_ARCH = $$(sh buildconfigs/select-linux-arch $(LINUX_SRCDIR))
-IMAGE_PATH = $$(sh buildconfigs/select-linux-image $(LINUX_DIR) $(LINUX_ARCH) $(IMAGE_TARGET))
-
-INSTALL_BOOT_PATH := $(DESTDIR)/boot
-
-# Default to allowing interface mismatch
-ifndef XEN_LINUX_ALLOW_INTERFACE_MISMATCH
-XEN_LINUX_ALLOW_INTERFACE_MISMATCH := y
-endif
-
-KERNELRELEASE = $(shell $(MAKE) -s --no-print-directory -C $(LINUX_DIR) kernelrelease)
-
-# The real action starts here!
-.PHONY: build
-build: $(LINUX_DIR)/include/linux/autoconf.h
-ifneq ($(XEN_LINUX_ALLOW_INTERFACE_MISMATCH),y)
-	@if ! diff -urN -X buildconfigs/interface.exclude \
-              $(LINUX_SRCDIR)/include/xen/interface xen/include/public ; then \
-		echo "" 1>&2 ; \
-		echo " *** $(LINUX_SRCDIR)/include/xen/interface is out of date " 1>&2 ; \
-		echo " *** relative to $(XEN_ROOT)/xen/include/public." 1>&2 ; \
-		echo "" 1>&2 ; \
-		exit 1 ; \
-	fi
-endif
-	if grep "^CONFIG_MODULES=" $(LINUX_DIR)/.config ; then \
-	    $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) modules || exit 1 ; \
-	    $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) INSTALL_MOD_PATH=$(DESTDIR) modules_install ; \
-	fi
-	$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) INSTALL_PATH=$(DESTDIR) $(IMAGE_TARGET)
-	mkdir -p $(INSTALL_BOOT_PATH)
-	@cp -v $(IMAGE_PATH) $(INSTALL_BOOT_PATH)/vmlinuz-$(KERNELRELEASE)
-	@cp -v $(LINUX_DIR)/.config $(INSTALL_BOOT_PATH)/config-$(KERNELRELEASE)
-	@cp -v $(LINUX_DIR)/System.map $(INSTALL_BOOT_PATH)/System.map-$(KERNELRELEASE)
-
-$(LINUX_DIR)/include/linux/autoconf.h: CONFIG_FILE=$(CURDIR)/$(LINUX_DIR)/.config
-$(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 exists. Next try to use
-	# buildconfigs/create_config.sh is one is provided by the source
-	# tree. Finally attempt to use make defconfig.
-	set -e ; \
-	CONFIG_VERSION=$$(sed -ne 's/$$(XENGUEST)//; s/^EXTRAVERSION = //p' $(LINUX_SRCDIR)/Makefile); \
-	if [ ! -z "$(XEN_LINUX_CONFIG)" -a -r "$(XEN_LINUX_CONFIG)" ]; then \
-	  cp $(XEN_LINUX_CONFIG) $(CONFIG_FILE); \
-	elif [ -r $(DESTDIR)/boot/config-$(LINUX_VER3)$$CONFIG_VERSION$(EXTRAVERSION) ] ; then \
-	  cp $(DESTDIR)/boot/config-$(LINUX_VER3)$$CONFIG_VERSION$(EXTRAVERSION) $(CONFIG_FILE) ; \
-        elif [ -e $(LINUX_SRCDIR)/buildconfigs/create_config.sh ] ; then \
-	  cd $(LINUX_SRCDIR) && sh buildconfigs/create_config.sh \
-		$(CONFIG_FILE) $(EXTRAVERSION) $(XEN_TARGET_ARCH) $(XEN_SYSTYPE) ; \
-          echo "Configured $(LINUX_DIR) using create_config.sh" ; \
-	elif $(MAKE) -C $(LINUX_SRCDIR) ARCH=$(LINUX_ARCH) defconfig O=$$(/bin/pwd)/$(LINUX_DIR) ; then \
-	  echo "Configured $(LINUX_DIR) using defconfig" ; \
-	else \
-          echo "No configuration method found for this kernel" ; \
-	fi
-ifneq ($(XEN_LINUX_CONFIG_UPDATE),)
-	echo "Updating $(CONFIG_FILE) using $(XEN_LINUX_CONFIG_UPDATE)"
-	sh $(XEN_LINUX_CONFIG_UPDATE) $(CONFIG_FILE)
-endif
-ifeq ($(XEN_TARGET_ARCH),x86_32)
-	sed -e 's!^CONFIG_HIGHMEM4G=y$$!\# CONFIG_HIGHMEM4G is not set!;s!^\# CONFIG_HIGHMEM64G is not set$$!CONFIG_HIGHMEM64G=y!' $(CONFIG_FILE) > $(CONFIG_FILE)- && mv $(CONFIG_FILE)- $(CONFIG_FILE)
-endif
-ifneq ($(EXTRAVERSION),)
-	echo "$(EXTRAVERSION)" >$(LINUX_DIR)/localversion-xen
-endif
-	$(__NONINT_CONFIG) $(MAKE) -C $(LINUX_SRCDIR) ARCH=$(LINUX_ARCH) oldconfig O=$$(/bin/pwd)/$(LINUX_DIR)
-	@set -e ; if [ ! -f $(LINUX_DIR)/Makefile ] ; then \
-	    echo "==================================="; \
-	    echo "oldconfig did not create a Makefile"; \
-	    echo "Generating $(LINUX_DIR)/Makefile   "; \
-	    echo "==================================="; \
-	    ( echo "# Automatically generated: don't edit"; \
-	      echo ""; \
-	      echo "VERSION = 2"; \
-	      echo "PATCHLEVEL = 6"; \
-	      echo ""; \
-	      echo "KERNELSRC    := $(CURDIR)/$(LINUX_SRCDIR)"; \
-	      echo "KERNELOUTPUT := $(CURDIR)/$(LINUX_DIR)"; \
-	      echo ""; \
-	      echo "MAKEFLAGS += --no-print-directory"; \
-	      echo ""; \
-	      echo ".PHONY: all \$$(MAKECMDGOALS)"; \
-	      echo ""; \
-	      echo "all:"; \
-	      echo "	\$$(MAKE) -C \$$(KERNELSRC) O=\$$(KERNELOUTPUT)"; \
-	      echo ""; \
-	      echo "Makefile:;"; \
-	      echo ""; \
-	      echo "\$$(filter-out all Makefile,\$$(MAKECMDGOALS)) %/:"; \
-	      echo "	\$$(MAKE) -C \$$(KERNELSRC) O=\$$(KERNELOUTPUT) \$$@"; \
-	    ) > $(LINUX_DIR)/Makefile ; \
-	fi
-	$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) prepare
-
-.PHONY: prep
-prep: $(LINUX_DIR)/include/linux/autoconf.h
-
-.PHONY: config
-config: CONFIGMODE = menuconfig
-config: $(LINUX_DIR)/include/linux/autoconf.h
-	$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) $(CONFIGMODE)
-
-.PHONY: clean
-clean::
-	[ ! -d $(LINUX_DIR) ] || \
-		$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) clean
-
-.PHONY: delete
-delete: 
-	rm -rf tmp-linux-$(LINUX_VER) $(LINUX_DIR) $(LINUX_SRCDIR)
-
-.PHONY: mrproper
-mrproper:
-	rm -rf $(LINUX_SRCDIR)
-	rm -f linux-$(LINUX_VER).tar.bz2
-
-.PHONY: $(LINUX_SRCDIR)/.force-update
-$(LINUX_SRCDIR)/.force-update:
-	@ :
diff --git a/buildconfigs/mk.linux-2.6-git b/buildconfigs/mk.linux-2.6-git
deleted file mode 100644
index 1a142dd..0000000
--- a/buildconfigs/mk.linux-2.6-git
+++ /dev/null
@@ -1,2 +0,0 @@ 
-LINUX_VER ?= 2.6-git
-include buildconfigs/mk.linux-2.6
diff --git a/buildconfigs/mk.linux-2.6-mm b/buildconfigs/mk.linux-2.6-mm
deleted file mode 100644
index f02e864..0000000
--- a/buildconfigs/mk.linux-2.6-mm
+++ /dev/null
@@ -1,2 +0,0 @@ 
-LINUX_VER ?= 2.6-mm
-include buildconfigs/mk.linux-2.6
diff --git a/buildconfigs/mk.linux-2.6-native b/buildconfigs/mk.linux-2.6-native
deleted file mode 100644
index c7c0949..0000000
--- a/buildconfigs/mk.linux-2.6-native
+++ /dev/null
@@ -1,5 +0,0 @@ 
-EXTRAVERSION = -native
-IMAGE_TARGET = bzImage
-INSTALL_BOOT_PATH = $(DESTDIR)/boot
-
-include buildconfigs/mk.linux-2.6-common
diff --git a/buildconfigs/mk.linux-2.6-pvops b/buildconfigs/mk.linux-2.6-pvops
deleted file mode 100644
index 59cae79..0000000
--- a/buildconfigs/mk.linux-2.6-pvops
+++ /dev/null
@@ -1,17 +0,0 @@ 
-XEN_LINUX_SOURCE ?= git-clone
-LINUX_VER ?= 2.6-pvops
-
-IMAGE_TARGET ?= bzImage
-
-XEN_LINUX_CONFIG_UPDATE := buildconfigs/enable-xen-config
-
-ifeq ($(GIT_HTTP),y)
-XEN_LINUX_GIT_URL ?= http://www.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git
-else
-XEN_LINUX_GIT_URL ?= git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git
-endif
-XEN_LINUX_GIT_REMOTEBRANCH ?= xen/stable-2.6.32.x
-
-EXTRAVERSION ?=
-
-include buildconfigs/mk.linux-2.6-common
diff --git a/buildconfigs/mk.linux-2.6-rc b/buildconfigs/mk.linux-2.6-rc
deleted file mode 100644
index 34f4513..0000000
--- a/buildconfigs/mk.linux-2.6-rc
+++ /dev/null
@@ -1,2 +0,0 @@ 
-LINUX_VER ?= 2.6-rc
-include buildconfigs/mk.linux-2.6
diff --git a/buildconfigs/mk.linux-2.6-tip b/buildconfigs/mk.linux-2.6-tip
deleted file mode 100644
index 0588ad2..0000000
--- a/buildconfigs/mk.linux-2.6-tip
+++ /dev/null
@@ -1,2 +0,0 @@ 
-LINUX_VER ?= 2.6-tip
-include buildconfigs/mk.linux-2.6
diff --git a/buildconfigs/mk.linux-2.6-tip-latest b/buildconfigs/mk.linux-2.6-tip-latest
deleted file mode 100644
index 2a0b9af..0000000
--- a/buildconfigs/mk.linux-2.6-tip-latest
+++ /dev/null
@@ -1,17 +0,0 @@ 
-XEN_LINUX_SOURCE ?= git-clone
-LINUX_VER ?= 2.6-x86-latest
-
-IMAGE_TARGET ?= bzImage vmlinux
-
-XEN_LINUX_CONFIG_UPDATE := buildconfigs/enable-xen-config
-
-ifeq ($(GIT_HTTP),y)
-XEN_LINUX_GIT_URL ?= http://www.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip.git
-else
-XEN_LINUX_GIT_URL ?= git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip.git
-endif
-XEN_LINUX_GIT_REMOTEBRANCH ?= auto-latest
-
-EXTRAVERSION ?=
-
-include buildconfigs/mk.linux-2.6-common
diff --git a/buildconfigs/mk.linux-2.6-xen b/buildconfigs/mk.linux-2.6-xen
deleted file mode 100644
index 8594b55..0000000
--- a/buildconfigs/mk.linux-2.6-xen
+++ /dev/null
@@ -1,6 +0,0 @@ 
-EXTRAVERSION ?= -xen
-LINUX_VER    ?= 2.6.18
-
-XEN_LINUX_SOURCE ?= hg-clone
-
-include buildconfigs/mk.linux-2.6-common
diff --git a/buildconfigs/mk.linux-2.6-xen0 b/buildconfigs/mk.linux-2.6-xen0
deleted file mode 100644
index 96a5712..0000000
--- a/buildconfigs/mk.linux-2.6-xen0
+++ /dev/null
@@ -1,2 +0,0 @@ 
-EXTRAVERSION = -xen0
-include buildconfigs/mk.linux-2.6-xen
diff --git a/buildconfigs/mk.linux-2.6-xenU b/buildconfigs/mk.linux-2.6-xenU
deleted file mode 100644
index 02f3e07..0000000
--- a/buildconfigs/mk.linux-2.6-xenU
+++ /dev/null
@@ -1,2 +0,0 @@ 
-EXTRAVERSION = -xenU
-include buildconfigs/mk.linux-2.6-xen
diff --git a/buildconfigs/select-linux-arch b/buildconfigs/select-linux-arch
deleted file mode 100755
index a5d0856..0000000
--- a/buildconfigs/select-linux-arch
+++ /dev/null
@@ -1,30 +0,0 @@ 
-#!/bin/sh
-
-ME=$(basename $0)
-
-if [ $# -lt 1 ] || [ $# -gt 2 ] ; then
-    echo "usage: $ME <linux-build-directory>" 1>&2
-    exit 1;
-fi
-
-LINUX_DIR=$1
-
-case ${XEN_TARGET_ARCH} in
-    x86_32|x86_64)
-	if [ -d ${LINUX_DIR}/arch/x86 ] ; then
-	    ARCH=x86
-	elif [ "${XEN_TARGET_ARCH}" = "x86_32" ] ; then
-	    ARCH=i386
-	else
-	    ARCH=x86_64
-	fi
-	;;
-    *)
-	ARCH=${XEN_TARGET_ARCH}
-	;;
-esac
-
-echo "$ME: ${ARCH}" 1>&2
-echo ${ARCH}
-
-exit 0
diff --git a/buildconfigs/select-linux-image b/buildconfigs/select-linux-image
deleted file mode 100755
index 07899f8..0000000
--- a/buildconfigs/select-linux-image
+++ /dev/null
@@ -1,33 +0,0 @@ 
-#!/bin/sh
-
-ME=$(basename $0)
-
-if [ $# -lt 3 ] ; then
-    echo "usage: $ME <linux-build-directory> <linux-arch> <linux-targets...>" 1>&2
-    exit 1;
-fi
-
-LINUX_DIR=$1
-LINUX_ARCH=$2
-LINUX_TARGET=$3 # We don't care about second and subsequent targets
-
-case ${XEN_TARGET_ARCH} in
-    ia64)
-	IMAGE=${LINUX_DIR}/arch/ia64/hp/sim/boot/vmlinux.gz
-	;;
-    *)
-	if [ -f ${LINUX_DIR}/arch/${LINUX_ARCH}/boot/${LINUX_TARGET} ] ; then
-	    IMAGE=${LINUX_DIR}/arch/${LINUX_ARCH}/boot/${LINUX_TARGET}
-	elif [ -f ${LINUX_DIR}/${LINUX_TARGET} ] ; then
-	    IMAGE=${LINUX_DIR}/${LINUX_TARGET}
-	else
-	    echo "$ME: cannot determine Linux image to use for ${LINUX_ARCH} in ${LINUX_DIR}" 1>&2
-	    exit 1
-	fi
-	;;
-esac
-
-echo "$ME: ${IMAGE}" 1>&2
-echo ${IMAGE}
-
-exit 0
diff --git a/buildconfigs/select-repository b/buildconfigs/select-repository
deleted file mode 100755
index 48ae00f..0000000
--- a/buildconfigs/select-repository
+++ /dev/null
@@ -1,69 +0,0 @@ 
-#!/bin/sh
-
-ME=$(basename $0)
-
-if [ $# -lt 1 ] || [ $# -gt 2 ] ; then
-    echo "usage: $ME <repository-name> [search-path]" 1>&2
-    exit 1;
-fi
-
-REPO=$1
-LINUX_SRC_PATH=$2
-
-if [ X"${LINUX_SRC_PATH}" != X ] ; then
-    echo "$ME: Searching \`${LINUX_SRC_PATH}' for $REPO" 1>&2
-    IFS_saved="$IFS"
-    IFS=:
-    for i in $LINUX_SRC_PATH ; do
-	# Ignore current directory since we will almost certainly find
-	# the target directory there which breaks updating (there's no
-	# point updating from yourself!).
-	if [ X"." = X"${i}" ] ; then
-	    echo "$ME: Ignoring \`.'" 1>&2
-	    continue
-	fi
-
-	if [ -d "$i/$REPO/.hg" ] ; then
-	    echo "$ME: Found $i/$REPO" 1>&2
-	    echo "$i/$REPO"
-	    exit 0
-	fi
-    done
-    IFS="$IFS_saved"
-fi
-
-if [ -d ${XEN_ROOT}/.hgxxx ] ; then
-    XEN=$(hg -R ${XEN_ROOT} path default)
-    if [ $? -ne 0 ] || [ X"$XEN" = "X" ] ; then
-	echo "$ME: Unable to determine Xen repository parent." 1>&2
-	exit 1;
-    fi
-
-    BASE=$(dirname ${XEN})
-    if [ $? -ne 0 ] || [ X"$BASE" = "X" ] ; then
-	echo "$ME: Unable to determine Xen repository base." 1>&2
-	exit 1;
-    fi
-    if [ -d "$XEN" ] && [ ! -d "$BASE/$REPO" ] ; then
-	echo "$ME: No such dir: $BASE/$REPO" 1>&2
-	exit 1
-    fi
-
-    echo "$ME: Found ${BASE}/${REPO}" 1>&2
-
-    # If ${BASE}/${REPO} is a local directory then prepend file:// so that
-    # the test in src.hg-clone will fail and we will clone instead of
-    # linking this repository. We only want to link repositories which
-    # were found via LINUX_SRC_PATH.
-    if [ -d "${BASE}/${REPO}" ] ; then
-	echo "file://${BASE}/${REPO}"
-    else
-	echo ${BASE}/${REPO}
-    fi
-else
-    echo "Unable to determine path to Linux source tree." 1>&2
-    echo "Falling back to linux-2.6.18-xen Mercurial repository." 1>&2
-    echo http://xenbits.xen.org/linux-2.6.18-xen.hg
-fi
-
-exit 0
diff --git a/buildconfigs/src.git-clone b/buildconfigs/src.git-clone
deleted file mode 100644
index 35865e1..0000000
--- a/buildconfigs/src.git-clone
+++ /dev/null
@@ -1,32 +0,0 @@ 
-# Mercurial
-GIT ?= git
-
-LINUX_SRCDIR ?= linux-$(LINUX_VER).git
-
-# The URL of the remote GIT repository
-ifeq ($(XEN_LINUX_GIT_URL),)
-.ERROR: XEN_LINUX_GIT_URL not specified
-endif
-
-# The branch in the remote repository
-ifeq ($(XEN_LINUX_GIT_REMOTEBRANCH),)
-.ERROR: XEN_LINUX_GIT_REMOTEBRANCH not specified
-endif
-
-XEN_GIT_ORIGIN ?= xen
-
-XEN_LINUX_GIT_LOCALBRANCH ?= $(XEN_LINUX_GIT_REMOTEBRANCH)
-
-# Set XEN_LINUX_GITREV to update to a particlar revision.
-XEN_LINUX_GITREV  ?= $(XEN_GIT_ORIGIN)/$(XEN_LINUX_GIT_REMOTEBRANCH)
-
-$(LINUX_SRCDIR)/.valid-src: $(__XEN_LINUX_UPDATE)
-	set -ex; \
-	if ! [ -d $(LINUX_SRCDIR) ]; then \
-		rm -rf $(LINUX_SRCDIR) $(LINUX_SRCDIR).tmp; \
-		mkdir $(LINUX_SRCDIR).tmp; rmdir $(LINUX_SRCDIR).tmp; \
-		$(GIT) clone -o $(XEN_GIT_ORIGIN) -n $(XEN_LINUX_GIT_URL) $(LINUX_SRCDIR).tmp; \
-		(cd $(LINUX_SRCDIR).tmp; git checkout -b $(XEN_LINUX_GIT_LOCALBRANCH) $(XEN_LINUX_GITREV) ); \
-		mv $(LINUX_SRCDIR).tmp $(LINUX_SRCDIR); \
-	fi
-	touch $@
diff --git a/buildconfigs/src.hg-clone b/buildconfigs/src.hg-clone
deleted file mode 100644
index 0586bc8..0000000
--- a/buildconfigs/src.hg-clone
+++ /dev/null
@@ -1,32 +0,0 @@ 
-# Mercurial
-HG ?= hg
-
-LINUX_SRCDIR ?= linux-$(LINUX_VER)-xen.hg
-
-# Repository to clone.
-XEN_LINUX_HGREPO ?= $$(sh buildconfigs/select-repository $(LINUX_SRCDIR) $(LINUX_SRC_PATH))
-
-# Set XEN_LINUX_HGREV to update to a particlar revision.
-XEN_LINUX_HGREV  ?= tip
-
-$(LINUX_SRCDIR)/.valid-src: $(__XEN_LINUX_UPDATE)
-	set -e ; \
-	if [ ! -e $(LINUX_SRCDIR)/.hg ] ; then \
-	    __repo=$(XEN_LINUX_HGREPO) ; \
-	    if [ -d $${__repo} ] ; then \
-	        echo "Linking $${__repo} to $(LINUX_SRCDIR)." ; \
-	        ln -s $${__repo} $(LINUX_SRCDIR) ; \
-	    else \
-	        echo "Cloning $${__repo} to $(LINUX_SRCDIR)." ; \
-	        $(HG) clone $${__repo#file://} $(LINUX_SRCDIR) ; \
-	    fi ; \
-	else \
-	    __parent=$$($(HG) -R $(LINUX_SRCDIR) path default) ; \
-	    echo "Pulling changes from $${__parent} into $(LINUX_SRCDIR)." ; \
-	    $(HG) -R $(LINUX_SRCDIR) pull $${__parent} ; \
-	fi
-	set -e ; if [ -n "$(XEN_LINUX_HGREV)" ] ; then \
-	    echo "Updating $(LINUX_SRCDIR) to revision $(XEN_LINUX_HGREV)." ; \
-	    ( cd $(LINUX_SRCDIR) && $(HG) update $(XEN_LINUX_HGREV) ); \
-	fi
-	touch $@
diff --git a/buildconfigs/src.tarball b/buildconfigs/src.tarball
deleted file mode 100644
index 2101e1a..0000000
--- a/buildconfigs/src.tarball
+++ /dev/null
@@ -1,19 +0,0 @@ 
-XEN_LINUX_MIRROR ?= http://www.kernel.org/pub/linux/kernel/v2.6/
-XEN_LINUX_TARBALL ?= linux-$(LINUX_VER)-xen.tar.bz2
-
-LINUX_SRCDIR ?= linux-$(LINUX_VER)
-
-KETCHUP ?= python buildconfigs/ketchup
-
-vpath linux-%.tar.bz2 $(LINUX_SRC_PATH)
-
-# download a pristine Linux kernel tarball if there isn't one in LINUX_SRC_PATH
-linux-%.tar.bz2:
-	@echo "Cannot find $@ in path $(LINUX_SRC_PATH)"
-	false wget $(XEN_LINUX_MIRROR)/$@ -O./$@
-
-# XXX create a pristine tree for diff -Nurp convenience
-
-%/.valid-src: $(__XEN_LINUX_UPDATE)
-	$(KETCHUP) -d $(@D) $(LINUX_VER)
-	touch $@ # update timestamp to avoid rebuild
diff --git a/config/Linux.mk b/config/Linux.mk
index 10d84af..b421a1c 100644
--- a/config/Linux.mk
+++ b/config/Linux.mk
@@ -1,8 +1 @@ 
 include $(XEN_ROOT)/config/StdGNU.mk
-
-# You may use wildcards, e.g. KERNELS=*2.6*
-KERNELS ?= 
-
-XKERNELS := $(foreach kernel, $(KERNELS), \
-              $(patsubst buildconfigs/mk.%,%, \
-                $(wildcard buildconfigs/mk.$(kernel))) )
diff --git a/configure b/configure
index c2c724a..d5c8500 100755
--- a/configure
+++ b/configure
@@ -592,7 +592,6 @@  SUBSYSTEMS
 docs
 stubdom
 tools
-kernels
 xen
 subdirs
 host_os
@@ -645,7 +644,6 @@  ac_subst_files=''
 ac_user_opts='
 enable_option_checking
 enable_xen
-enable_kernels
 enable_tools
 enable_stubdom
 enable_docs
@@ -654,7 +652,6 @@  enable_docs
 host_alias
 target_alias'
 ac_subdirs_all='xen
-kernels
 tools
 stubdom
 docs'
@@ -1271,7 +1268,6 @@  Optional Features:
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
   --disable-xen           Disable build and install of xen
-  --disable-kernels       Disable build and install of kernels
   --disable-tools         Disable build and install of tools
   --enable-stubdom        Enable build and install of stubdom
   --disable-docs          Disable build and install of docs
@@ -1891,52 +1887,6 @@  fi
 
 
 
-# Check whether --enable-kernels was given.
-if test "${enable_kernels+set}" = set; then :
-  enableval=$enable_kernels;
-
-if test "x$enableval" = "xyes"; then :
-
-
-kernels=y
-SUBSYSTEMS="$SUBSYSTEMS kernels"
-
-
-else
-
-if test "x$enableval" = "xno"; then :
-
-
-kernels=n
-
-
-fi
-
-fi
-
-
-else
-
-
-kernels=y
-SUBSYSTEMS="$SUBSYSTEMS kernels"
-
-
-fi
-
-
-if test -e "kernels/configure"; then :
-
-if test "x$kernels" = "xy" || test "x$kernels" = "x" ; then
-    subdirs="$subdirs kernels"
-
-fi
-
-fi
-
-
-
-
 # Check whether --enable-tools was given.
 if test "${enable_tools+set}" = set; then :
   enableval=$enable_tools;
diff --git a/configure.ac b/configure.ac
index ce06dad..6c14524 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,6 @@  case "$host_cpu" in
 esac
 
 AX_SUBSYSTEM_DEFAULT_ENABLE([xen])
-AX_SUBSYSTEM_DEFAULT_ENABLE([kernels])
 AX_SUBSYSTEM_DEFAULT_ENABLE([tools])
 AX_SUBSYSTEM_CONDITIONAL([stubdom], $arch_enable_stubdom)
 AX_SUBSYSTEM_DEFAULT_ENABLE([docs])