uos-1060 kgdb 修复

本文最后更新于:2023年8月11日 下午

uos-1060 kgdb 修复

修复代码

x86-kernel 分支4.19-rc8中的kernel/debug目录、include/linux/sysrq.hdrivers/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`

uos-1060 kgdb 修复
https://realwujing.github.io/linux/kernel/sysrq_trigger/uos-1060 kgdb 修复/
作者
Wu Jing
发布于
2023年7月11日
许可协议