prompt "Use external kernel tree" if BUILDOPTS
default ""
+config KERNEL_GIT_CLONE_URI
+ string
+ prompt "Enter git repository to clone" if BUILDOPTS
+ default ""
+ help
+ Enter the full git repository path i.e.:
+ git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
+ This will create a git clone of the kernel in your build
+ directory.
+
+
+config KERNEL_GIT_LOCAL_REPOSITORY
+ string
+ prompt "Enter path to local reference repository" if BUILDOPTS
+ default ""
+ help
+ Enter a full pathname to a local reference git repository.
+ In this instance, the --refererence option of git clone will
+ be used thus creating a quick local clone of your repo.
+
source "toolchain/Config.in"
source "target/imagebuilder/Config.in"
# defined in quilt.mk
Kernel/Patch:=$(Kernel/Patch/Default)
ifeq ($(strip $(CONFIG_EXTERNAL_KERNEL_TREE)),"")
-define Kernel/Prepare/Default
+ ifeq ($(strip $(CONFIG_KERNEL_GIT_CLONE_URI)),"")
+ define Kernel/Prepare/Default
bzcat $(DL_DIR)/$(LINUX_SOURCE) | $(TAR) -C $(KERNEL_BUILD_DIR) $(TAR_OPTIONS)
$(Kernel/Patch)
touch $(LINUX_DIR)/.quilt_used
-endef
-else
+ endef
+ else
+ ifeq ($(strip $(CONFIG_KERNEL_GIT_LOCAL_REPOSITORY)),"")
define Kernel/Prepare/Default
+ git clone $(CONFIG_KERNEL_GIT_CLONE_URI) $(LINUX_DIR)
+ endef
+ else
+ define Kernel/Prepare/Default
+ git clone --reference $(CONFIG_KERNEL_GIT_LOCAL_REPOSITORY) $(CONFIG_KERNEL_GIT_CLONE_URI) $(LINUX_DIR)
+ endef
+ endif
+endif
+else
+ define Kernel/Prepare/Default
mkdir -p $(KERNEL_BUILD_DIR)
if [ -d $(LINUX_DIR) ]; then \
rmdir $(LINUX_DIR); \
fi
ln -s $(CONFIG_EXTERNAL_KERNEL_TREE) $(LINUX_DIR)
-endef
+ endef
endif
ifeq ($(KERNEL),2.6)