uos-1060 kgdb 修复
修复代码
将x86-kernel
分支4.19-rc8
中的kernel/debug
目录、include/linux/sysrq.h
、drivers/tty/sysrq.c
覆盖4.19内核 6026
对应位置文件。
编译过程中会遇到include/linux/security2.h
中的void security_set_audit_started(int started)
重复定义,注释掉154-156行即可。
涉及到的源码
4.19-rc8
对应commit id:35a7f35ad1b1
4.19内核 6026
对应commit id:69a08e713fb2
生成patch
1 git format-patch -1 c907106159ca -o kgdb_not_work.patch
patch下载地址:kgdb_not_work.patch
应用patch
先检查patch文件:
1 git apply --stat kgdb_not_work.patch
检查能否应用成功:
1 git apply --check kgdb_not_work.patch
打补丁:
1 git am --signoff < kgdb_not_work.patch
内核kgdb编译选项
kgdb相关
1 2 3 4 5 CONFIG_KGDB = y # 加入KGDB支持 CONFIG_KGDB_SERIAL_CONSOLE = y # 使KGDB通过串口与主机通信(打开这个选项,默认会打开CONFIG_CONSOLE_POLL和CONFIG_MAGIC_SYSRQ) CONFIG_KGDB_KDB = y # 加入KDB支持 CONFIG_DEBUG_KERNEL = y #包含驱动调试信息 CONFIG_DEBUG_INFO = y # 使内核包含基本调试信息
vmlinux-gdb.py相关
1 CONFIG_GDB_SCRIPTS = y # gdb脚本
关闭内核随机地址选项
1 CONFIG_RANDOMIZE_BASE = n
编译内核deb包
1 make bindeb-pkg -j`expr $(nproc ) / 2`