1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-11-27 19:03:08 +02:00

merge the kernel debug collect option from r22327

git-svn-id: svn://svn.openwrt.org/openwrt/branches/backfire@22332 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
nbd 2010-07-21 16:06:24 +00:00
parent 3108bf3e57
commit c4d4283510
2 changed files with 23 additions and 0 deletions

View File

@ -155,6 +155,15 @@ menu "Global build settings"
help help
This removes all ipkg/opkg status data files from the target directory before building the root fs 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" comment "Kernel build options"
config KERNEL_DEBUG_FS config KERNEL_DEBUG_FS

View File

@ -44,6 +44,19 @@ define Download/kernel
MD5SUM:=$(LINUX_KERNEL_MD5SUM) MD5SUM:=$(LINUX_KERNEL_MD5SUM)
endef 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 define BuildKernel
$(if $(QUILT),$(Build/Quilt)) $(if $(QUILT),$(Build/Quilt))
$(if $(LINUX_SITE),$(call Download,kernel)) $(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 $(LINUX_DIR)/.image: $(STAMP_CONFIGURED) $(if $(CONFIG_STRIP_KERNEL_EXPORTS),$(KERNEL_BUILD_DIR)/symtab.h) FORCE
$(Kernel/CompileImage) $(Kernel/CompileImage)
$(Kernel/CollectDebug)
touch $$@ touch $$@
mostlyclean: FORCE mostlyclean: FORCE