diff options
author | Felix Fietkau <nbd@openwrt.org> | 2010-07-21 15:18:24 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2010-07-21 15:18:24 +0000 |
commit | fd8142403e749b00e701f1c6831e8fc48f19c374 (patch) | |
tree | 980f3f9e4d23defb20b9f2f3cba7725d2de6a0e9 | |
parent | 91edb990178e3b0266337ebddc7f041c67f1c2fb (diff) | |
download | mtk-20170518-fd8142403e749b00e701f1c6831e8fc48f19c374.zip mtk-20170518-fd8142403e749b00e701f1c6831e8fc48f19c374.tar.gz mtk-20170518-fd8142403e749b00e701f1c6831e8fc48f19c374.tar.bz2 |
add a build system option for collecting all kernel debug information (including modules) in a tarball
SVN-Revision: 22327
-rw-r--r-- | Config.in | 9 | ||||
-rw-r--r-- | include/kernel-build.mk | 14 |
2 files changed, 23 insertions, 0 deletions
@@ -155,6 +155,15 @@ menu "Global build settings" help This removes all ipkg/opkg status data files from the target directory before building the root fs + config COLLECT_KERNEL_DEBUG + bool + prompt "Colllect kernel debug information" + select KERNEL_DEBUG_INFO + default n + help + This collects debugging symbols from the kernel and all compiled modules. + Useful for release builds, so that kernel issues can be debugged offline later. + comment "Kernel build options" config KERNEL_DEBUG_FS diff --git a/include/kernel-build.mk b/include/kernel-build.mk index 7c5d1fb..648e658 100644 --- a/include/kernel-build.mk +++ b/include/kernel-build.mk @@ -44,6 +44,19 @@ define Download/kernel MD5SUM:=$(LINUX_KERNEL_MD5SUM) endef +ifdef CONFIG_COLLECT_KERNEL_DEBUG + define Kernel/CollectDebug + rm -rf $(KERNEL_BUILD_DIR)/debug + mkdir -p $(KERNEL_BUILD_DIR)/debug/modules + $(CP) $(LINUX_DIR)/vmlinux $(KERNEL_BUILD_DIR)/debug/ + -$(CP) \ + $(STAGING_DIR_ROOT)/lib/modules/$(LINUX_VERSION)/* \ + $(KERNEL_BUILD_DIR)/debug/modules/ + $(FIND) $(KERNEL_BUILD_DIR)/debug -type f | $(XARGS) $(KERNEL_CROSS)strip --only-keep-debug + $(TAR) c -C $(KERNEL_BUILD_DIR) debug | bzip2 -c -9 > $(BIN_DIR)/kernel-debug.tar.bz2 + endef +endif + define BuildKernel $(if $(QUILT),$(Build/Quilt)) $(if $(LINUX_SITE),$(call Download,kernel)) @@ -86,6 +99,7 @@ define BuildKernel $(LINUX_DIR)/.image: $(STAMP_CONFIGURED) $(if $(CONFIG_STRIP_KERNEL_EXPORTS),$(KERNEL_BUILD_DIR)/symtab.h) FORCE $(Kernel/CompileImage) + $(Kernel/CollectDebug) touch $$@ mostlyclean: FORCE |