设备驱动程序编程-Linux2.6.10-kdb安装-32位

复制代码
[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"/' .config

check

复制代码
[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 ~]# 
相关推荐
Elastic 中国社区官方博客1 小时前
谁来评判评判者?在 Elasticsearch Workflows 中使用 LLM-as-a-Judge
大数据·运维·人工智能·elasticsearch·搜索引擎·ai·全文检索
dddwjzx1 小时前
嵌入式Linux C应用编程入门——进程 ( 二 )
linux·嵌入式
坐望云起2 小时前
FFmpeg.wasm 纯浏览器端视频压缩与格式转换实战:零服务器、零上传、100% 隐私
服务器·ffmpeg·wasm
SSO_Crown2 小时前
AI 招聘管理系统深度评测与选型指南
大数据·运维·人工智能
cft56200_ln2 小时前
gPTP Master 报文目的 MAC 地址
运维·服务器·网络
jieyucx3 小时前
【系统安全铁律】解密 Linux 权限三色数字密码:chmod 最小化赋权与生产环境避坑指南
linux·安全·系统安全·权限·chmod·777
AOwhisky4 小时前
Linux(CentOS)系统管理入门笔记(第四期)——文件系统(下篇):文件与目录操作实战——cpmvmkdirrmln
linux·运维·笔记·centos·云计算·文件系统
岑梓铭4 小时前
考研408《操作系统》复习笔记,第四章《4.2.2 文件操作、文件共享、文件保护》
linux·考研·操作系统·文件系统·408
Mr.HeBoYan4 小时前
DPDK为什么越来越少使用rte_ring?——从Lock-Free到Run-to-Completion,重新理解现代DPDK架构演进(上)
linux·网络·算法·性能优化·架构·dpdk