本文共 941 字,大约阅读时间需要 3 分钟。
2.6.38内核打kdb patch
对2.6版本来说,Kdb官方patch只支持到2.6.33。相比2.6.33来说,2.6.38版本已经做了很大调整,目录树与3.1版本近似,因此采用3.1的版本来patch。
Patch文件对应kdb-v4.4-3.1-common-1
kdb-v4.4-3.1-x86-1
在patch kdb-v4.4-3.1-common-1 时,需要进行如下修改:
将Include/linux/kdb.h 的#include <asm/atomic.h>修改为
#include <linux/atomic.h>
Patch完之后再修改回来。
然后patch kdb-v4.4-3.1-x86-1
2.6.38和3.1版本还是有些差别,在编译过程中会出现错误
CC[M] kdb/modules/kdbm_vm.o
kdb/modules/kdbm_vm.c: In function'kdbm_fl':
kdb/modules/kdbm_vm.c:819:13: error: 'conststruct file_lock_operations' has no member named 'lm_copy_lock'
kdb/modules/kdbm_vm.c:819:38: error: 'conststruct file_lock_operations' has no member named 'lm_release_private'
make[2]: *** [kdb/modules/kdbm_vm.o] Error1
make[1]: *** [kdb/modules] Error 2
make: *** [kdb] Error 2
这是结构体的变量命名修改
只需将lm改为fl,
lkdb_printf("\n fl_copy_lock = 0x%p fl_release_private =0x%p\n", | ~
fl.fl_ops->fl_copy_lock, fl.fl_ops->fl_release_private);
突然发现一个debug_info_name,貌似kdb patch 3.1 增加新功能,进去看一下
转载地址:http://jijhb.baihongyu.com/