# HG changeset patch
# User ack@xxxxxxxxxxxxxxxxxxxxx
# Node ID 84ff152efb0aa9252df4dccd4e9e539569f9f55d
# Parent cebedeefbfbd7114292cc55c5dbeff44b8b30bd5
Add linux config update script and native linux build.
Update script generates linux config files from others, reducing
the burden of maintaining multiple parallel files.
Signed-off-by: Emmanuel Ackaouy <ack@xxxxxxxxxxxxx>
---
.hgignore | 1
buildconfigs/conf.linux-native/00_xen_to_native | 84 ++++++++++++++++++++++++
buildconfigs/create_config.sh | 50 ++++++++++++++
buildconfigs/mk.linux-2.6-native | 4 +
buildconfigs/mk.linux-2.6-xen | 11 ++-
5 files changed, 146 insertions(+), 4 deletions(-)
diff -r cebedeefbfbd -r 84ff152efb0a .hgignore
--- a/.hgignore Wed Jul 12 11:55:10 2006 +0100
+++ b/.hgignore Wed Jul 12 11:58:40 2006 +0100
@@ -54,6 +54,7 @@
^extras/mini-os/h/xen-public$
^extras/mini-os/mini-os\..*$
^install/.*$
+^linux-[^/]*-native/.*$
^linux-[^/]*-xen/.*$
^linux-[^/]*-xen0/.*$
^linux-[^/]*-xenU/.*$
diff -r cebedeefbfbd -r 84ff152efb0a buildconfigs/mk.linux-2.6-xen
--- a/buildconfigs/mk.linux-2.6-xen Wed Jul 12 11:55:10 2006 +0100
+++ b/buildconfigs/mk.linux-2.6-xen Wed Jul 12 11:58:40 2006 +0100
@@ -4,6 +4,9 @@ EXTRAVERSION ?= xen
EXTRAVERSION ?= xen
LINUX_DIR = linux-$(LINUX_VER)-$(EXTRAVERSION)
+
+IMAGE_TARGET ?= vmlinuz
+INSTALL_BOOT_PATH ?= $(DESTDIR)
LINUX_VER3 := $(LINUX_SERIES).$(word 3, $(subst ., ,$(LINUX_VER)))
@@ -16,8 +19,9 @@ build: $(LINUX_DIR)/include/linux/autoco
$(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=$(LINUX_ARCH) INSTALL_PATH=$(DESTDIR)
vmlinuz
- $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) INSTALL_PATH=$(DESTDIR)
install
+ $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) INSTALL_PATH=$(DESTDIR)
$(IMAGE_TARGET)
+ 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)
@@ -29,8 +33,7 @@ build: $(LINUX_DIR)/include/linux/autoco
CONFIG_VERSION=$$(sed -ne 's/^EXTRAVERSION = //p'
$(LINUX_DIR)/Makefile); \
[ -r
$(DESTDIR)/boot/config-$(LINUX_VER3)$$CONFIG_VERSION-$(EXTRAVERSION) ] && \
cp
$(DESTDIR)/boot/config-$(LINUX_VER3)$$CONFIG_VERSION-$(EXTRAVERSION)
$(LINUX_DIR)/.config \
- || cp
buildconfigs/linux-defconfig_$(EXTRAVERSION)_$(XEN_TARGET_ARCH)$(XEN_SYSTYPE) \
- $(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
diff -r cebedeefbfbd -r 84ff152efb0a
buildconfigs/conf.linux-native/00_xen_to_native
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/buildconfigs/conf.linux-native/00_xen_to_native Wed Jul 12 11:58:40
2006 +0100
@@ -0,0 +1,84 @@
+# Linux kernel version: 2.6.16.13-native
+# Mon May 15 10:59:54 2006
+#
+CONFIG_X86_PC=y
+# CONFIG_X86_XEN is not set
+# CONFIG_HPET_TIMER is not set
+# CONFIG_SCHED_SMT is not set
+# CONFIG_X86_MCE is not set
+# CONFIG_X86_MSR is not set
+# CONFIG_SWIOTLB is not set
+# CONFIG_EDD is not set
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_SPARSEMEM_STATIC=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+# CONFIG_HIGHPTE is not set
+# CONFIG_MATH_EMULATION is not set
+# CONFIG_EFI is not set
+CONFIG_IRQBALANCE=y
+# CONFIG_KEXEC is not set
+CONFIG_DOUBLEFAULT=y
+CONFIG_PM_LEGACY=y
+# CONFIG_PM_DEBUG is not set
+# CONFIG_SOFTWARE_SUSPEND is not set
+CONFIG_SUSPEND_SMP=y
+CONFIG_ACPI_SLEEP=y
+CONFIG_ACPI_SLEEP_PROC_FS=y
+# CONFIG_ACPI_SLEEP_PROC_SLEEP is not set
+CONFIG_X86_PM_TIMER=y
+# APM (Advanced Power Management) BIOS Support
+#
+# CONFIG_APM is not set
+
+#
+CONFIG_PCI_BIOS=y
+# CONFIG_XEN_PCIDEV_FRONTEND is not set
+# CONFIG_XEN_PCIDEV_FE_DEBUG is not set
+# CONFIG_PCI_MSI is not set
+# CONFIG_ISA is not set
+# CONFIG_MCA is not set
+# CONFIG_HOTPLUG_PCI_COMPAQ is not set
+# CONFIG_HOTPLUG_PCI_IBM is not set
+# CONFIG_I2O_EXT_ADAPTEC_DMA64 is not set
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_TCG_XEN is not set
+# CONFIG_HUGETLBFS is not set
+# CONFIG_XEN is not set
+# CONFIG_XEN_INTERFACE_VERSION is not set
+
+#
+# XEN
+#
+# CONFIG_XEN_PRIVILEGED_GUEST is not set
+# CONFIG_XEN_UNPRIVILEGED_GUEST is not set
+# CONFIG_XEN_BACKEND is not set
+# CONFIG_XEN_PCIDEV_BACKEND is not set
+# CONFIG_XEN_PCIDEV_BACKEND_VPCI is not set
+# CONFIG_XEN_PCIDEV_BACKEND_PASS is not set
+# CONFIG_XEN_PCIDEV_BE_DEBUG is not set
+# CONFIG_XEN_BLKDEV_BACKEND is not set
+# CONFIG_XEN_BLKDEV_TAP_BE is not set
+# CONFIG_XEN_NETDEV_BACKEND is not set
+# CONFIG_XEN_NETDEV_PIPELINED_TRANSMITTER is not set
+# CONFIG_XEN_NETDEV_LOOPBACK is not set
+# CONFIG_XEN_TPMDEV_BACKEND is not set
+# CONFIG_XEN_BLKDEV_FRONTEND is not set
+# CONFIG_XEN_NETDEV_FRONTEND is not set
+# CONFIG_XEN_BLKDEV_TAP is not set
+# CONFIG_XEN_SCRUB_PAGES is not set
+# CONFIG_XEN_DISABLE_SERIAL is not set
+# CONFIG_XEN_SYSFS is not set
+# CONFIG_XEN_COMPAT_030002_AND_LATER is not set
+# CONFIG_XEN_COMPAT_LATEST_ONLY is not set
+# CONFIG_XEN_COMPAT_030002 is not set
+# CONFIG_HAVE_ARCH_ALLOC_SKB is not set
+# CONFIG_HAVE_ARCH_DEV_ALLOC_SKB is not set
+# CONFIG_NO_IDLE_HZ is not set
+CONFIG_X86_HT=y
+# CONFIG_X86_NO_TSS is not set
+# CONFIG_X86_NO_IDT is not set
diff -r cebedeefbfbd -r 84ff152efb0a buildconfigs/create_config.sh
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/buildconfigs/create_config.sh Wed Jul 12 11:58:40 2006 +0100
@@ -0,0 +1,50 @@
+#!/bin/sh
+set -e
+
+
+# Parse arguments
+#
+if [ $# -lt 1 -o $# -gt 4 ]; then
+ echo "Usage: $0 config-file EXTRAVERSION XEN_TARGET_ARCH XEN_SYSTYPE"
+ exit 1
+fi
+
+config_file=$1
+extraversion=$2
+target_arch=$3
+systype=$4
+
+
+# Start with initial config skeleton file, if any.
+# Derive from linux-defconfig_xen_x86_32 otherwise.
+#
+skeleton=buildconfigs/linux-defconfig_${extraversion}_${target_arch}${systype}
+[ -r $skeleton ] || skeleton=buildconfigs/linux-defconfig_xen_x86_32
+cp $skeleton $config_file
+
+
+# Update
+#
+filter_template="s/^#\{0,1\} *\(CONFIG[^= ]*\).*/\/^#\\\{0,1\\\} *\1[=
].*\/d/p"
+config_dirs="buildconfigs/conf.linux buildconfigs/conf.linux-${target_arch}
buildconfigs/conf.linux-${extraversion}
buildconfigs/conf.linux-${target_arch}-${extraversion}"
+
+for config_dir in $config_dirs
+do
+ if [ -d $config_dir ]; then
+ # processing is done in alphanumeric order
+ find $config_dir -type f | sort | while read update
+ do
+ # create the filter rules in a temp file
+ filter_rules=`mktemp -t xenupdateconf.XXXXXXXXXX`
+ sed -n "${filter_template}" < $update > $filter_rules
+
+ # filter the config file in place, removing any options that
+ # will be updated.
+ sed -f $filter_rules -i $config_file
+ cat $update >> $config_file
+
+ # clean up
+ rm -f $filter_rules
+ done
+ fi
+done
diff -r cebedeefbfbd -r 84ff152efb0a buildconfigs/mk.linux-2.6-native
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/buildconfigs/mk.linux-2.6-native Wed Jul 12 11:58:40 2006 +0100
@@ -0,0 +1,4 @@
+EXTRAVERSION = native
+IMAGE_TARGET = bzImage
+INSTALL_BOOT_PATH = $(DESTDIR)/boot
+include buildconfigs/mk.linux-2.6-xen
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|