设备驱动程序编程-Linux2.6.10-kdb安装-32位
📅 2026/7/8 23:42:48
👁️ 阅读次数
📝 编程学习
[root@tom linux-2.6.10-kdb]# uname -m i686 [root@tom linux-2.6.10-kdb]#命名下
sed -i 's/^CONFIG_LOCALVERSION=.*/CONFIG_LOCALVERSION="-kdb"/' .configcheck
[root@tom linux-2.6.10-kdb]# grep "^CONFIG_LOCALVERSION" .config CONFIG_LOCALVERSION="-kdb" [root@tom linux-2.6.10-kdb]# make kernelrelease make: *** No rule to make target `kernelrelease'. Stop. [root@tom linux-2.6.10-kdb]# grep UTS_RELEASE include/linux/version.h grep: include/linux/version.h: No such file or directory [root@tom linux-2.6.10-kdb]# head -n 10 Makefile | grep -E "^(VERSION|PATCHLEVEL|SUBLEVEL|EXTRAVERSION)" VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 10 EXTRAVERSION = [root@tom linux-2.6.10-kdb]#编译适配
#ifdef CONFIG_KPROBES fastcall int do_int3(struct pt_regs *regs, long error_code) { #ifdef CONFIG_KDB if (kdb(KDB_REASON_BREAK, error_code, regs)) return 1; /* KDB 已处理,返回 */ #endif if (notify_die(DIE_INT3, "int3", regs, error_code, 3, SIGTRAP) == NOTIFY_STOP) return 1; restore_interrupts(regs); do_trap(3, SIGTRAP, "int3", 1, regs, error_code, NULL); return 0; } #endif编译完成
LD [M] sound/synth/snd-util-mem.ko LD [M] sound/usb/snd-usb-audio.ko LD [M] sound/usb/snd-usb-lib.ko LD [M] sound/usb/usx2y/snd-usb-usx2y.ko [root@tom linux-2.6.10-kdb]# head -n 10 Makefile | grep -E "^(VERSION|PATCHLEVEL|SUBLEVEL|EXTRAVERSION)" VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 10 EXTRAVERSION = [root@tom linux-2.6.10-kdb]# grep UTS_RELEASE include/linux/version.h #define UTS_RELEASE "2.6.10-kdb" [root@tom linux-2.6.10-kdb]#调试
[root@tom ~]# echo t > /proc/sysrq-trigger #控制台有输出 sysrq功能ok [root@tom ~]# grep -i kdb /proc/kallsyms | head -10 c0103e80 T kdb_call c01062d0 T kdba_irq_ctx_type c0116170 T smp_kdb_stop c0120c50 T kdb_cpu_curr c0123270 T kdb_syslog_data c012a6d0 t proc_do_kdb c012fdc0 T kdb_send_sig_info c013cc40 T kdb_walk_kallsyms c0154200 T kdb_follow_page c015d0b0 T kdb_si_swapinfo [root@tom ~]# dmesg | grep -i kdb Linux version 2.6.10-kdb (root@tom.turing) (gcc version 3.4.6) #2 SMP Mon Jul 6 11:55:21 CST 2026 Kernel command line: ro root=LABEL=/ selinux=0 kdb=on kdb version 4.4 by Keith Owens, Scott Lurndal. Copyright SGI, All Rights Reserved inserting floppy driver for 2.6.10-kdb [root@tom ~]# ls -l /proc/sys/kernel/kdb -rw-r--r-- 1 root root 0 Jul 6 12:08 /proc/sys/kernel/kdb [root@tom ~]# cat /proc/sys/kernel/kdb 1 [root@tom ~]# find /sys -name "*kdb*" 2>/dev/null [root@tom ~]# grep CONFIG_KDB_SYSRQ b binutils-2.16.1/ binutils-2.16.1.tar.bz2 build_linux/ [root@tom ~]# grep CONFIG_KDB_SYSRQ build_linux/linux-2.6.10-kdb/.config [root@tom ~]#
编程学习
技术分享
实战经验