mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-12-24 05:11:46 +02:00
add a build system option for collecting all kernel debug information (including modules) in a tarball
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22327 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
b80f2ac036
commit
7b7e4702ef
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user